2012-03-09 112 views
1

我的struts-config.xml有几个向前的动作指向瓷砖定义。一切似乎都会好起来的,直到前锋解决了tile定义名称而不是定义指向的jsp。Struts与瓷砖配置

从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> 

从瓷砖-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前被调用,404抛出说/registration.provider.createtoken没有按”不存在。

回答

1

检查以下各项:

1)你返回的ActionForward是这样的:

return mapping.findForward("createtokens"); 

2)你有没有在你的struts-config.xml中添加瓷砖插件和控制器处理器?

<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