struts.xmlプロファイルで注意すべき点
3462 ワード
1.
グローバルな戻り値の設定 Web-infの下に置くのはredirect形式ではいけません.
2.
パッケージ継承extendsの問題は、一般的にpackageにカスタムブロッカー、デフォルトのaction、異常処理、グローバルリターン結果が構成されているため、一般的にパッケージを継承する必要があります.しかし、継承が適切でなければ、様々な各校の問題が発生する.
たとえば、defaultというパッケージには、ログインブロッカーが定義されています.
3.
他のパッケージのアクションにアクセス
4.
Actionのパラメータは2種類あります
1つのactionの下で、このパラメータは値をactionに伝達し、変数に値を付与する.
1つはresultの下にあり、このパラメータはactionから値を取り、ビューページに値を渡します.
グローバルな戻り値の設定 Web-infの下に置くのはredirect形式ではいけません.
<global-results>
<!-- <result name="login" type="redirectAction">login</result> -->
<result name="login">/WEB-INF/back/login.jsp</result>
<result name="error404">/WEB-INF/back/error/error404.jsp</result>
<result name="error500">/WEB-INF/back/error/error500.jsp</result>
<result name="accessDenied">/WEB-INF/back/error/AccessDenied.jsp</result>
</global-results>
2.
パッケージ継承extendsの問題は、一般的にpackageにカスタムブロッカー、デフォルトのaction、異常処理、グローバルリターン結果が構成されているため、一般的にパッケージを継承する必要があります.しかし、継承が適切でなければ、様々な各校の問題が発生する.
たとえば、defaultというパッケージには、ログインブロッカーが定義されています.
<package name="default" extends="struts-default" abstract="true" namespace="/">
<!-- -->
<interceptors>
<!-- , -->
<interceptor-stack name="mystack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="loginValidate" />
<interceptor-ref name="securityInterceptor" />
</interceptor-stack>
<!-- -->
<interceptor name="loginValidate" class="com.lemon.intecept.AuthrityInterceptor" />
<!-- -->
<interceptor name="securityInterceptor" class="com.lemon.intecept.SecurityInterceptor"></interceptor>
</interceptors>
<!-- -->
<default-interceptor-ref name="mystack" /><span style="font-family: Arial, Helvetica, sans-serif;"></package></span>
しかしフロントのホームページはもしこのかばんを受け継いだら <package name="front" extends="default" namespace="/">
<default-interceptor-ref name="defaultStack"></default-interceptor-ref>
<action name="mainPage_*" class="mainPageAction" method="{1}">
<result name="{1}">/main.jsp</result>
</action>
</package>
で問題が発生し、デフォルトのブロッキングをdefaultStackに変更する必要があります.あるいはactionでブロッキングを変更しないと、ホームページもブロックされます.3.
他のパッケージのアクションにアクセス
<action name="logining" class="loginAction" method="logining">
<!-- redirectAction package action -->
<result name="main" type="redirectAction">
<param name="actionName">bannerList</param>
<param name="namespace">/</param>
</result>
<result name="login">/WEB-INF/back/login.jsp</result>
</action>
4.
Actionのパラメータは2種類あります
1つのactionの下で、このパラメータは値をactionに伝達し、変数に値を付与する.
1つはresultの下にあり、このパラメータはactionから値を取り、ビューページに値を渡します.
<action name="appAdding" class="appTypeAction" method="addApping">
<param name="uploadPaht">/upload</param>
<result name="addApping" type="redirectAction">
<param name="actionName">appList</param>
<param name="typeid">${typeid}</param>
</result>
</action>