<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标签的更多相关文章

  1. <c:url>标签相关知识点

    <c:url>标签: value:指定路径!他会在路径前面自动添加项目名. <c:url value="/index.jsp"/>,他会输出/day14/i ...

  2. 【struts2】<s:url>标签

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

  3. Django url 标签和reverse()函数的使用(转)

    使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响, 其实在模板, view中,如果想获取当前访问的url,那用re ...

  4. Django学习笔记之URL标签的使用

    期初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了, ...

  5. jstl: <c:url> 标签

    这个标签主要是用来重写 URL 地址.它的使用格式如下所示:<c:url value=”value” [context=”context”] [var=”varName”] [scope=”pa ...

  6. NGUI中UILabel使用url标签的一个bug

    在NGUI里,UILabel控件可以支持一些简单功能的标签,使文本显示更丰富及实现类似超链接的功能.但是在使用的时候发现了NGUI3.5.9版本里存在着一个bug.不过还好修复这个bug也很简单. 在 ...

  7. 029:url标签使用详解

    url标签使用详解: 在模版中,我们经常要写一些 url ,比如某个 a 标签中需要定义 href 属性.当然如果通过硬编码的方式直接将这个 url 写死在里面也是可以的.但是这样对于以后项目维护可能 ...

  8. Python中url标签使用详解

    url标签: 1.在模板中,我们经常要使用一些url,实现页面之间的跳转,比如某个a标签中需要定义href属性.当然如果通过硬编码的方式直接将这个url固定在里面也是可以的,但是这样的话,对于以后进行 ...

  9. 齐博x1当前URL标签

    当前URL标签 {:get_url('location')} 当前URL的二维码标签 {:urls('index/qrcode/index')}?url={:urlencode(get_url('lo ...

随机推荐

  1. ubuntu 安装 2.10.x版本的scala

    Ubuntu 14.04.1 LTS上默认的scala版本是2.9的,而最新版本的spark-1.3需要最低版本的scala版本为2.10.x,先使用apt-get remove scala将机器上的 ...

  2. Atitit Seed-Filling种子填充算法attilax总结

    Atitit Seed-Filling种子填充算法attilax总结 种子填充的原理,4联通与8联通区域的选择.. 三个队列 waitProcessPixList tempPixList Proces ...

  3. ios--网页js调用oc代码+传递参数+避免中文参数乱码的解决方案(实例)

    此解决方案原理: 1.在ViewController.h中声明方法和成员变量,以及webView的委托: // //  ViewController.h //  JS_IOS_01 // //  Cr ...

  4. vue-cli 工程中引入jquery

    在vue-cli 生成的工程中引入了jquery,记录一下.(模板用的webpack) 首先在package.json里的dependencies加入"jquery" : &quo ...

  5. C++ Primer笔记 容器和算法(2)

    erase 删除后  返回的是删除元素的后一个迭代器位置 int main() { //怎样正确的删除全部元素 循环 int a[]={1,2,3,4,5,6,7,8,9}; vector<in ...

  6. 03.反射--01【反射机制】【反射的应用场景】【Tomcat服务器】

    https://blog.csdn.net/benjaminzhang666/article/details/9408611 https://blog.csdn.net/benjaminzhang66 ...

  7. iOS 减法计算器

    一: 在界面上拖入相应的控件 二: 给每个控件设置关联 //监听按钮的点击 - (IBAction)compute:(id)sender; //第一个文本输入框的值 @property (weak, ...

  8. 【delphi】多线程与多线程同步

    在 Delphi 中使用多线程有两种方法: 调用 API.使用 TThread 类; 使用 API 的代码更简单. CreateThread function CreateThread( lpThre ...

  9. 【Socket】linux下http服务器开发

    1.mystery引入 1)超文本传输协议(HTTP)是一种应用于分布式.合作式.多媒体信息系统的应用层协议 2)工作原理 1)客户端一台客户机与服务器建立连接后,会发送一个请求给服务器,请求方式的格 ...

  10. TNS-12518,TNS-12536,TNS-00506,Linux Error: 11: Resource temporarily unavailable

    TNS-12518: TNS:listener could not hand off client connection TNS-12536: TNS:operation would block  T ...