Struts 1 学习笔记-3-1(EL表达式的使用)
2008-02-11 20:16
543 查看
发现EL使用起来挺方便,至少不用<%= %>了,如果单纯使用EL不需要引入jar包,本人是将其与Struts整合使用。
1.首先是我的Struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<action-mappings>
<action path="/jstlel" type="com.codedestiny.struts.JSTLELAction">
<forward name="success" path="/jstlel.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config>
2.JSTLELAction.java
package com.codedestiny.struts;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class JSTLELAction extends Action ...{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception ...{
request.setAttribute("hello", "Hello World");
Group relatedGroup = new Group();
relatedGroup.setName("SUN");
User u = new User();
u.setUsername("CodeDestiny");
u.setAge(21);
u.setRelatedGroup(relatedGroup);
request.setAttribute("user", u);
Map<String, Integer> hashMap = new HashMap<String, Integer>();
hashMap.put("key1", 1);
hashMap.put("key2", 2);
request.setAttribute("map", hashMap);
String[] array = new String[]...{"a", "b", "c", "d"};
request.setAttribute("array", array);
request.setAttribute("value1", "");
request.setAttribute("value2", new ArrayList());
request.setAttribute("value3", new int[]...{1, 2});
return mapping.findForward("success");
}
}
3.与之对应的jstlel.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>测试EL表达式</h1>
<hr>
<li>简单的EL表达式,其用法是 $ 和 ...{ }</li><br>
1 + 2 = $...{1 + 2} <br>
2 × 10 = $...{2 * 10} <br>
<hr>
<li>EL表达式隐式对象:pageScope,requestScope,sessionScope,applicationScope等,如果未指定scope,它的搜索顺序是:page~application</li><br>
hello(jsp):<%= request.getAttribute("hello") %><br>
hello(el): $...{hello}<br>
hello(el scope=requestScope): $...{requestScope.hello}
<hr>
<li>使用.进行导航,也称存储器</li><br>
姓名: $...{ user.username } <br>
年龄: $...{ user.age } <br>
所属组: $...{ user.relatedGroup.name } <br>
<hr>
<li>使用存储器取出map中的值</li><br>
map.key1 : $...{ map.key1 } <br>
map.key2 : $...{ map.key2 } <br>
<hr>
<li>用[]对数组中的元素进行访问</li><br>
array[1] : $...{ array[1] } <br>
<hr>
<li>EL支持的表达式</li><br>
10 / 5 = $...{ 10 / 5 } <br>
10 div 5 = $...{ 10 div 5 } <br>
10 % 5 = $...{ 10 % 5 } <br>
10 mod 5 = $...{ 10 mod 5 } <br>
<!--
== 在EL中可表示为 eq
!= 在EL中可表示为 ne
< 在EL中可表示为 lt
> 在EL中可表示为 gt
<= 在EL中可表示为 le
>= 在EL中可表示为 ge
&& 在EL中可表示为 and
|| 在EL中可表示为 or
! 在EL中可表示为 not
/ 在EL中可表示为 div
% 在EL中可表示为 mod
-->
<hr>
<li></li>测试empty<br>
value1 empty ? : $...{ empty value1 } <br>
value2 empty ? : $...{ empty value2 } <br>
value3 empty ? : $...{ empty value3 } <br>
</body>
</html>
1.首先是我的Struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<action-mappings>
<action path="/jstlel" type="com.codedestiny.struts.JSTLELAction">
<forward name="success" path="/jstlel.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config>
2.JSTLELAction.java
package com.codedestiny.struts;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class JSTLELAction extends Action ...{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception ...{
request.setAttribute("hello", "Hello World");
Group relatedGroup = new Group();
relatedGroup.setName("SUN");
User u = new User();
u.setUsername("CodeDestiny");
u.setAge(21);
u.setRelatedGroup(relatedGroup);
request.setAttribute("user", u);
Map<String, Integer> hashMap = new HashMap<String, Integer>();
hashMap.put("key1", 1);
hashMap.put("key2", 2);
request.setAttribute("map", hashMap);
String[] array = new String[]...{"a", "b", "c", "d"};
request.setAttribute("array", array);
request.setAttribute("value1", "");
request.setAttribute("value2", new ArrayList());
request.setAttribute("value3", new int[]...{1, 2});
return mapping.findForward("success");
}
}
3.与之对应的jstlel.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>测试EL表达式</h1>
<hr>
<li>简单的EL表达式,其用法是 $ 和 ...{ }</li><br>
1 + 2 = $...{1 + 2} <br>
2 × 10 = $...{2 * 10} <br>
<hr>
<li>EL表达式隐式对象:pageScope,requestScope,sessionScope,applicationScope等,如果未指定scope,它的搜索顺序是:page~application</li><br>
hello(jsp):<%= request.getAttribute("hello") %><br>
hello(el): $...{hello}<br>
hello(el scope=requestScope): $...{requestScope.hello}
<hr>
<li>使用.进行导航,也称存储器</li><br>
姓名: $...{ user.username } <br>
年龄: $...{ user.age } <br>
所属组: $...{ user.relatedGroup.name } <br>
<hr>
<li>使用存储器取出map中的值</li><br>
map.key1 : $...{ map.key1 } <br>
map.key2 : $...{ map.key2 } <br>
<hr>
<li>用[]对数组中的元素进行访问</li><br>
array[1] : $...{ array[1] } <br>
<hr>
<li>EL支持的表达式</li><br>
10 / 5 = $...{ 10 / 5 } <br>
10 div 5 = $...{ 10 div 5 } <br>
10 % 5 = $...{ 10 % 5 } <br>
10 mod 5 = $...{ 10 mod 5 } <br>
<!--
== 在EL中可表示为 eq
!= 在EL中可表示为 ne
< 在EL中可表示为 lt
> 在EL中可表示为 gt
<= 在EL中可表示为 le
>= 在EL中可表示为 ge
&& 在EL中可表示为 and
|| 在EL中可表示为 or
! 在EL中可表示为 not
/ 在EL中可表示为 div
% 在EL中可表示为 mod
-->
<hr>
<li></li>测试empty<br>
value1 empty ? : $...{ empty value1 } <br>
value2 empty ? : $...{ empty value2 } <br>
value3 empty ? : $...{ empty value3 } <br>
</body>
</html>
相关文章推荐
- struts2学习笔记 -- day08 Struts2中使用EL表达式
- struts学习笔记 [JSTL]<c:forEach>标签的使用
- Struts学习笔记之在ActionForm中使用集合属性并自动组装(populate)数据
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
- Struts2.0学习笔记--Session的创建和使用方法
- 尚学堂Struts学习笔记1:Struts标签的配置和使用
- Struts 2 学习笔记:Struts 2 中 Ajax 的使用方法
- Struts 1 学习笔记-2-1(Struts标签的使用步骤)
- Struts学习笔记(三):Ajax +json+JQuery的综合使用
- 【Struts2学习笔记】struts2.5使用通配符配置action跳转
- Struts2.0学习笔记--Struts2.0标签及其使用方法
- struts学习笔记---Validator的使用(一)
- struts2第十七讲学习笔记,Action处理复选框与JSP页面使用ognl处理map
- [struts2学习笔记] 第四节 学着使用struts 2的tag标签
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
- Struts2-学习笔记系列(11)-使用StrutsTypeConverter
- struts2第十五讲学习笔记,登录拦截器的使用
- 学习笔记---使用prototype.js扩展struts标签实现xmlhttprequest
- [struts2学习笔记] 第四节 学着使用struts 2的tag标签