Struts Config with Tiles

时间:2012-03-09 15:19:36

标签: java struts tiles

我的struts-config.xml有一些指向tile定义的前向动作。在转发被解析为tile定义名称而不是定义所指向的jsp之前,一切似乎都没有问题。

来自struts-config.xml

<action-mappings>
    <action name="userTokenForm" path="/createtoken" type="com.bcbst.providertokenweb.actions.CreatetokenAction" 
            scope="request" parameter="action" input="registration.provider.createtoken" validate="true">

       <forward name="createtokens" path="registration.provider.createtoken"></forward>
       <forward name="success" path="registration.provider.success" redirect="false"></forward>
    </action>
</action-mappings>

来自tiles-defs.xml

<definition name="registration.provider.main" page="/theme/bcbst/template.jsp">
  <put name="body" value="/default.jsp"/>
</definition>

<definition name="registration.provider.createtoken" page="/theme/bcbst/template.jsp">
  <put name="body" value="/createtoken.jsp"/>
</definition>

<definition name="registration.provider.success" page="/theme/bcbst/template.jsp">
  <put name="body" value="/success.jsp"/>
</definition>

当调用createtokens forward时,会抛出404说/registration.provider.createtoken不存在。

2 个答案:

答案 0 :(得分:1)

检查以下事项:

1)你是否像这样返回ActionForward:

return mapping.findForward("createtokens"); 

2)您是否在struts-config.xml中添加了tile插件和控制器处理器?

<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>

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

3)您是否将这些JSP文件放在正确的位置(在项目上下文中)?

/createtoken.jsp

/theme/bcbst/template.jsp

答案 1 :(得分:0)

尝试将页面属性更改为路径