2012-03-09 115 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