struts2中url标签

目录

1 url标签简介

<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>" 

<s:url>生成一个url地址,可以通过url标签制定的<s:param>子元素向URL地址发送请求参数

<s:url action=""> 指定请求地址 
<s:param name="" value=""></s:param> 指定参数 
</s:url> 

例子:

<!--action是action的名字,为url添加参数使用param标签--> 
 <s:url var="urlName" action="mainPage">  
          <s:param name="id" value="123"/>  
</s:url>  
 
<!--使用上面定义的url-->  
<s:a href="%{urlName}">测试连接</s:a>  

该方法在生成的页面源码中生成如下代码  

<a href="/NetBookShop_081029/mainPage?id=123">测试连接</a>

1.1 includeParams属性

最重要的属性includeParams,该属性有三个值:none get all,默认值为get
属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来
属性值为all时更是将getpost的的参数值全部添加到自身来
一般我们并不需要额外的参数,所以定义为none


<s:url var="url" action="mainPage" includeParams="none">  
            <s:param name="id" value="123"/>  
    </s:url> 

1.2 includeContext属性

includeContext:有truefalse两个值。url中是否包含上下文,也就是在url中的项目名
这个一般不用改,让它自动包含,否则会定位到服务器的根目录下

   <s:url var="url" action="mainPage" includeContext="false">  
      <s:param name="id" value="123"/>  
   </s:url>  

生成的url就下面的样子了
<a href="/mainPage?id=123">url</a>  

注意:在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名

1.3 Method属性

method用于指定执行action的方法,这个等同于action="mainPage!ok"

       <s:url var="url" action="mainPage" method="ok">  
           <s:param name="id" value="123"/>  
       </s:url>  

1.4 namespace属性

namespace属性指定命名空间后,生成的url会使用相对路径,具体的看结果

<s:url var="url" action="mainPage" namespace="user">  
    <s:param name="id" value="123"/>  
</s:url>

结果如下  
<a href="user/mainPage?id=123">url</a> 
上一篇:django-ORM聚合函数


下一篇:@Controller、@RestController注解区别详解