对JSTL中的EL表达式做下测试(具体过程可以参见尚学堂的视频)
前提:。
第一步:添加JstlElAction类
package com.bjsxt.struts;
/**
* 测试EL表达式
*/
public class JstlElAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//普通字符串
request.setAttribute("hello", "hello world");
//结构
Group group = new Group();
group.setName("尚学堂");
User user = new User();
user.setUsername("张三");
user.setAge(18);
user.setGroup(group);
request.setAttribute("user", user);
//map
Map mapValue = new HashMap();
mapValue.put("key1", "value1");
mapValue.put("key2", "value2");
request.setAttribute("mapvalue", mapValue);
//字符串数组
String[] strArray = new String[]{"a", "b", "c"};
request.setAttribute("strarray", strArray);
User[] users = new User[10];
for (int i=0; i<10; i++) {
User u = new User();
u.setUsername("U_" + i);
users[i] = u;
}
request.setAttribute("users", users);
List userList = new ArrayList();
for (int i=0; i<10; i++) {
User uu = new User();
uu.setUsername("UU_" + i);
userList.add(uu);
}
request.setAttribute("userlist", userList);
//empty
request.setAttribute("value1", null);
request.setAttribute("value2", "");
request.setAttribute("value3", new ArrayList());
request.setAttribute("value4", "123456");
//html
request.setAttribute("htmlValue", "<font color='red'>html</font>");
return mapping.findForward("success");
}
}
第二步:添加测试的jsp页面(jstl_el.jsp)
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!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=GB18030">
<title>测试EL表达式</title>
</head>
<body>
<h1>测试EL表达式</h1><br>
<hr>
<li>普通字符串</li><br>
hello(jsp脚本):<%=request.getAttribute("hello") %><br>
hello(el表达式,el表达式的使用方法$和{}):${hello }<br>
hello(el表达式,el的隐含对象pageScope,requestScope,sessionScope,applicationScope,<br> 如果未指定scope,它的搜索顺序为pageScope~applicationScope):${requestScope.hello }<br>
hello(el表达式,scope=session):${sessionScope.hello }<br>
<p>
<li>结构,采用.进行导航,也称存取器</li><br>
姓名:${user.username }<br>
年龄:${user.age }<br>
所属组:${user.group.name }<br>
<p>
<li>输出map,采用.进行导航,也称存取器</li><br>
mapvalue.key1:${mapvalue.key1 }<br>
mapvalue.key2:${mapvalue.key2 }<br>
<p>
<li>输出数组,采用[]和下标</li><br>
strarray[2]:${strarray[1] }<br>
<p>
<li>输出对象数组,采用[]和下标</li><br>
userarray[3].username:${users[2].username }<br>
<p>
<li>输出list,采用[]和下标</li><br>
userlist[5].username:${userlist[4].username }<br>
<p>
<li>el表达式对运算符的支持</li><br>
1+2=${1+2 }<br>
10/5=${10/5 }<br>
10 div 5=${10 div 5 }<br>
10%3=${10 % 3 }<br>
10 mod 3=${10 mod 3 }<br>
<!--
==/eq
!=/ne
</lt
>/gt
<=/le
>=/ge
&&/and
||/or
!/not
//div
%/mod
-->
<li>测试empty</li><br>
value1:${empty value1 }<br>
value2:${empty value2 }<br>
value3:${empty value3 }<br>
value4:${empty value4 }<br>
value4:${!empty value4 }<br>
<p>
<li>测试html输出--self</li><br>
html:${htmlValue}<br>
<p>
</body>
</html>
第三步:显示出来的结果如下:
- 大小: 69.2 KB
- 大小: 18.7 KB
分享到:
相关推荐
在开发过程中,为了使用EL表达式和JSTL,我们需要在项目的类路径中添加相应的JAR文件。这里提到的两个文件: 1. `standard.jar`:这是JSTL的标准实现,包含了JSTL的核心库和其他部分,如XML处理和SQL操作。这个库...
**JSTL与EL的协同工作**:在JSP页面中,EL表达式通常与JSTL标签一起使用,EL负责数据的获取和计算,而JSTL标签则负责页面的逻辑控制。例如,使用EL表达式和`<c:if>`标签可以实现简单的条件判断: ```jsp ${user != ...
EL表达式通常以`${}`包裹,它能够直接访问作用域中的对象,如request、session、application等。EL的优势在于其简洁性,可以快速地访问和操作数据,而无需编写大量的Java脚本。 **相关jar包**: - **standard.jar**...
这些方法将作为EL表达式中的函数调用。 4. 在JSP页面中使用:在JSP页面中,你可以像使用内置EL函数一样,通过`my:myFunction`这种形式调用你的自定义函数,其中`my`是函数库的前缀,`myFunction`是函数名。 举例来...
EL表达式中的变量访问遵循特定的查找顺序:Page、Request、Session、Application范围,如果在某个范围内找到变量,就会立即返回结果,否则返回null。 EL表达式还可以包含: 1. **文字**:直接的文字值,如字符串、...
在"JSTL与El表达式源代码"中,我们可以看到这两个技术的结合使用,以提高Web应用程序的可读性和可维护性。例如,`<c:out>`是JSTL中的一个核心标签,用于输出变量或表达式的值,而`${}`则是EL表达式的符号,用于访问...
在JSP页面中,使用`<c:forEach>`标签迭代用户列表,通过EL表达式 `${user.name}` 和 `${user.age}` 输出用户的名字和年龄。 **总结** JSTL和EL是Java Web开发中不可或缺的工具,它们提高了代码的可读性和可维护性。...
JSTL 1.1规范中的EL可以独立于JSTL标签库使用,JSP2.0容器能够直接解析和执行EL表达式。这使得EL在JSP页面的任何地方都可直接应用,增强了代码的可读性和可维护性。 总的来说,JSTL和EL为JSP开发带来了标准化和效率...
struts jstl el表达式示例代码 struts jstl el 表达式 源码
在实验中,我们学习了 EL 表达式和 JSTL 标签库的原理和使用,了解了如何使用 EL 表达式和 JSTL 标签库来简化 JSP 页面的开发。我们还学习了如何使用 EL 表达式和 JSTL 标签库来实现具体的功能,例如输出数据、条件...
JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,E L(Expression Language) 目的:为了使JSP写起来更加简单。
EL表达式的语法通常为`${expression}`,它会根据表达式中的关键字在不同的作用域(page、request、session、application)中查找对应的值。例如,`${user.name}`会尝试在所有作用域中寻找名为`user`的对象并返回其`...
JavaWeb分页展示数据是Web应用开发中的常见需求,它涉及到多个关键技术的综合运用,包括AJAX、JSTL、EL表达式以及JSP标准动作。在这个项目中,我们将深入探讨这些技术,以便理解如何有效地在网页上实现数据的动态...
本篇将详细介绍如何在JSP中利用JSTL与EL表达式来访问和遍历Map集合。 首先,JSTL是一个标准的标签库,它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中直接写Java...
**JSTL1.1及EL表达式**是Java服务器页面(JSP)开发中的重要组件,它们极大地提升了JSP的可读性和可维护性。本文将深入探讨这两个概念及其在实际开发中的应用。 **JSTL(JavaServer Pages Standard Tag Library)**...
**JSP的JSTL标签和EL表达式详解** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码来生成动态内容。然而,传统的JSP脚本语法可能导致代码混乱且不易维护。为了解决这个问题...
综上所述,在开发中遇到EL表达式问题时,可以通过调整web.xml文件中的JSP版本配置或在JSP页面中调整page directive指令来解决。同时,了解EL表达式在不同Java EE版本中的行为差异以及它们提供的新特性,有助于在实际...
EL表达式经常与JSTL一起使用,尤其是在JSTL的`c`(Core)标签库中。例如,`<c:if>`和`<c:forEach>`标签可以配合EL表达式进行条件判断和循环操作。通过这种方式,开发者可以将业务逻辑和视图层分离,提高代码的可读性...