0

アプリケーション作成メソッドを含むアクション クラスがあります。アプリケーションが正常に保存されると、「成功」が返されます。できるように、struts.xml をアプリケーションの読み取り専用モードにリダイレクトしています。「tenantId」(セッションに含まれている)による読み取り専用アクションのデフォルトの名前空間オーバーライドにリダイレクトする場合

リダイレクトURLはこちら

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

なぜ「!」があるのですか?URLで?デフォルトの名前空間を "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>

前もって感謝します、

うでしか

4

2 に答える 2

0

設定にいくつかのエラーがあります。「フローティング」 type="tiles... と閉じた (ただし開いたことのない) html コメント タグ。

これを変える:

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

これに:

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

そして、それが機能するか、何らかの形で変化するかを確認してください...

于 2012-12-17T12:48:00.947 に答える
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 が redirect に変更されています。変更を加えて試してみてください

于 2012-12-17T11:58:21.670 に答える