От Apache documentation:Префикс необходим для пространства имен Struts2 в формах и ссылках?
В то время как префикс появляется в браузере URI, метки являются «пространство имен знает», поэтому префикс пространства имен не должен быть встроен в формах и ссылке.
struts.xml
:
<package name="testpkg" namespace="/test" extends="struts-default">
<action name="doTest" class="otes.test.TestAction">
<result>/success.jsp</result>
</action>
</package>
index.jsp
: (http://localhost:8080/nsdemo/
)
<h2>Using HTML tags:</h2>
<h3><a href="doTest">doTest without namespace</a></h3> <!-- 404 error -->
<h3><a href="test/doTest">doTest with namespace</a></h3> <!-- works -->
<h2>Using Struts2 tags:</h2>
<h3><s:a href="doTest">doTest without namespace (s:a href)</s:a></h3> <!-- 404 error -->
<h3><s:a href="test/doTest">doTest with namespace (s:a href)</s:a></h3> <!-- works -->
<!-- 404 error -->
<s:url action="doTest" var="myAction" />
<h3><s:a href="%{myAction}">doTest without namespace (s:url action)</s:a></h3>
<!-- works -->
<s:url action="test/doTest" var="myAction" />
<h3><s:a href="%{myAction}">doTest with namespace (s:url action)</s:a></h3>
Означает ли это, я действительно должен указать пространство имен в моих форм и связей?
(я использую Struts 2.3.20, если это имеет значение.)
* метки * относится к тегам S2. –
Вы имеете в виду теги типа ''? –
silver
Да и '' и ''. –