struts2 url标签详解

xiaoxiao2026-05-18  16

struts2 url标签详解 之前写form的action或是<a href>的时候,如果用到根目录,就必须写上项目名称,非常烦琐,原来struts2的url标签可以解决这个问题。。。 这个标签用于构造一个url,供该jsp页面其他标签引用。一个最基本的的url使用如下 <!--action就是struts2 action的名字,为url添加参数使用param标签--> <s:url var="url" action="mainPage"> <s:param name="id" value="123"/> </s:url> <!--使用定义的url--> <s:a href="%{url}">url</s:a> 该方法在生成的页面源码中生成如下代码 <a href="/NetBookShop_081029/mainPage?id=123">url 下面是重点内容,我准备写这个标签的文章就是因为它 <!--最重要的属性includeParams,该属性有三个值:none get all,默认值为get--> <!--当该属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来--> <!--当它的属性值为all时更是将get和post的的参数值全部添加到自身来--> <!--一般我们并不需要额外的参数,所以定义为none--> <!--就因为这个属性害的我浪费了好多时间--> <s:url var="url" action="mainPage" includeParams="none"> <s:param name="id" value="123"/> </s:url> 下边是另一个属性,不太重要,但还是说一说吧 <!--includeContext:有true和false两个值。url中是否包含上下文,也就是在url中的项目名--> <!--这个一般不用改,让它自动包含,否则会定位到服务器的根目录下--> <s:url var="url" action="mainPage" includeContext="false"> <s:param name="id" value="123"/> </s:url> 生成的url就下面的样子了,注意在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名 <a href="/mainPage?id=123">url 下面这个还是会用的上的 <!--method用于指定执行action的方法 这个等同于action="mainPage!ok"--> <s:url var="url" action="mainPage" method="ok"> <s:param name="id" value="123"/> </s:url> 最后一个有用的属性了 <!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果--> <s:url var="url" action="mainPage" namespace="user"> <s:param name="id" value="123"/> </s:url> 结果如下 <a href="user/mainPage?id=123">url 相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5048981.html

最新回复(0)