[ 
https://issues.apache.org/struts/browse/WW-2762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44846#action_44846
 ] 

John Norvell commented on WW-2762:
----------------------------------

This appears to be a show-stopper issue with no apparent work around.

What seems to be happening is that the NPE is thrown from the UrlHelper 
whenever a tile JSP page defines a s:form, and one of it's subtile JSP files 
has one or more of the form's  fields.

Here is a simplified test case:

/tiles-test-defs.xml

<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_0.dtd";>

<tiles-definitions>

   <definition name="MainTile" template="/test/main.jsp">
      <put-attribute name="app_title" value="WW-2762" />
      <put-attribute name="subtile" value="/test/subtile.jsp" />
   </definition>

</tiles-definitions>


/main.jsp

<!DOCTYPE html PUBLIC "~//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>

<%@ page contentType="text/html;charset=cp1252" language="java"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles"; prefix="tiles"%>

<html>
        <head>
                <title><tiles:insertAttribute name="app_title" />
                </title>
        </head>
        <body>
                <div id="content_tile">
                        <s:form namespace="/vpn" action="vpnManagement">
                                <tiles:insertAttribute name="subtile" />
                        </s:form>
                </div>
        </body>
</html>


/subtile.jsp

<%@ page contentType="text/html;charset=cp1252" language="java"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles"; prefix="tiles"%>


<s:textfield name="selectedAction" size="12" />



> struts2 nested tiles
> --------------------
>
>                 Key: WW-2762
>                 URL: https://issues.apache.org/struts/browse/WW-2762
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Tiles
>    Affects Versions: 2.0.6
>         Environment: Windows XP Professional, MyEclipse 6.0.1, Struts2, Tiles 
> 2.0.6, J2EE 1.4, JDK 5.0, JBoss 4.2.2 
>            Reporter: Bips Sadhwani
>
> I have this wierd issue with tiles.  Probably its a bug.
> I am trying to insert a tile (a jsp page) into another tile (a jsp page) and 
> so this is my config (simplified):
>      
>     tiles.xml
>     ---------
>      
>     <definition name="rootPage.index" template="layout.jsp">          
>       <put-attribute name="pagetitle" value="Page Body Title" />
>       <put-attribute name="header" value="header.jsp" />
>       <put-attribute name="footer" value="footer.jsp" />
>     </definition>
>      
>     <definition name="searchEmployee.index" extends="rootPage.index"> 
>       <put-attribute name="body" value="searchEmpBody.index" />
>     <definition name="searchEmpBody.index"
>               template="/searchEmployee.jsp"/>
>     </definition>
>      
>     <definition name="status.index" template="/status.jsp">
>     </definition>
>      
>     layout.jsp
>     -----------
>      
>     <body>
>         <div class="container">
>       <div id="header">
>           <tiles:insertAttribute name="header" />
>       </div>  
>       
>       <div id="mainContent">                                  
>               <tiles:insertAttribute name="body" />
>       </div>          
>         </div>
>     </body>
> Now following are the things I try on my searchEmployee.jsp
>      
> searchEmployee.jsp - This works
>     <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
>     <%@ taglib prefix="s" uri="/struts-tags" %>
>      
>     <tiles:insertDefinition name="status.index"/>
> searchEmployee.jsp - This also works
>     <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
>     <%@ taglib prefix="s" uri="/struts-tags" %>
>      
>     <s:form action="listEmployees">
>       <tiles:getAsString name="pagetitle"/>   
>     </s:form>
> searchEmployee.jsp - This does  work (only if I use tiles:insertDefinition 
> below s:form)
>     <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
>     <%@ taglib prefix="s" uri="/struts-tags" %>
>      
>     <s:form action="listEmployees">                   
>     </s:form>
> <tiles:insertDefinition name="status.index"/>
> searchEmployee.jsp - This does NOT work (if I use tiles:insertDefinition 
> above or within s:form things don't work)
>     <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
>     <%@ taglib prefix="s" uri="/struts-tags" %>
>      
>     <s:form action="listEmployees">           
>       <tiles:insertDefinition name="status.index"/>
>     </s:form>
> I get a long exception stack trace which basically says nullptrexception.
> I've done the same thing using tiles1.x and it has always worked.
> Tks

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to