zoukankan      html  css  js  c++  java
  • jsp中jstl、el使用

    tomcat7.0+JSTL1.1.2(不冲突)
    
    EL表达式获取变量
    	${表达式} 如:${user.name}   不可以动态取值
    			 ${user[name]}可以动态取值,变量名中含有特殊字符时只能用此方法
    			 ${user[0]}
    
    	1、PageScope  Page
    	2、RequestScope Request
    	3、SessionScope Session
    	4、ApplicationScope Application	查找顺序为1234,没找到EL变量会输出为空的字符串,不是											null
    	EL表达式可以自动类型转换
    	EL 可使用算术、逻辑运算符和验证运算empty 用法是 empty+变量名,判断变量是否为空,null和	空字符串都返回true
    
    步骤加入jar包+jsp中加入标签库<%@ taglib uri="http:xxxxxxxx" prefix="c"%>
    <c:out value="xxx" default=“设输出默认值”escapeXml=“false表示转义value中的&gt”></c:out> 输		出xxx值,xx可以为EL表达式、常量、变量
    
    <c:set var="变量名" scope="所在作用域" value="变量值">也可以变量值</c:set>
    存值到javabean
    	<jsp:useBean id="person" class="com.Person"></jsp:useBean>
    	<c:set target="${person}" property="name" value="zhangsan"></c:set>
    	<c:out value="${person.name}"></c:out>
    
    <c:remove var="" /> var必选  scope可选
    
    <c:catch var="error">
    里面代码出错,会把错误信息保存在error变量中
    </c:catch>
    
    <c:if test="用EL表达式写的判断条件" var="" scope=""> </c:if>
    <input type="text" name="scope" value="${param.scope}">用户输入的值存放到param.scope中
    
    <c:choose>
    可含有多个when/otherwise
    <c:when test="">c:out输出内容</:when>
    。。。
    <c:otherwise>c:out输出when条件之外的范围对应的内容</c:otherwise>
    </c:choose>
    
    全部遍历
    <c:forEach var="aa代表遍历的当前元素" items="${需要遍历的变量}">
    。。。进行操作aa变量
    </c:forEach>
    部分遍历
    <c:forEach var="aa代表遍历的当前元素" items="${需要遍历的变量}" begin="1" end="4">
    。。。进行操作aa变量 1/4都会输出
    </c:forEach>
    部分遍历制定步长(间隔多少取值)
    <c:forEach var="aa代表遍历的当前元素" items="${需要遍历的变量}" begin="1" end="4" step="默认1">
    。。。进行操作aa变量 1/4都会输出
    </c:forEach>
    状态
    <c:forEach var="aa代表遍历的当前元素" items="${需要遍历的变量}" varstatus=“xx”>
    。。。进行操作aa变量
    输出当前元素的索引xx.index 从0开始
    输出当前元素的xx.count 从1开始
    输出当前元素的xx.first 判断此元素是不是第一个
    输出当前元素的xx.last 判断此元素是不是最后一个
    </c:forEach>
    
    <c:forTokens items="11-22-455-888" delims="-" var="num">
    
    拆分字符串并循环输出分割后的子字符串num
    begin、end、step、varstatus与foreach用法相同
    </c:forTokens>
    
    <c:import>标签与<jsp:include>
    	<jsp:include>只能包含同一个web应用上的文件
    	<c:import>可以包含其他web应用中的文件,甚至网络上的资源context="必须/开头"
    	
    	<c:import url="网络资源绝对路径" >
    	</c:import>
    
    	本项目相对路径:
    	<c:import url="tt.txt" charEncoding="gbk" var="tt存放txt中的内容" scope="变量作用域">
    	</c:import>
    
    	<c:import url="/index.jsp其他项目的" context="/其他项目名">
    	这种用法前提是:1、修改tomcat的默认发布路径,保证都在webapps路径下
    	2、修改%TOMCAT_HOME%/conf/context.xml的context标签中的添加属性crossContext=“true”
    		重启运行		
    	</c:import>
    	
    
    <c:redirect url="xx.jsp">
    <c:param name="xx">xxxx</c:param>重定向到xx且参数值显示在url中
    在xx中获取方式:${param.xx}
    
    <c:url value="链接/${xx}" var="xxx" scope="mmm" >
    var存放value中的连接,结合if可以动态生成链接
    </c:redirect>
    
    JSTL常用函数
    	前提:加入新的taglib  <%@ taglib uri="http:xxxxxxxx" prefix="fn"%>
    
    	${fn:contains("xx","xxx")} 判断xx中是否有xxx
    	${fn:containsIgnoreCase("xx","xxx")} 判断xx中是否有xxx,不区分大小写
    	${fn:endWith("xx","xxx")}
    	${fn:startWith("xx","xxx")}
    	${fn:indexOf("xx","xxx")}
    	...
    
    	输出XML
    		${fn:escapeXml("<ss>xx</ss>")} 会转义成$gt
    		输出XML做法<c:out value="<ss>xx</ss>"></c:out>
    

      

    <td><fmt:formatDate value="${item.rewardTime }" type="time" pattern="yyyy-MM-dd HH:mm:ss"/></td> 处理时间
    <td><c:if test="${item.status == 'N'}">正常</c:if>
    <c:if test="${item.status == 'T'}">已调整</c:if>
    </td> 处理返回字段

    <c:set value="${ fn:split(mission.districtCodes, ',') }" var="str2" />${fn:length(str2) }//字符串转数组 并获取长度

  • 相关阅读:
    一个晚上加一个上午啊 笨死算球
    转来的——python webdriver自动化测试初步印象——转来的
    MySQL软件升级
    创建rhel7基础镜像
    SHELL-收集Oracle已应用的PSU信息
    rhel7.6上安装Oracle 19.2.0.0 RAC
    AIX平台安装Oracle11gR2数据库
    Oracle Database(rdbms) 12.2 安装组件
    HP-UX平台安装Oracle11gR2数据库
    Linux平台安装Oracle11gR2数据库
  • 原文地址:https://www.cnblogs.com/qinyios/p/11124607.html
Copyright © 2011-2022 走看看