Struts 2でのNamespaceの使用
1981 ワード
一、NameSpace紹介
struts.xmlでは、構成時に異なるパッケージでaction名が競合する問題が発生する可能性があります.この場合、namespaceを使用して名前競合を解決する必要があります.
二、Namespace作用
名前の競合を解決します.
三、Namespace構成例
struts.xmlでは、デフォルトでは次のように構成されています.
我々は
に改心
ネーミングスペースを追加するとアクセスできます.
http://kevin.mshome.net:8080/test1/aaa/bbb/index.action
四、知識の拡張
(1)struts 2によるネーミングスペースの許容誤差
入力するとhttp://kevin.mshome.net:8080/test1/aaa/bbb/ccc/index.actionを選択すると、正常にアクセスできることがわかります.これはstruts 2がネーミング空間の処理に一定の誤り許容性を有するためである.
しかし,strutsのフォールトトレランスを用いた開発は推奨されない.なるべくミスをしないことをお勧めします.
struts.xmlでは、構成時に異なるパッケージでaction名が競合する問題が発生する可能性があります.この場合、namespaceを使用して名前競合を解決する必要があります.
二、Namespace作用
名前の競合を解決します.
三、Namespace構成例
struts.xmlでは、デフォルトでは次のように構成されています.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error"/>
</global-exception-mappings>
<action name="*">
<result>
/{1}.jsp
</result>
</action>
</package>
<!-- Add packages here -->
</struts>
我々は
<package name="default" namespace="/" extends="struts-default">
に改心
<package name="default" namespace="/aaa/bbb" extends="struts-default">
ネーミングスペースを追加するとアクセスできます.
http://kevin.mshome.net:8080/test1/aaa/bbb/index.action
四、知識の拡張
(1)struts 2によるネーミングスペースの許容誤差
入力するとhttp://kevin.mshome.net:8080/test1/aaa/bbb/ccc/index.actionを選択すると、正常にアクセスできることがわかります.これはstruts 2がネーミング空間の処理に一定の誤り許容性を有するためである.
しかし,strutsのフォールトトレランスを用いた開発は推奨されない.なるべくミスをしないことをお勧めします.