2012-12-17 17 views
0

我有包含應用程序創建方法的動作類,如果應用程序保存成功,它返回「成功」。正如你可以將我的struts.xml重定向到應用程序只讀模式。當我用「tenantId」重定向到只讀動作默認名稱空間覆蓋(這是在會話包含)Struts2命名空間改變重定向url

這裏是重定向URL

http://localhost:8080/scandium/tenantId/applicationView.html!tenantId?applicationId=40 

爲什麼會出現「!」在網址? 它如何將默認名稱空間更改爲「tenantId」?

任何人都可以幫我解決這個問題嗎?

<struts> 

     <constant name="struts.devMode" value="true"/> 
     <constant name="struts.action.extension" value="html"/> 

     <package name="default" namespace="/" extends="struts-default"> 
      <action name="createApplication" class="com.action.ApplicationAction" method="create"> 
         type="tiles">/applicationReadOnlyBody.tiles</result>--> 
         <result name="success" type="redirectAction"> 
          <param name="actionName">applicationView.html</param> 
          <!-- <param name="namespace">/</param> --> 
          <param name="applicationId">${appId}</param> 
         </result> 
         <result name="input" type="tiles">/new-application.tiles</result> 
       </action> 

       <action name="applicationView" class="com.action.ApplicationReadOnlyAction" method="viewApplication"> 
        <result name="success" type="tiles">/applicationReadOnlyBody.tiles</result> 
       </action> 

    </package> 

</struts> 

謝謝你在前進,

Udeshika

回答

0

是你的正確的struts.xml文件?你的Struts文件似乎是瓷磚

<result-types> 
    <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" /> 
     </result-types> 

你的struts.xml應該是這樣的結果缺失類型:`

<struts> 

     <constant name="struts.devMode" value="true"/> 
     <constant name="struts.action.extension" value="html"/> 

     <package name="default" namespace="/" extends="struts-default"> 

<result-types> 
    <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" /> 
     </result-types> 

      <action name="createApplication" class="com.action.ApplicationAction" method="create"> 
         type="tiles">/applicationReadOnlyBody.tiles</result>--> 
         <result name="success" type="redirectAction"> 
          <param name="actionName">applicationView.html</param> 
          <!-- <param name="namespace">/</param> --> 
          <param name="applicationId">${appId}</param> 
         </result> 
         <result name="input" type="tiles">/new-application.tiles</result> 
       </action> 

       <action name="applicationView" class="com.action.ApplicationReadOnlyAction" method="viewApplication"> 
        <result name="success" type="tiles">/applicationReadOnlyBody.tiles</result> 
       </action> 

    </package> 

</struts> 

`

而在Struts2 redirectAction改爲重定向。進行更改嘗試並告訴我

+0

謝謝你的迴應,它已經在那裏我已經把struts.xml的一部分 – ExCode

+0

''redirectAction'存在於Struts 2中.'重定向'是直接用於URL和' redirectAction'是f或行動。見https://struts.apache.org/docs/redirect-action-result.html – FaithReaper

0

配置中存在一些錯誤。 「浮動式」=「瓷磚......和關閉(但從來沒有打開)HTML註釋標記

改變這一點:

<action name="createApplication" 
     class="com.action.ApplicationAction" 
     method="create"> 
     type="tiles">/applicationReadOnlyBody.tiles</result>--> 

這樣:

<action name="createApplication" 
     class="com.action.ApplicationAction" 
     method="create"> 

看看是否它工作或以某種方式更改...

+0

是的它的工作, – ExCode

+2

然後是時候接受'n投票:P –