struts2 url标签详解

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值