• c:url标签


    <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

  • 相关阅读:
    最少必要知识
    pythonGUI编程
    计算机网络基础
    .htaccess总结
    SSRF总结
    jsp学习笔记
    url任意跳转漏洞
    学期总结
    计科一班本学期作业成绩汇总表格
    C语言I博客作业08
  • 原文地址:https://www.cnblogs.com/kongxc/p/8922626.html
Copyright © 2020-2023  润新知