我的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不存在。
答案 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)
尝试将页面属性更改为路径