我有以下行动:
<action name="#dash_creds" class="AccountDashboardActionBean">
<result name="success" type="stream">
<param name="contentType">application/json</param>
<param name="inputName">jsonInputStream</param>
</result>
</action>
我希望Struts接受我的网址中的#
符号或忽略它,因为它现在不会调用我的操作。
答案 0 :(得分:1)
哈希符号用于标识URL的“片段”部分;在url中第一个#
之后的所有内容都被视为片段的一部分,并且不会将其发送到服务器。
这意味着永远不会达到带有#的动作名称;如果你从浏览器中调用它:
http://domain.name/namespace/#dash_creds
您的Struts应用程序将会看到:
http://domain.name/namespace/
出于同样的原因,我认为没有办法让Struts“忽略它”。您的操作名称不应包含哈希值。
另见这些链接:
答案 1 :(得分:0)
特殊字符#
不允许作为操作名称的一部分。如果要使用操作名称构建URL,可以使用url标记。
<s:url var="url" action="" anchor="dash_creds"/>