tomcat7.0+JSTL1.1.2(不冲突)EL表达式获取变量${表达式} 如:${user.name} 不可以动态取值 ${user[name]}可以动态取值,变量名中含有特殊字符时只能用此方法 ${user[0]}1、PageScope Page2、RequestScope Re
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中的>”></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>