如何配置 s:url 返回绝对路径,使其不受 html base 的影响?



使用<base href="<s:url value="/"/>" target="_blank">可以解析所有图像&当有许多命名空间,如/, /admin等时,

但是动作url也会被base标签打断。

假设当前浏览器的url是http://context/admin/dashboard

<s:url value="clients" namespace="admin"/>返回clients,在浏览器中被解析为http://context/clients而不是http://context/admin/clients

是否有办法告诉s:url渲染绝对url而不是相对的?

http://struts.apache.org/development/2.x/docs/url.html

标签属性namespace的值错误。namespace值应与包属性对应,并使用从web内容根计算的路径值。因此,如果您已经声明了namespace="/admin",则应该将此值用于相应的url标记属性。

<s:url action="clients" namespace="/admin"/> 

结果输出到HTML,您可以看到呈现的值。

最新更新