JavaWeb -- Jsp中的 EL表达式
- lEL 全名为Expression Language。EL主要作用:
中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
1、导入jstl.jar和standerd.jar这两个JSTL的jar文件。
2、在JSP页面中使用<%@ tablib url=“” prifix=“” %>元素导入标签库。
<c:foreach var=“” items=“”>
<c:if test=“”>
<%@page import="javax.swing.plaf.basic.BasicScrollPaneUI.HSBChangeListener"%>
<%@page language="java" import="java.util.*,com.kevin.*" pageEncoding="UTF-8" errorPage="/errors/error.jsp"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title> </head>
<body> <font color="red"> <br />---------------------------------------------------<br />
<%
Person person = new Person("xiang");
request.setAttribute("person", person);
%>
${person.name } <br/> <br />---------------------------------------------------<br />
<%
List list = new ArrayList();
list.add(new Person("kevin"));
list.add(new Person("xiang"));
request.setAttribute("list", list);
%>
${list[0].name} <br/>
<c:forEach var="pList" items="${list}">
${pList.name} <br/>
</c:forEach> <br />---------------------------------------------------<br />
<%
Map map = new HashMap();
map.put("aaaa", new Person("aaaa___"));
map.put("1111", new Person("1111____"));
request.setAttribute("map", map);
%>
${map.aaaa.name} <br/>
${map['1111'].name} <br/>
<c:forEach var="entry" items="${map}">
${entry.key} : ${entry.value.name} <br />
</c:forEach> <br />---------------------------------------------------<br />
${pageContext.request.contextPath} <!-- 动态获取Web应用的路径 /WebTest4 --> <br />---------------------------------------------------<br />
<c:if test="${person==null}">
请登录!!!
</c:if>
<c:if test="${person!=null}">
欢迎:${person.name}
</c:if> </font> </body>
</html>
2. 执行运算
3. 获得web开发常用对象
public class HtmlFilter {
public static String filter(String message) {
if (message == null)
return (null);
char content[] = new char[message.length()];
message.getChars(0, message.length(), content, 0);
StringBuilder result = new StringBuilder(content.length + 50);
for (int i = 0; i < content.length; i++) {
switch (content[i]) {
case '<':
result.append("<");
break;
case '>':
result.append(">");
break;
case '&':
result.append("&");
break;
case '"':
result.append(""");
break;
default:
result.append(content[i]);
}
}
return (result.toString());
}
}
<?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>A tag library exercising SimpleTag handlers.</description>
<tlib-version>1.0</tlib-version>
<short-name>kevin</short-name>
<uri>http://www.kevin.com</uri>
<function>
<name>filter</name>
<function-class>com.kevin.web.tag.HtmlFilter</function-class>
<function-signature>java.lang.String filter( java.lang.String )</function-signature>
</function> </taglib>
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.kevin.com" prefix="fn" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body> <a href=''>点点</a>
${fn:filter("<a href=''>点点</a>")}
</body>
</html>
5.EL函数库
<body> <%
User user = new User();
String[] licks = {"sing", "dance", "football"};
user.setLicks(licks);
request.setAttribute("user", user);
%> <input type="checkbox" name="lick" value="sing" ${fn:contains(fn:join(user.licks, ","),"sing")?'checked':''} />唱歌 <br />
<input type="checkbox" name="lick" value="dance" ${fn:contains(fn:join(user.licks, ","),"dance")?'checked':''} />跳舞 <br />
<input type="checkbox" name="lick" value="football" ${fn:contains(fn:join(user.licks, ","),"football")?'checked':''} />足球 <br />
<input type="checkbox" name="lick" value="basketball" ${fn:contains(fn:join(user.licks, ","),"basketball")?'checked':''} />篮球 <br /> </body>
</html>
| contains | boolean contains(java.lang.String, java.lang.String) | ${fn:contains(name, searchString)} |
| containsIgnoreCase | boolean containsIgnoreCase(java.lang.String, java.lang.String) | ${fn:containsIgnoreCase(name, searchString)} |
| endsWith | boolean endsWith(java.lang.String, java.lang.String) | ${fn:endsWith(filename, ".txt")} |
| escapeXml | java.lang.String escapeXml(java.lang.String) | ${fn:escapeXml(param:info)} |
| indexOf | int indexOf(java.lang.String, java.lang.String) | ${fn:indexOf(name, "-")} |
| join | java.lang.String join(java.lang.String[], java.lang.String) | ${fn:join(array, ";")} |
| length | int length(java.lang.Object) | ${fn:length(shoppingCart.products)} |
| replace | java.lang.String replace(java.lang.String, java.lang.String, java.lang.String) | ${fn:replace(text, "-", "")} |
| split | java.lang.String[] split(java.lang.String, java.lang.String) | ${fn:split(customerNames, ";")} |
| startsWith | boolean startsWith(java.lang.String, java.lang.String) | ${fn:startsWith(product.id, "100-")} |
| substring | java.lang.String substring(java.lang.String, int, int) | ${fn:substring(zip, 6, -1)} |
| substringAfter | java.lang.String substringAfter(java.lang.String, java.lang.String) | ${fn:substringAfter(zip, "-")} |
| substringBefore | java.lang.String substringBefore(java.lang.String, java.lang.String) | ${fn:substringBefore(zip, "-")} |
| toLowerCase | java.lang.String toLowerCase(java.lang.String) | ${fn.toLowerCase(product.name)} |
| toUpperCase | java.lang.String toUpperCase(java.lang.String) | ${fn.UpperCase(product.name)} |
| trim | java.lang.String trim(java.lang.String) | ${fn.trim(name)} |
JavaWeb -- Jsp中的 EL表达式的更多相关文章
- jsp中的el表达式没有解析
今天发现jsp中的el表达式没有解析,把解决的过程记录一下 在web.xml的web-app节点的版本改成2.4以上
- SSH 框架controller向jsp传递List jsp中使用el表达式获取
mvc可以使用ModelAndViev传递数据选择跳转的视图 controller中的代码, 把一个模拟的表单studentListSimulate传给ModelAndView @RequestMap ...
- JSP中的EL 表达式
JSP中的EL 表达式 什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的什么作用:EL 表达式主要是代替 jsp ...
- JSP中使用EL表达式
EL表达式 :EL 全名为Expression Language,就是为了替代<%= %>脚本表达式. EL主要作用: 获取数据: EL表达式主要用于替换JSP页面中的脚本表达式,以从各种 ...
- Jsp中的EL表达式
EL表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果!!! 语法: ${变量或表达式} 可以通过page指令来设置EL表示是否启用,false是不启用,true是启用,默认是true &l ...
- 快速学会在JSP中使用EL表达式
在没有学会EL表达式之前,我们想在JSP文件中获取servlet或者其他JSP页面传来的值,通常都是在JSP页面中编写java代码来实现.而在jsp页面编写Java 代码,这种做法时不规范的,将会产生 ...
- Java基础82 jsp中的EL表达式(网页知识)
1.EL表达式的作用 EL表达式的作用:向浏览器输出域对象中的变量值或者表达式计算结果.语法:${变量或者表达式} 注: Jsp的核心语法:jsp的表达式<%= %>和jsp的脚本< ...
- JSP中的EL表达式详细介绍
一.JSP EL语言定义 EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素.它们通常用于对象操作以及执行那些 ...
- JSP中,EL表达式向session中取出一个attribute和JSP脚本访问session取出一个attribute,写法有何不同?(转自百度知道)
EL表达式使用起来会更简洁,假如session中有一个属性A(attrA),那么EL和jsp脚本取值的方式如下: EL表达式:${ sessionScope.attrA } JSP脚本:<%=s ...
随机推荐
- EasyDSS流媒体服务器软件(支持RTMP/HLS/HTTP-FLV/视频点播/视频直播)-正式环境安装部署攻略
EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP ...
- maven 打包报错
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------ ...
- 通过margin负值去除padding
.pay-type { // 图片布局前通过margin负值去除padding margin: 0 -@page-padding-horizontal; display: inline-flex; } ...
- 使用QFileInfo类获取文件信息(在NTFS文件系统上,出于性能考虑,文件的所有权和权限检查在默认情况下是被禁用的,通过qt_ntfs_permission_lookup开启和操作。absolutePath()必须查询文件系统。而path()函数,可以直接作用于文件名本身,所以,path() 函数的运行会更快)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo类为我们提供了系统无 ...
- win7安装composer
安装前请务必确保已经正确安装了 PHP.打开命令行窗口并执行 php -v 查看是否正确输出版本号. 开始安装前需要把open_ssl扩展打开 打开命令行并依次执行下列命令安装最新版本的 Compos ...
- 怎样解决Please ensure that adb is correctly located at......
昨天下午搭建了Android开发环境,但是天公不作美--执行新建的Android项目总是提演示样例如以下问题: [2014-10-30 15:41:47 - ] The connection to a ...
- springboot整合 Thymeleaf模板
首先引入maven jar依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif ...
- 剑指offer 面试66题
面试66题: 题目:构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]* ...
- 2015.7.8(千股跌停!做T不应当只做中色,中国软件)
2015.7.81.今天开盘所有的股票全部跌停,真是一大奇观! 今天中色股份和以往不同买卖盘为正! 但是中色的爬升比较慢,价位始终没有高过昨天的收盘价————这种情况下是否应该做T呢? 2.做T不应当 ...
- [JavaScript]常用的页面倒计时
倒计时是web开发中比较常用的,以下列出常用的几个倒计时方法,仅供参考: 一 :页面倒计时 原理一般都是通过 setTimeout 或 setInterval 函数实现,下面是一个最简单的倒计时 &l ...