• EL表达式


    • 全域查找指定的属性,若不存在,则输出空字符串,而不是null
    • EL的11个内置对象
      •   pageScope:
        • ${pageScope.name}
      •   requestScope:
        • ${requestScope.name}
      •       sessionScope:
        • ${sessionScope.name}
      •       applicationScope:
        • ${applicationScope.name}
      •   param:适用于单值的参数,它是一个Map,其中key为参数名,value为参数值
        • <% 
              String data = "fat rabbit"; 
              session.setAttribute("data", data);
           %> 
          ${data }
      • paramValues:适用于多值的参数,它是一个Map,其中key为参数吗,value为多个参数值
        • <%
              String data = "fat rabbit";
              char[] datas = data.toCharArray();
              session.setAttribute("datas",datas);
          %>
          ${datas[0] }
      • header:适用于单值请求头,它是一个Map,其中key为参数名,value为单值请求头
      • headerValues:适用于多值请求头,它是一个Map,其中key为参数名,value为多值请求头
      • initParam:获取<context-param>内的参数
        • <!-- 在web.xml配置 -->
           <context-param>
                  <param-name>fat</param-name>
                  <param-value>rabbit</param-value>
           </context-param>
          
          <!-- 在.jsp文件获取 -->
          ${initParam.fat }
      • cookie:Map<String,Cookie>类型,其中key是cookie的name,value是cookie对象
        • ${cookie.JSESSIONID.value}
      • pageContext:
        • ${pageContext.request.contextPath }
        •   注意:若没有配置context文件中的path,可能读取的path为""
    • JSTL提供的EL函数库
      • <%-- 导入标签库,pixfix表前缀 --%>
        <%-- 若报错:cannot resolve taglib with uri,
             解决办法:导入jstl.jar和standard.java --%>
        <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"  %>
    • EL自定义函数库
      •   
        /**
         * 类中可以定义0-N个方法,但必须是static,且有返回值
         */
        public class TestFunction {
        
            public static String func(){
                return "fat rabbit";
            }
        }
        
        
        <!-- 创建一个tld文件 -->
        
        <?xml version="1.0" encoding="UTF-8" ?>
        <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
                version="2.0">
            <!-- 说明 -->
            <description>JSTL 1.1 functions library</description>
            <!-- 显示名称 -->
            <display-name>JSTL functions</display-name>
            <!--  -->
            <tlib-version>1.0</tlib-version>
            <!--  -->
            <short-name>muriel</short-name>
            <!--  -->
            <uri>http://www.muriel.cn/el.functions</uri>
            
            <function>
                <name>functionA</name>
                <function-class>com.muriel.fn.TestFunction</function-class>
                <function-signature>java.lang.String func()</function-signature>
            </function>
        </taglib>
        
        
        <!-- 在jsp中可以导入自定义的函数库即其方法-->
        
        
        <%@ taglib prefix="f" uri="/WEB-INF/tlds/test.tld" %>
        <%--注意方法名必须是tld中配置function里面的name,不然就会报The function *** cannot be located with the specified prefix错误 --%>
        ${f:functionA()}
  • 相关阅读:
    Bzoj1499: [NOI2005]瑰丽华尔兹
    Bzoj1016: [JSOI2008]最小生成树计数
    清橙A1212:剪枝
    SPOJ1825:Free tour II
    http://www.freepik.com/
    A Guide To Transclusion in AngularJS
    styling-customizing-file-inputs
    You Don't Know JS: this & Object Prototypes
    git中https和SSH的区别
    difference between match and exec
  • 原文地址:https://www.cnblogs.com/fatRabbit-/p/10132141.html
Copyright © 2020-2023  润新知