从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标签。 – 2015-01-20 18:38:09
您的意思是标签是''? –
silver
2015-01-20 18:41:35
是的,''和''。 –
2015-01-20 18:42:03