struts2标签<s:url>
2012-11-29 09:38
411 查看
在没有使用Struts2的时候可以使用el来进行url传参。而在Struts2中不推荐使用el(其实在Struts2.0.0.11之后就不再支持el)而推荐使用功能更为强大的ognl表达式语言。那么怎么使用ognl实现url传参?
<s:url>就是解决这一问题的标签
<s:url>标签一般和超链接 <a>一起使用,用于带多个参数。
[html]
view plaincopyprint?
<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:url action=""> 指定请求地址
<s:param name="" value=""></s:param> 指定参数
</s:url>
例子:
[html]
view plaincopyprint?
<!--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: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: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:url var="url" action="mainPage" method="ok">
<s:param name="id" value="123"/>
</s:url>
namespace属性
[html]
view plaincopyprint?
<!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果-->
<s:url var="url" action="mainPage" namespace="user">
<s:param name="id" value="123"/>
</s:url>
结果如下
lt;a href="user/mainPage?id=123">url</a>
<s:url>就是解决这一问题的标签
<s:url>标签一般和超链接 <a>一起使用,用于带多个参数。
[html]
view plaincopyprint?
<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>
<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:url action=""> 指定请求地址
<s:param name="" value=""></s:param> 指定参数
</s:url>
<s:url action=""> 指定请求地址 <s:param name="" value=""></s:param> 指定参数 </s:url>
例子:
[html]
view plaincopyprint?
<!--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>
<!--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:url var="url" action="mainPage" includeParams="none">
<s:param name="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: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>
<!--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:url var="url" action="mainPage" method="ok">
<s:param name="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:url var="url" action="mainPage" namespace="user">
<s:param name="id" value="123"/>
</s:url>
结果如下
lt;a href="user/mainPage?id=123">url</a>
相关文章推荐
- Struts2中的链接标签 <s:url>和<s:a>
- 【引用】Struts2中的链接标签 <s:url>和<s:a>
- Struts2 <s:url>标签
- 【struts2】<s:url>标签
- Struts2中的链接标签 <s:url>和<s:a>---在action中获取jsp表单提交的参数(转)
- Struts2中的链接标签<s:url>和<s:a>
- struts2中<s:url>标签的用法
- struts2中<s:select>标签的使用
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法
- Struts2标签<s:iterator>中使用Map
- Struts2----><s:token />标签防止重复提交
- struts2中<s:select>标签的使用
- struts2中<s:if>标签的使用
- struts2中<s:select />标签的用法
- Struts2中的<s:action>标签
- 普通html中<form>标签和struts2中<s:form>标签action属性的不同
- SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-004- <s:url>、<s:escapeBody>标签
- Struts2:struts2中的 <s:textfield />标签:日期格式化输出
- Struts2中的链接标签 <s:url>和<s:a>
- struts2 <s:action>标签的用法