Strtus2标签<s:url>

简介:

在没有使用Struts2的时候可以使用el来进行url传参。而在Struts2中不推荐使用el(其实在Struts2.0.0.11之后就不再支持el)而推荐使用功能更为强大的ognl表达式语言。那么怎么使用ognl实现url传参?

 

<s:url>就是解决这一问题的标签

 

<s:url>标签一般和超链接 <a>一起使用,用于带多个参数。

 

[html]  view plain copy print ?
  1. <ahref=" 
  2. <s:urlaction=""> 
  3.    <s:paramname=" "value=""></s:param>  
  4.    <s:paramname=" "value=""></s:param>  
  5.    <s:paramname=" "value=""></s:param>  
  6. </s:url>
  7. >测试连接</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 plain copy print ?
  1. <s:urlaction=""> 指定请求地址 
  2. <s:paramname=""value=""></s:param> 指定参数 
  3. </s:url> 
<s:url action=""> 指定请求地址
<s:param name="" value=""></s:param> 指定参数
</s:url>

 

例子:

     

[html]  view plain copy print ?
  1. <!--action是action的名字,为url添加参数使用param标签--> 
  2.  
  3.       <s:urlvar="url"action="mainPage">  
  4.           <s:paramname="id"value="123"/>  
  5.       </s:url>  
  6.  
  7.       <!--使用上面定义的url-->  
  8.       <s:ahref="%{url}">测试连接</s:a>  
  9.  
  10.   该方法在生成的页面源码中生成如下代码  
  11.   <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 plain copy print ?
  1. <!--最重要的属性includeParams,该属性有三个值:none get all,默认值为get-->  
  2.         <!--属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来-->  
  3.         <!--属性值为all时更是将get和post的的参数值全部添加到自身来-->  
  4.         <!--一般我们并不需要额外的参数,所以定义为none-->  
  5.     <s:urlvar="url"action="mainPage"includeParams="none">  
  6.             <s:paramname="id"value="123"/>  
  7.         </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 plain copy print ?
  1. <!--includeContext:有true和false两个值。url中是否包含上下文,也就是在url中的项目名-->  
  2.         <!--这个一般不用改,让它自动包含,否则会定位到服务器的根目录下-->  
  3.         <s:urlvar="url"action="mainPage"includeContext="false">  
  4.             <s:paramname="id"value="123"/>  
  5.         </s:url>  
  6.     生成的url就下面的样子了,注意在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名  
  7. <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 plain copy print ?
  1. <!--method用于指定执行action的方法 这个等同于action="mainPage!ok"-->  
  2.        <s:urlvar="url"action="mainPage"method="ok">  
  3.            <s:paramname="id"value="123"/>  
  4.        </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 plain copy print ?
  1. <!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果-->  
  2.        <s:urlvar="url"action="mainPage"namespace="user">  
  3.            <s:paramname="id"value="123"/>  
  4.        </s:url>  
  5.    结果如下  
  6. lt;a href="user/mainPage?id=123">url</a> 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/archive/2013/02/21/2920596.html,如需转载请自行联系原作者
相关文章
|
11月前
|
JavaScript 前端开发
JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)
JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)
289 0
|
8月前
Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
186 0
|
13天前
|
Python
url标签
【6月更文挑战第29天】url标签。
17 5
|
2月前
|
Python
url标签
url标签。
20 2
|
8月前
a标签下载特殊字符url手动编码浏览器兼容性不显示
a标签下载特殊字符url手动编码浏览器兼容性不显示
HTML中使用base标签设置URL访问基准
本文目录 1. 背景 2. base标签的作用 3. 示例 4. 意义
404 0
|
前端开发
react设置img标签url网络地址不显示
react设置img标签url网络地址不显示
641 0
react设置img标签url网络地址不显示
|
JavaScript
【JS】获取当前<script>标签src属性的url跟的参数和相对路径(无论引入的JS是外部、内部)
【JS】获取当前<script>标签src属性的url跟的参数和相对路径(无论引入的JS是外部、内部)
934 0
|
Java 开发者
url 标签|学习笔记
快速学习 url 标签.
136 0
|
10天前
|
JavaScript 前端开发 数据格式
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
15 0