You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2006/02/05 18:53:37 UTC

DO NOT REPLY [Bug 35703] - [tiles] TilesUtilImpl doInclude() should call TilesRequestProcessor doInclude()... but it doesn't

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=35703>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=35703





------- Additional Comments From patrick.sard@free.fr  2006-02-05 18:53 -------
Created an attachment (id=17596)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=17596&action=view)
simple Web App to demonstrate the issue raised by this bug report and the
purpose of the patch proposed

Attached is a simple web app to demonstrate both the issue raised by this bug
report and the purpose of the patch proposed.

You just need to unzip the webapp under your favorite workspace directory and
have Tomcat point at it or deploy it under Tomcat directly it's as you prefer.

There are 2 test pages:
- test.jsp in jsp/notiles does not use Tiles (1)
- test.jsp in jsp/tiles uses Tiles (2)

(1) is called through a simple forward action:
 http://localhost:8080/test_bug35703/test_notiles.do 
(2) can be called either through a simple forward action or through Tiles
definitions + a forward in Struts config:
 http://localhost:8080/test_bug35703/test_tiles.do 
 http://localhost:8080/test_bug35703/test_tiles_using_defs.do

The RequestProcessor subclass dummy implementation simply overrides doForward()
and doInclude().
In both of them it prints out some system out and then calls the parent class
method.

Test Phase 1
------------
Using Struts library release 1.2.x (I used 1.2.7 but you can use any 1.2.x
release or 1.1 as well, although you may have to fix struts-config, well at
least the system id).

a) call http://localhost:8080/test_bug35703/test_notiles.do 
Console: 
DemoRequestProcessor::doForward() called for uri=/jsp/tiles/layout/layout.jsp

b) call http://localhost:8080/test_bug35703/test_tiles.do 
Console: 
DemoRequestProcessor::doForward() called for uri=/jsp/tiles/test.jsp

c) call http://localhost:8080/test_bug35703/test_tiles_using_defs.do 
Console: 
DemoRequestProcessor::doForward() called for uri=/jsp/tiles/layout/layout.jsp


Test Phase 2
------------
Using Struts library release 1.2.x patched (with proposed patch)

a) call http://localhost:8080/test_bug35703/test_notiles.do 
Console: 
DemoRequestProcessor::doForward() called for uri=/jsp/tiles/layout/layout.jsp

b) call http://localhost:8080/test_bug35703/test_tiles.do 
Console: 
DemoRequestProcessor::doForward() called for uri=/jsp/tiles/test.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/layout/layout.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/common/header.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/common/menu.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/test/body_test.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/common/footer.jsp

c) call http://localhost:8080/test_bug35703/test_tiles_using_defs.do 
Console: 
DemoRequestProcessor::doForward() called for uri=/jsp/tiles/layout/layout.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/common/header.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/common/menu.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/test/body_test.jsp
DemoRequestProcessor::doInclude() called for uri=/jsp/tiles/common/footer.jsp

Sumary
------
With the Struts 1.2.x library - see Test Phase 1 above - the contract of the
RequestProcessor gets broken (it doesn't get called for any of the tiles).
Whereas with the patched library  - see Test Phase 2 above - the
RequestProcessor doInclude() is being called for EVERY SINGLE tile.

HTH
Patrick


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org