1、form.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTt1.jspML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> </head> <body> <%out.print("servlet的环境:"+config.getServletContext()); %> <form action="jsp/el1.jsp" method="post"> <input type="text" name="name"/><br> <input type="password" name="password"/><br> <input type="submit" /> </form> </body> </html>
2、el1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> </head> <body> <!--EL表达式的基本用法 --> <p>使用java代码获取用户名:<%=request.getParameter("name") %></p> <!--使用EL表达式的两种方法输出参数是name和password的值 --> <!--从其他页面传递的参数使用这种格式获取数据 --> <p>使用EL表达式获取用户名:${param.name}</p> <p>使用EL表达式获取用户名:${param["name"]}</p> <p>使用EL表达式获取用户密码:${param.password}</p> <p>使用EL表达式获取用户密码:${param["password"]}</p> <!-- 输出结果为:${param.name}--> ${"${param.name}" } <!-- 输出结果:qqqqq --> ${"qqqqqq" } <!--EL表达式的存取范围:pageScope,requestScope,sessionScope,applicationScope --> <!--1.存储数据 --> <%session.setAttribute("session", "EL表达式!!!!"); %> <!--2.获取session中的值 --> 通过java代码获取sessionScope的属性值:<%=session.getAttribute("session") %><br> 通过EL表达式获取sessionScope的属性值:${sessionScope.session } <!--注:jsp的内置对象也是EL表达式的对象。可以使用 --> </body> </html>
3、el表达式循环map和list
(1)循环map
<forEachitems="${map}" var="item"> <c:outvalue="${item.key}"/> <c:outvalue="${item.value}"/> </forEach>
(2)循环List<Student>
list为:list<Student> <c:forEach items="${list}" varStatus="i" var="stu" > <c:if test="${i.index == 0}" > ${stu.name} </c:if> <c:if test="${i.index == 1}"> 123 </c:if> </c:forEach>
(3)循环List<Map<String,Object>>
//List<Map<String,Object>> List<Map<String,Object>> stuList = new ArrayList<Map<String,Object>>(); Map<String,Object> m1 = new HashMap<String,Object>(); m1.put("name","jim"); m1.put("age","15"); stuList.add(m1); Map<String,Object> m2 = new HashMap<String,Object>(); m2.put("name","lucy"); m2.put("age","12"); stuList.add(m2); //循环List<Map<String,Object>> <c:forEach var="student" items="${stuList}" > <c:out value="${student.name}" default="wang"/> <c:out value="${student.age}" default="25"/> </c:forEach>
(4)自定义控制循环次数(begin =0; end= list -1; 则i表示0到list-1)
<c:forEach begin="0" end="$(fn:length(list) - 1)" var="i"> <c:out value="${list[i]}" /> </c:forEach>
把end配成你要的循环次数就好。在这之前得先判断list的长度,要确保end 小于list的长度,否则会出错。
$(fn:length(list) 获取数组的大小,但必须引入:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
4、判断和设置值
<c:set var="year" value="${userInfo.birthyear }"></c:set> //i取值为(0-100包含100) <c:forEach var="i" begin="0" end="100" step="1"> <c:if test="${year == (2014 - i)}"> <option value="${2014 - i }" selected="true">${2014 - i }</option> </c:if> <c:if test="${year != (2014 - i)}"> <option value="${2014 - i }">${2014 - i }</option> </c:if> </c:forEach> <c:if test="${userInfo.sex != '1' }"> <c:if test="${not empty userInfo && userInfo.username != null && userInfo.username != ''}"> //月份 <c:set var="month" value="${userInfo.birthmonth }"></c:set> <c:forEach var="i" begin="1" end="12" step="1"> <c:if test="${i == month }"> <option value="${i}" selected="true">${i}</option> </c:if> <c:if test="${i != month }"> <option value="${i }">${i }</option> </c:if> </c:forEach>
相关推荐
1. **基本EL表达式**:基础的EL表达式用于获取JavaBeans的属性值。例如,`${user.name}`将获取名为`user`的JavaBean对象的`name`属性。在JSP中,可以这样声明一个Bean并访问其属性: ```jsp User user = new User...
本文将深入探讨如何结合AOP和EL表达式来拦截并处理EL表达式的评估结果,实现更为复杂的逻辑操作。 ### 自定义注解:开启AOP拦截的钥匙 要想使用AOP来拦截特定方法,首先需要创建一个自定义注解。这个注解将作为...
### EL表达式语言详解 #### 9.1 概述 在JSP页面开发中,为了提高代码的可读性和可维护性,开发者们逐渐转向使用标签库来替代传统的Java片段语言来实现页面的显示逻辑。然而,自定义标签虽然灵活,但也容易导致重复...
本篇文章将详细介绍EL表达式中的各种运算符及其用法,包括逻辑运算符、关系运算符、算术运算符等,并通过具体的例子进行说明,帮助读者更好地理解和掌握EL表达式的使用技巧。 #### 二、EL表达式基础 EL表达式通常...
其中包括了EL表达式的语法用法和一些例子程序
本篇文章将深入探讨EL表达式的常用功能,并通过具体的例子帮助读者更好地理解和运用。 #### 一、EL表达式基础 EL表达式是一种简洁的方式来获取或计算出对象的值。其基本语法形式为:`${expression}`。其中`...
EL表达式的语法通常为`${expression}`,它会根据表达式中的关键字在不同的作用域(page、request、session、application)中查找对应的值。例如,`${user.name}`会尝试在所有作用域中寻找名为`user`的对象并返回其`...
在这个例子中,`${msgs.addFullName}`是一个EL表达式,它会被JSP引擎解析并计算出一个值,然后通过`<%= %>`插入到JS代码中,成为`var addFullName`变量的值。 #### 方法二:使用数据属性 另一种方法是利用HTML5的...
EL(Expression Language)表达式是JavaServer Pages...总之,EL表达式提供了一种高效且直观的方式来访问和操作服务器端的数据,极大地简化了JSP页面的编写,使得开发者能够更加专注于业务逻辑而不是繁琐的语法细节。
在上述例子中,`user`对象可能在某个作用域内被设置,EL表达式负责从该对象中获取并显示属性值。 此外,配合JSTL(JavaServer Pages Standard Tag Library)库,EL表达式可以使JSP页面更加整洁,提高可读性和维护性...
这是EL表达式最简单的使用方式之一。 #### 作用域访问对象 EL表达式支持四种作用域的访问对象:`pageScope`、`requestScope`、`sessionScope`和`applicationScope`。 - **pageScope**:表示当前JSP页面的作用域。...
在这个例子中,`<c:forEach>`标签用于遍历由EL表达式`${list}`表示的列表,并使用`var`属性设置当前元素变量`item`,然后在循环体内输出每个元素。 **6. 总结** JSP的JSTL标签和EL表达式是提升开发效率和代码质量的...
EL表达式在JSP 2.0及更高版本中被广泛使用,与JSTL(JavaServer Pages Standard Tag Library)配合,极大地提高了JSP页面的可读性和可维护性。 EL表达式的语法简洁明了,通常以"$"符号开始,后面跟随表达式。它允许...
##### 示例:简单EL表达式 ```jsp ;charset=UTF-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ${sampleValue + 1} ``` 在这个例子中,`${sampleValue + 1}`是一个EL表达式,...
自定义EL表达式是Java Web开发中的一个高级技巧,它允许开发者扩展标准的JSP Expression Language(EL)功能,以满足特定项目需求。EL是一种简洁的语法,用于在JSP页面中获取JavaBean属性或者调用Java方法。通过...
EL表达式的语法非常简单,其格式是以`$`和`{`开头,并以`}`结尾。通过这种方式,可以在JSP页面中轻松地获取各种范围内的变量。 ##### 例子: - **传统JSP Scriptlet方式**: ```java User user = (User) session....
本文将深入探讨EL表达式的使用全集,通过具体的例子来帮助理解。 **1. EL表达式的基本语法** EL表达式通常以`$`符号开头,后面跟着大括号`{}`,例如`${expression}`。表达式内部可以是Java对象、属性、方法调用、...
以下是一个简单的JSP EL表达式使用示例: ```jsp <head><title>测试EL表达式</title></head> 普通字符串</li><br> (jsp脚本):("hello") %> (EL表达式): ${hello} ``` 在这个例子中,`hello`是一个存储在...