el表达式与标签库
来源:互联网 发布:python 模拟浏览器 编辑:程序博客网 时间:2024/05/22 17:47
EL有效表达式基础操作符
EL表达式内置对象
el表达式的四大作用域
<!-- 创建对象 id:变量名,class:对象名,scope:作用域 默认page--><jsp:useBean id="user" class="lesson04.User" scope="page"></jsp:useBean><!-- 设值 property:对象的属性名,name:对象变量名,value:赋值--><jsp:setProperty property="name" name="user" value="小二"/><jsp:setProperty property="age" name="user" value="4"/><!-- 创建对象 id:变量名,class:对象名,scope:作用域--><jsp:useBean id="user1" class="lesson04.User" scope="request"></jsp:useBean><!-- 设值 property:对象的属性名,name:对象变量名,value:赋值--><jsp:setProperty property="name" name="user1" value="小三"/><jsp:setProperty property="age" name="user1" value="8"/><!-- el表达式也拥有四个对应的内置对象 pageScope requestScope sessionScope applicationScope --><!-- page -->${pageScope.user.name }---------${pageScope.user.age }<br/> <!-- request -->${requestScope.user1.name }----------${requestScope.user1.age }<br/><%//jsp内置对象 pageContext request session application//useBean的scope page request session application//el表达式内置对象 pageScope requestScope sessionScope applicationScope//el表达式内置对象实际上就是Map 只是填充了 通过setAtrribute()方法写入的键值对//如果不指定作用域对象 会从作用域最低的对象搜索 pageScope<requestScope<sessionScope<applicationScope//如果不指定域名对象 影响搜索的效率 建议加上pageContext.setAttribute("id", 1);request.setAttribute("id", 2);session.setAttribute("id", 3);application.setAttribute("id", 4);%>${sessionScope.id }<br/><!-- el表达式提供了全局对象 pageContext 可以用于处理页面上任意的内置-->${pageContext.session.id }<br/><!-- 获取sessionID -->${pageContext.request.contextPath }<br/><!-- 获取上下文对象 -->
<form><input type='text' name="num1" value="${param.num1 }"/>+<input type='text' name="num2" value="${param.num2 }"/><input type='submit' value="="/><input type='text' name="result" value="${param.num1+param.num2 }"></form>效果
2.JSTL标签库
标记库名称
URI
前缀
说明
core
http://java.sun.com/jsp/jstl/core
c
核心功能实现,包括变量管理、迭代和条件判断等
I18N
http://java.sun.com/jsp/jstl/fmt
fmt
国际化,数据格式显示
SQL
http://java.sun.com/jsp/jstl/sql
sql
操作数据库
XML
http://java.sun.com/jsp/jstl/xml
x
操作XML
Fn
http://java.sun.com/jsp/jstl/functions
fn
常用函数库,包括String操作,集合类型操作等
引入标签库
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
Core标记库内容
例如
<%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %><%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%><!-- 引入自定义标签 --><%@taglib tagdir="/WEB-INF/tags" prefix="ex" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><!-- core标签库 --><!-- 1、定义变量 变量存储在四大作用域中 page request session application标签的属性 value 一般都支持el表达式计算 --><c:set var="name" value="zs" scope="page"></c:set>${pageScope.name }<!-- 2、if语句 不支持else--><c:set var="sal" value="20000" scope="page"></c:set><c:if test="${pageScope.sal<=10000 }">低薪</c:if><c:if test="${pageScope.sal>10000 }">高薪</c:if><!-- 3、choose when otherwise 相当于if....else...--><c:choose><c:when test="${pageScope.sal<=10000 }">低薪</c:when><c:when test="${pageScope.sal>10000 and pageScope.sal<=20000 }">中薪</c:when><c:otherwise>高薪</c:otherwise></c:choose><!-- 4、循环 forEach --><!-- for(int i=1;i<=10;i++){} --><c:forEach var="i" begin="1" end="10" step="1">${pageScope.i }</c:forEach><!-- foreach(){} --><%String[] str=new String[]{"篮球","足球"};pageContext.setAttribute("str", str);List list=new ArrayList();list.add("羽毛球");list.add("排球");pageContext.setAttribute("myList", list);%><c:forEach var="ste" items="${pageScope.myList }">${pageScope.ste }</c:forEach><!-- 5、out输出内容 c:out标签能够对内容的特殊符号进行转译 escapeXml 默认值true 表示对html进行转译五风险 false和el表达式有风险--><c:set var="tt" value="<font color=red>你好</font>"></c:set><%-- ${pageScope.tt } --%><c:out value="${pageScope.tt }" escapeXml="true"></c:out><!-- 其他标签 --><!-- 跳转 --><%-- <c:redirect url="http://www.pan.com/jspLesson/lesson05work/db.jsp"></c:redirect> --%><!-- catch 异常 --><c:catch var="myEx"><% String ss=null;ss.toString();%></c:catch>${pageScope.myEx }<!-- 国际化,数据格式显示 --><jsp:useBean id="date" class="java.util.Date"></jsp:useBean><!-- formaDate 将日期类型转换成字符串 --><fmt:formatDate value="${pageScope.date }" pattern="yyyy-MM-dd"/><!-- parseDate 将字符串转换成日期类型 --><fmt:parseDate value="2017/12/12" pattern="yyyy/MM/dd"></fmt:parseDate><!-- 四舍五入 pattern="###.#" 保留的小数位--><fmt:formatNumber value="123.56" pattern="###.#"></fmt:formatNumber><!-- 国际化 --><!-- 设值浏览器的locale对象 --><fmt:setLocale value="${pageContext.request.locale }"/><!-- 设置读取的资源文件的basename --><fmt:setBundle basename="my"/><!-- 读取资源文件的信息 --><fmt:message key="hello"></fmt:message><!-- 字符串 --><!-- 去空格 -->${fn:trim(' hello world ') }<!-- 包含 -->${fn:contains('nihao','i') }<!-- 把字符串以指定的字符拆分 --><c:forEach var="ee" items="${fn:split('a,b,c',',') }">${pageScope.ee }</c:forEach><!-- 是否已指定字符结尾 -->${fn:endsWith('dddd.txt', '.txt')}<!-- 是否以指定的字符开头 -->${fn:startsWith('你好', '你')}<!-- 在一个字符串中 查找指定的字符并返回所在的下标(下标从0开始) 未找到返回-1-->${fn:indexOf('hello','o')}<!-- 返回字符串的长度 -->${fn:length('dfdfdf')}<!-- 字符串替换 -->${fn:replace('a,b,c', ',', ';')}<!-- -->${fn:join(fn:split('a,b,c',',') ,';')}<!-- 截取字符串 包左不包右 -->${fn:substring('jdfldj', 0, 2)}<!-- 从左往右查找指定字符并截断 -->${fn:substringAfter('lfjglg', "f")}<!-- 从右往左查找指定字符并截断 -->${fn:substringBefore('lfjglg', "j")}<!-- 转小写 -->${fn:toLowerCase("DDDD")}<!-- 转大写 -->${fn:toUpperCase("aaaa")}</body></html>
阅读全文
0 0
- el表达式与标签库
- EL表达式与标签
- EL表达式与JSTL标签库
- EL表达式与JSTL标签库
- EL表达式与JSTL标签库示例
- JSTL标签库与EL表达式
- EL表达式与JSTL标签库
- EL表达式与JSTL标签
- JSTL标签与EL表达式
- JSTL标签与EL表达式
- EL表达式与JSTL标签
- EL表达式、JSTL标签库
- JSTL标签库+EL表达式
- java中的El表达式 与jstl标签库
- EL表达式与JSTL(C)标签
- 【JavaWeb】EL表达式与JSTL标签
- EL表达式与JSTL标签的使用
- EL表达式与JSTL(C)标签
- 【剑指offer】Java版代码(完整版)
- 数字图像处理中的数学操作
- SpringMvc + Mybatis + Maven + Freemarker
- 广州实体店为什么要开发微信小程序?
- vue如何实现数据的双向绑定
- el表达式与标签库
- 项目:人员管理系统
- 二叉树中路径和为某整数的所有路径 lint code by python
- List常见用法
- 转载:objc与鸭子对象
- Java作业
- HDU 4009 Transfer water【最小树形图】
- process_flag(trap_exit, true)
- Javaweb 绝对路径和相对路径-巧理解