Strtus2标签之<s:url>
Strtus2标签<s:url>
在没有使用Struts2的时候可以使用el来进行url传参。而在Struts2中不推荐使用el(其实在Struts2.0.0.11之后就不再支持el)而推荐使用功能更为强大的ognl表达式语言。那么怎么使用ognl实现url传参?
<s:url>就是解决这一问题的标签
<s:url>标签一般和超链接 <a>一起使用,用于带多个参数。
[html] view plaincopyprint?
- <ahref="
- <s:urlaction="">
- <s:paramname=" "value=""></s:param>
- <s:paramname=" "value=""></s:param>
- <s:paramname=" "value=""></s:param>
- </s:url>"
- >测试连接</a>
<a href="
<s:url action="">
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
</s:url>"
>测试连接</a>
<s:url>生成一个url地址,可以通过url标签制定的<s:param>子元素向URL地址发送请求参数
[html] view plaincopyprint?
- <s:urlaction=""> 指定请求地址
- <s:paramname=""value=""></s:param> 指定参数
- </s:url>
<s:url action=""> 指定请求地址
<s:param name="" value=""></s:param> 指定参数
</s:url>
例子:
[html] view plaincopyprint?
- <!--action是action的名字,为url添加参数使用param标签-->
- <s:urlvar="url"action="mainPage">
- <s:paramname="id"value="123"/>
- </s:url>
- <!--使用上面定义的url-->
- <s:ahref="%{url}">测试连接</s:a>
- 该方法在生成的页面源码中生成如下代码
- <ahref="/NetBookShop_081029/mainPage?id=123">测试连接</a>
<!--action是action的名字,为url添加参数使用param标签-->
<s:url var="url" action="mainPage">
<s:param name="id" value="123"/>
</s:url>
<!--使用上面定义的url-->
<s:a href="%{url}">测试连接</s:a>
该方法在生成的页面源码中生成如下代码
<a href="/NetBookShop_081029/mainPage?id=123">测试连接</a>
includeParams属性
[html] view plaincopyprint?
- <!--最重要的属性includeParams,该属性有三个值:none get all,默认值为get-->
- <!--属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来-->
- <!--属性值为all时更是将get和post的的参数值全部添加到自身来-->
- <!--一般我们并不需要额外的参数,所以定义为none-->
- <s:urlvar="url"action="mainPage"includeParams="none">
- <s:paramname="id"value="123"/>
- </s: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属性
[html] view plaincopyprint?
- <!--includeContext:有true和false两个值。url中是否包含上下文,也就是在url中的项目名-->
- <!--这个一般不用改,让它自动包含,否则会定位到服务器的根目录下-->
- <s:urlvar="url"action="mainPage"includeContext="false">
- <s:paramname="id"value="123"/>
- </s:url>
- 生成的url就下面的样子了,注意在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名
- <ahref="/mainPage?id=123">url</a>
<!--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</a>
Method属性
[html] view plaincopyprint?
- <!--method用于指定执行action的方法 这个等同于action="mainPage!ok"-->
- <s:urlvar="url"action="mainPage"method="ok">
- <s:paramname="id"value="123"/>
- </s:url>
<!--method用于指定执行action的方法 这个等同于action="mainPage!ok"-->
<s:url var="url" action="mainPage" method="ok">
<s:param name="id" value="123"/>
</s:url>
namespace属性
[html] view plaincopyprint?
- <!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果-->
- <s:urlvar="url"action="mainPage"namespace="user">
- <s:paramname="id"value="123"/>
- </s:url>
- 结果如下
- lt;a href="user/mainPage?id=123">url</a>
Strtus2标签之<s:url>的更多相关文章
- MyBatis配置文件中的标签mappers的子标签mapper的url属性
在浏览器中输入file:/可以打开访达根目录,file:后面至少跟一个杠 MyBatis配置文件中的标签mappers的子标签mapper的url属性中file:后面至少要跟两个杠
- 04_Django-模板变量/标签/过滤器/继承-url反向解析
04_Django-模板变量/标签/过滤器/继承-url反向解析 视频:https://www.bilibili.com/video/BV1vK4y1o7jH 博客:https://blog.csdn ...
- Javascript 利用a标签自动解析URL分析网址实例
/* * @function: 通过a标签解析url标签 * @param:url url参数是字符串,解析的目标 通过IE6-9 chrome Firefox测试 * */ function par ...
- 利用 a 标签自动解析 url
很多时候,我们有从 url 中提取域名,查询关键字,变量参数值等的需求,然而我们可以让浏览器方便地帮助我们完成这一任务而不用写正则去抓取.方法就是先创建一个 a 标签然后将需要解析的 url 赋值给 ...
- 小技巧之a标签自动解析URL
我们可能都知道javascript中的window.location对象用来获取当前页面的地址URL,并把浏览器重定向到新的页面.它有protocol.hostname.host.port.searc ...
- 自定义分页标签,并使分页标签能获得url中的参数
如题,要实现一个分页功能,其次,要让分页标签“智能一点”,在分页时能自动带上url后面的参数 <tag> <description>分页标签</description&g ...
- JSP标签JSTL(4)--URL
<c:url>标签作用是将一个URL地址格式化为一个字符串,并且保存在一个变量当中.它具有URL自动重写功能.value指定的URL可以是当前工程的一个URL地址,也可以是其他web工程的 ...
- 【javascript】利用 a 标签自动解析 url
很多时候,我们有从 url 中提取域名,查询关键字,变量参数值等的需求,然而我们可以让浏览器方便地帮助我们完成这一任务而不用写正则去抓取.方法就是先创建一个 a 标签然后将需要解析的 url 赋值给 ...
- 打印页面时a标签不显示URL的方法
以前写博客啊,总想写一篇大作,然后希望能挂到博客园首页,隔一会儿看看阅读量有多少.其实哪有那么多大作,大部分时间都是解决了一个小问题,然后需要记录一下.比如下面这篇. 今天遇到一个需求是,打印网页时, ...
随机推荐
- [转载]做一个 App 前需要考虑的几件事
本文转自http://limboy.me/tech/2016/07/06/starting-an-app.html ========================================= ...
- Java中double类型的数据精确到小数点后两位
Java中double类型的数据精确到小数点后两位 多余位四舍五入,四种方法 一: double f = 111231.5585;BigDecimal b = new BigDecimal(f); d ...
- 制作PPT时,可能这些小习惯你需要注意
- Stanford Parser学习入门(2)-命令行运行
在Stanford parser目录中已经定义了一部分命令行工具以及图形界面,本文将介绍如何在windows使用这些工具进行语法分析,Linux下也有shell可以使用. 关于如何搭建环境请参考上一篇 ...
- RTP
RTP学习(三)RTP/RTCP/RTSP数据包格式 h264RTP打包描述的较为详细(含SDP中sps等信息的描述) UDP.TCP.RTP三种协议的总结 http://super-and-star ...
- Windows读取文本文件后的显示过程
Windows首先将文本数据转换到它内部使用的编码格式:Unicode,然后按照文本的Unicode去字体文件中查找字体图像,最后将图像显示到窗口上. 总结一下前面的分析,文字的显示应该是这样的: 步 ...
- POJ_2392_Space_Elevator_(动态规划,背包)
描述 http://poj.org/problem?id=2392 磊方块,每种方块有数量,高度,以及该种方块所能处在的最高高度.问最高磊多高? Space Elevator Time Limit: ...
- ARM学习笔记7——乘法指令
ARM乘法指令完成两个数据的乘法,两个32位二进制数相乘的结果是64位的4积. 其中: 1.“RadHi:RdLo”是由RdHi(最高有效32位)和RdLo(最低有效32位)链接形成的64位数,“[3 ...
- CodeForces 573A Bear and Poker
题目链接:http://codeforces.com/problemset/problem/573/A 题目大意:此题要求一组数中的元素乘以2或者乘以3后得到的数都一样,其实就是判断这些数除去2和3这 ...
- Eclipse编译ijkplayer
参考链接:http://blog.csdn.net/fatiao101/article/details/49586379