Hello all,

            I have moved my application from Struts 1.1 to Struts 1.3, and I am currently experiencing problems

With Tiles.

Attached are all the files that I was using with Struts 1.1. and the application worked just fine.

I am afraid I don’t have exception stack trace (I had problem with my mail account L  ), however

I was getting  NullPointerException   in pages where there was the tile:insert  tag (such as

classicLayout.jsp)

 

Now, for use with Struts 1.3 I have changed the struts-tiles.tld since I noticed that some classes

Were moved to a different package  (from org.apache.struts.taglib.tiles to org.apache.struts.tiles.taglib)

 

So I have replaced all org.apache.struts.taglib.tiles to org.apache.struts.tiles.taglib, but still when running

My application I got exception.

 

Can anyone spot what’s the problem with tiles? Am I using the correct  struts-tiles.tld?

Do I need additional files?

I tried to put the two logging files mentioned in the Tiles documentation in my \classes directory, but still

I am experiencing same problem.

 

Has anyone succeeded to use tiles with Struts 1.3?

 

Thanks in advance and regars

            marco

 

 

 

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd";>

<struts-config>

  <!-- ========== Data Sources Definitions =================================== -->
  <!--
    Define your Struts data sources in a file called struts-data-sources.xml and place
    it in your merge directory.
  -->

  <!-- ========== Form Bean Definitions =================================== -->
  <form-beans>

       <form-bean name="insertForm"
               type="com.myapp.beans.EntryBean">
      <form-property name="date" type="java.util.Date"/>
      <form-property name="dateString" type="java.lang.String"/>
      <form-property name="amount" type="java.lang.Double"/>
      <form-property name="type" type="java.lang.Integer"/>
      <form-property name="description" type="java.lang.String"/>
      <form-property name="user" type="java.lang.String"/>
      <form-property name="statusMsg" type="java.lang.String"/>
      <form-property name="buttonSelected" type="java.lang.String"/>
    </form-bean>
    <form-bean name="queryForm"
               type="com.myapp.beans.QueryTest">
      <form-property name="queryType" type="java.lang.String[]"/>
      <form-property name="buttonSelected" type="java.lang.String"/>
      <form-property name="type" type="java.lang.Integer"/>
      <form-property name="dateStart" type="java.lang.String"/>
      <form-property name="dateEnd" type="java.lang.String"/>
      <form-property name="start" type="java.util.Date"/>
      <form-property name="end" type="java.util.Date"/>
      <form-property name="result" type="java.util.List"/>
      <form-property name="resultAmount" type="java.lang.Double"/>
      <form-property name="ignoreUser" type="java.lang.Boolean" initial="true"/>
      <form-property name="actualType" type="java.util.List"/>
      <form-property name="statusMsg" type="java.lang.String"/>  
      <form-property name="username" type="java.lang.String"/>
    </form-bean>
   <form-bean name="editForm"
               type="org.apache.struts.action.DynaActionForm">
      <form-property name="date" type="java.util.Date"/>
      <form-property name="dateString" type="java.lang.String"/>
      <form-property name="amount" type="java.lang.Double"/>
      <form-property name="type" type="java.lang.Integer"/>
      <form-property name="description" type="java.lang.String"/>
      <form-property name="user" type="java.lang.String"/>
      <form-property name="statusMsg" type="java.lang.String"/>
      <form-property name="id" type="java.lang.Integer"/> 
      <form-property name="buttonSelected" type="java.lang.String"/>
      <form-property name="sessionid" type="java.lang.String"/>
   </form-bean>

   <form-bean name="stockForm"
               type="org.apache.struts.action.DynaActionForm">
      <form-property name="date" type="java.util.Date"/>
      <form-property name="dateString" type="java.lang.String"/>
      <form-property name="stockPrice" type="java.lang.Double"/>
      <form-property name="company" type="java.lang.String"/>
      <form-property name="text" type="java.lang.String"/>
      <form-property name="stockMove" type="java.lang.Integer"/>
      <form-property name="statusMsg" type="java.lang.String"/>
   </form-bean>
   <form-bean name="queryStock"
              type="org.apache.struts.action.DynaActionForm">
      <form-property name="queryType" type="java.lang.String"/>
      <form-property name="buttonSelected" type="java.lang.String"/>
      <form-property name="name" type="java.lang.String"/>
      <form-property name="dateStart" type="java.lang.String"/>
      <form-property name="dateEnd" type="java.lang.String"/>
      <form-property name="start" type="java.util.Date"/>
      <form-property name="end" type="java.util.Date"/>
      <form-property name="result" type="java.util.List"/>
      <form-property name="resultAmount" type="java.lang.Double"/>
      <form-property name="statusMsg" type="java.lang.String"/>  
    </form-bean>
    <form-bean name="scheduleForm"
               type="org.apache.struts.action.DynaActionForm">
      <form-property name="crondate" type="java.lang.String"/>
      <form-property name="amount" type="java.lang.Double"/>
      <form-property name="type" type="java.lang.Integer"/>
      <form-property name="description" type="java.lang.String"/>
      <form-property name="user" type="java.lang.String"/>
      <form-property name="statusMsg" type="java.lang.String"/>
      <form-property name="buttonSelected" type="java.lang.String"/>
      <form-property name="taskName" type="java.lang.String"/>
      <form-property name="taskGroup" type="java.lang.String"/>
      <form-property name="statusMessage" type="java.lang.String"/>
   </form-bean>

   <form-bean name="loginForm"
            type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="username" type="java.lang.String"/>
      <form-property name="password" type="java.lang.String"/>
      <form-property name="buttonSelected" type="java.lang.String"/>	 	    
   </form-bean>
  </form-beans>

  <!-- ========== Global Exceptions Definitions =================================== -->
  <!--
    Define your exceptions in a file called global-exceptions.xml and place
    it in your merge directory.
  -->

  <!-- ========== Global Forward Definitions =================================== -->
  <global-forwards>

      <!-- This would not be needed if you are only going to use response
           templates specific to each service. -->
      <forward name="defaultWSResponse" path="/WS_DefaultResponse.jsp" />

      <!-- This would not be needed if you are only going to use validation
           failure templates specific to each service. -->
      <forward name="defaultWSValidationFailureResponse" path="/WS_DefaultValidationFailureResponse.jsp" />

      <!-- This would not be needed if you are only going to use exception
           templates specific to each service. -->
      <forward name="defaultWSExceptionResponse" path="/WS_DefaultExceptionResponse.jsp" />

</global-forwards>

  <!-- ========== Action Mapping Definitions =================================== -->
   <action-mappings>
    <action
      path="/insert"
      type="com.myapp.strutschain.action.InsertAction"
      name="insertForm"
      scope="request"
      input="/insert.jsp"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/insert.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/insert.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/modifySetUp"
      type="com.myapp.strutschain.action.ModifySetUpAction"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/populateModifySetUp.do"
        redirect="false"
      />
      <forward
        name="failure"
        path="/modify.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/querySetUp"
      type="com.myapp.strutschain.action.QuerySetUpAction"
      name="queryForm"
      scope="request"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/query.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/query.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/modify"
      type="com.myapp.strutschain.action.ModifyAction"
      name="editForm"
      scope="request"
      input="/modify.jsp"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/modifySetUp.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/query.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/login"
      type="com.myapp.strutschain.action.LoginAction"
      name="loginForm"
      scope="request"
      input="/login.jsp"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/main.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/login.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/delete"
      type="org.springframework.web.struts.DelegatingActionProxy"
      name="editForm"
      scope="request"
      input="/delete.jsp"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/delete.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/delete.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/report"
      type="com.myapp.strutschain.action.ReportAction"
      name="queryForm"
      scope="request"
      input="/report.jsp"
      parameter="buttonSelected"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/testResults.jsp"
        redirect="false"
      />
      <forward
        name="report"
        path="/scheduleReport.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/testResults.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/insertSetUp"
      type="com.myapp.strutschain.action.InsertSetUpAction"
      name="insertForm"
      scope="request"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/insert.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/insert.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/stock"
      type="org.springframework.web.struts.DelegatingActionProxy"
      name="stockForm"
      scope="request"
      input="/stockEntry.jsp"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/stockEntry.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/stockEntry.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/stockNewsSetUp"
      type="com.myapp.strutschain.action.StockNewsSetUpAction"
      name="stockForm"
      scope="request"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/stockEntry.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/stockEntry.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/schedule"
      type="org.springframework.web.struts.DelegatingActionProxy"
      name="scheduleForm"
      scope="request"
      input="/scheduleTask.jsp"
      parameter="buttonSelected"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/scheduleSetUp.do"
        redirect="false"
      />
      <forward
        name="failure"
        path="/scheduleTask.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/populateModifySetUp"
      type="com.myapp.strutschain.action.PopulateModifySetUpAction"
      name="editForm"
      scope="request"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/modify.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/modify.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/query"
      type="com.myapp.strutschain.action.QueryAction"
      name="queryForm"
      scope="session"
      input="/query.jsp"
      parameter="buttonSelected"
      unknown="false"
      validate="true"
    >
      <forward
        name="modify"
        path="/modifySetUp.jsp"
        redirect="false"
      />
      <forward
        name="query"
        path="/query.jsp"
        redirect="false"
      />
      <forward
        name="delete"
        path="/delete.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/queryResults.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/scheduleSetUp"
      type="org.springframework.web.struts.DelegatingActionProxy"
      name="scheduleForm"
      scope="request"
      unknown="false"
      validate="false"
    >
      <forward
        name="view"
        path="/scheduleView.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/scheduleView.jsp"
        redirect="false"
      />
      <forward
        name="create"
        path="/scheduleTask.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/stockQuerySetUp"
      type="com.myapp.strutschain.action.StockQuerySetUpAction"
      name="queryStock"
      scope="request"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/queryStock.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/queryStock.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/deleteSetUp"
      type="com.myapp.strutschain.action.DeleteSetUpAction"
      name="queryForm"
      scope="request"
      unknown="false"
      validate="false"
    >
      <forward
        name="success"
        path="/delete.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/delete.jsp"
        redirect="false"
      />
    </action>
    <action
      path="/queryStock"
      type="org.springframework.web.struts.DelegatingActionProxy"
      name="queryStock"
      scope="session"
      input="/queryStock.jsp"
      parameter="buttonSelected"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/queryStock.jsp"
        redirect="false"
      />
      <forward
        name="failure"
        path="/queryStock.jsp"
        redirect="false"
      />
    </action>

    <!-- If you have non XDoclet actions, define them in a file called struts-actions.xml and place it in your merge directory. -->
  </action-mappings>

   <!-- Define your Struts controller in a file called struts-controller.xml and place it in your merge directory. -->

  <message-resources parameter="resources.ApplicationResources"/>

  <plug-in className="org.apache.struts.tiles.TilesPlugin" >
    <set-property property="definitions-config" 
	                 value="/WEB-INF/struts-config/tiles-defs.xml" />
    <set-property property="moduleAware" value="true" />
</plug-in>

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"
                    value="/WEB-INF/struts-config/validator-rules.xml, /WEB-INF/struts-config/validation.xml"/>
</plug-in>

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
                    value="/WEB-INF/applicationContext.xml"/>
</plug-in>

<plug-in className="net.sf.navigator.menu.MenuPlugIn">
  <set-property property="menuConfig"
    value="/WEB-INF/menu-config.xml"/>
</plug-in>

<!-- This plugin initializes the Web Services handling capabilities. 
  <plug-in className="org.apache.struts.action.WSInit" />-->

</struts-config>
<?xml version="1.0" encoding="ISO-8859-1" ?>

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

<!-- Definitions for Tiles  -->
<!-- 
  This file contains definitions common to all struts module.
  In particular, it contains the main layout and the common menus.
  There is also the main page as a portal.
-->

<tiles-definitions>

  <!-- =======================================================  -->
  <!-- Master definition  									-->
  <!-- =======================================================  -->

  <!-- Doc index page description  -->
  <definition name="doc.mainLayout" path="/layout/classicLayout.jsp">
	  <put name="title"  value="Tiles Library Documentation" />
	  <put name="header" value="/common/header.jsp" />
	  <put name="menu"   value="doc.menu.main" />
	  <put name="footer" value="/common/footer.jsp" />
	  <put name="body"   value="doc.portal.body" />
  </definition>

  <!-- =======================================================  -->
  <!-- Main page body definitions  									-->
  <!-- =======================================================  -->

  <definition name="doc.portal.body" path="/layout/columnsLayout.jsp">
    <put name="numCols" value="2" />
    <putList name="list0" >
      <add value="/doc/portal/welcome.jsp" />
      <add value="/doc/portal/features.jsp" />
      <!--<add value="/doc/portal/todo.jsp" /> -->
      <add value="/doc/portal/documentation.jsp" />
    </putList>
    <putList name="list1" >
      <add value="/doc/portal/news.jsp" />
      <add value="/doc/portal/download.jsp" />
      <add value="/doc/portal/tilesCompsTemplates.jsp" />
      <add value="/doc/portal/strutsIntegration.jsp" />
      <add value="/doc/portal/comments.jsp" />
      <add value="/doc/portal/revisions.jsp" />
    </putList>
  </definition>
  
  <!-- =======================================================  -->
  <!-- Menus definitions  									-->
  <!-- =======================================================  -->

  <!-- Menu bar definition -->
<definition name="doc.menu.main" path="/layouts/vboxLayout.jsp" >
  <putList name="list" >
    <add value="common.menu.home" />
    <add value="common.menu.examples" />
    <add value="common.menu.doc" />
    <!-- <add value="common.menu.printer.friendly" /> -->
  </putList>
</definition>

  <!-- The home menu definition -->
<definition name="common.menu.home" path="/layouts/menu.jsp" >
  <put name="title" value="Tiles" />
  <putList name="items" >
    <item value="Tiles Home"     link="/index.jsp" />
  </putList>
</definition>

  <!-- Printer friendly menu definition -->
<definition name="common.menu.examples" path="/layouts/menu.jsp" >
  <put name="title" value="Examples" />
  <putList name="items" >
    <item value="Home"     link="/examples/index.jsp" />
  </putList>
</definition>

  <!-- Documentation menu definition v1.1-->
<definition name="common.menu.doc" path="/layouts/menu.jsp" >
  <put name="title" value="Documentation" />
    <putList name="items" >
      <item value="Home"           link="/doc/index.jsp"  />
      <item value="Live Examples"  link="/examples/index.jsp"  />
      <item value="Quick overview" link="/test/quickOverview.jsp"  />
      <!--<item value="Tutorial"       link="/doc/tutorial.jsp"  />-->
      <item value="Tutorial Live Examples" link="/tutorial/index.jsp" />
	  <!--
      <item value="Tiles Tags"     link="/doc/tilesTags.jsp" />
      <item value="Download"       link="/doc/download.jsp" />
      <item value="Installation"   link="/doc/installation.jsp" />
      <item value="User Guide"	   link="/doc/userGuide.jsp" />
      <item value="Javadoc"        link="/api/index.html" />
      <item value="Struts Home"    link="http://www.apache.org";   icon="/images/struts-power.gif" />
	  -->
    </putList>
</definition>

  <!-- Printer friendly menu definition -->
<definition name="common.menu.printer.friendly" path="/layouts/menu.jsp" >
  <put name="title" value="Printer Versions" />
  <putList name="items" >
    <item value="Quick Overview"     link="/test/testAll.jsp" />
    <item value="Tutorial"           link="/doc/tutorialBody.html" />
    <item value="User Guide"         link="/doc/userGuideBody.html" />
    <item value="Overview (old)"  	 link="/doc/overviewBody.html" />
  </putList>
</definition>

<!-- MM's definition for Budget Application -->
<definition name="budgetLayout" path="/layout/classicLayout.jsp">
	  <put name="title"  value="MM's Budget Application" />
	  <put name="header" value="/common/header.jsp" />
	  <put name="footer" value="/common/footer.jsp" />
	  <put name="body"   value="/main.jsp" />
</definition>
  



</tiles-definitions>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to