码迷,mamicode.com
首页 > Web开发 > 详细

c:url标签

时间:2018-04-24 00:20:02      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:ssi   代码   href   ||   home   范围   request   它的   特殊符号   

<c:url>标签

 

<c:url>标签的主要作用是按照特定的重写规则重新构造URL,它的基本语法为:

 

<c:url   value="原始URL"  var="存放新的URL的命名变量"   scope="{page|request|session|application}" /> 

<c:url>标签把重新生成的URL存放在var属性指定的命名变量中,并且scope属性指定命名变量的范围,它的默认值为page(页面范围)。

 

例如以下<c:url>标签在页面范围内创建一个myurl命名变量,它的值为"dir2/target.jsp":

 

<c:url value="dir2/target.jsp" var="myurl" /> 

例如以下<c:url>标签中的value属性以"/"开头,<c:url>标签会在重新生成的URL中加上当前Web应用的根路径,因此myurl命名变量的值为"/helloapp/dir1/dir2/ target.jsp":

 

<c:url value="/dir1/dir2/target.jsp" var="myurl" /> <a href="${myurl}" >target.jsp </a> 

在<c:url>标签中可以包含<c:param>子标签,用于设定请求参数,例如以下<c:url>标签包含两个<c:param>子标签,它们分别用于设定username请求参数和description请求参数:

 

<c:url value="/dir1/dir2/target.jsp" var="myurl" >   <c:param name="username" value="Tom" />   <c:param name="description" value="Age>10&Age<30" /> </c:url>  <a href="${myurl}" >target.jsp </a> 

<c:param>标签会对value属性中的特殊符号(如">"和"&")进行正确地编码。以上<a>标记生成的代码为:

 

<a href="/helloapp/dir1/dir2/target.jsp?username=Tom&description=  Age%3e10%26Age%3c30"> target.jsp </a> 

从以上代码可以看出,description参数值中的">"符号被编码为"%3e","&"符号被编码为"%26","<"符号被编码为"%3c"。

 

<c:param>标签的name属性设定请求参数名,value属性设定请求参数值,此外,也可以在标签主体内设定请求参数值。例如以下<c:param>标签主体判断username命名变量是否为"Tom",如果满足条件,就把role请求参数设为"Manager";如果username命名变量为空或者不是"Tom",就把role请求参数设为"Employee":

 

<c:url value="/dir1/dir2/target.jsp" var="myurl" >   <c:param name="role">     <c:if test="${username==‘Tom‘}">       Manager      </c:if>     <c:if test="${empty username || ! username==‘Tom‘}">       Employee      </c:if>   </c:param> </c:url>  <a href="${myurl}" >target.jsp </a> 

如果username命名变量为空,那么以上<a>标记生成的代码为:

 

<a href="/helloapp/dir1/dir2/target.jsp?role=Employee" >target.jsp </a>

 

 

 

 

来源:https://blog.csdn.net/home_zhang/article/details/8500708

c:url标签

标签:ssi   代码   href   ||   home   范围   request   它的   特殊符号   

原文地址:https://www.cnblogs.com/kongxc/p/8922626.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!