EL表达式练习

el可以让页面变的更整洁

1.先创建一个srvlet

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 测试EL表达式
 * @author Administrator
 *
 */
public class JstlElServlet extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  request.setAttribute("hello", "Hello World");
  
  //结构
  Group group = new Group();
  group.setName("鹰之眼");
  
  User user = new User();
  user.setUserName("张三");
  user.setAge(23);
  user.setGroup(group);
  
  request.setAttribute("user", user);
  
  //map
  Map map = new HashMap();
  map.put("k1", "v1");
  map.put("k2", "v2");
  request.setAttribute("map", map);
  
  //字符器数组
  String[] strArray = new String[]{"a","b","c"};
  request.setAttribute("strArray", strArray);
  
  //对象数组
  User[] users = new User[10];
  for (int i = 0; i < users.length ;i++) {
   users[i] = new User();
   users[i].setUserName("张三_" + i);
  }
  
  request.setAttribute("users", users);
  
  //List
  List userList = new ArrayList();
  for (int i = 0;i < 10;i++) {
   User usl = new User();
   usl.setUserName("李四_" + i);
   userList.add(usl);
  }
  request.setAttribute("userList", userList);
  
  //empty 判断是为空值
  request.setAttribute("v2", "");
  request.setAttribute("v3", new ArrayList());
  request.setAttribute("v4", "12345");
  request.setAttribute("v5", null);
  
  request.getRequestDispatcher("/jstl_el.jsp").forward(request, response);
 } 
}

2.配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 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-app_2_4.xsd">
 <servlet>
  <servlet-name>JstlElServlet</servlet-name>
  <servlet-class>cn.egps.jstl.JstlElServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>JstlElServlet</servlet-name>
  <url-pattern>/servlet/JstlElServlet</url-pattern>
 </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

3.创建一个页增加一个键接用于访问servlet,也可以直接访问servlet

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
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%>">
   
    <title>测试El表达式</title>
  </head>
 
  <body>
    <a href="servlet/JstlElServlet">测试EL表达式</a>
  </body>
</html>

4.创建一个sevlet返回的页面用于测试EL表达式

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>el表达式</title>
  </head>
  <body>
   <h1>测试EL表达式</h1>
   <hr>
   <li>普通字符器</li><br>
   hello(jsp脚本):<%=request.getAttribute("hello") %><br>
   hello(el表达式,语法:$和{}):${hello}<br>
   hello(el表达式,el的内置对象pageScope,requestScope,sessionScope,applicationScope)<br>
   如果不指定范围,它的搜索顺序为pageScope~applicationScope):${requestScope.hello }<br>
   hello(el表达式,指定范围从session取得):${sessionScope.hello }
   
   <p>
   <li>结构,采用.进行导航,或称为存取器</li><br>
   姓名:${user.userName }<br>
   年龄:${user.age }<br>
   所属组:${user.group.name }<br>
   
   <p>
   <li>map</li><br>
   map.k1:${map.k1 }<br>
   map.k2:${map.k2 }<br>
   
   <p>
   <li>字符串数组,采用[]下标</li><br>
   strArray[1]:${strArray[1] }<br> 
   
   <p>
 <li>对象数组,采用[]下标</li><br>
 users[5].userName:${users[5].userName}<br>
 
 <p>
 <li>List,采用[]下标</li><br>
 userList[6]:${userList[6].userName }<br>
 
 <p>
 <li>el表达式对运算符的支持</li><br>
 1 + 1 = ${1 + 1 }<br>
 10 / 5 = ${ 10 / 5 }<br>
 10 div 5 = ${10 div 5 }<br>
 10 % 3 = ${10 % 3 } <br>
 10 mod 3 = ${10 mod 3 }
 <!--
  ==/eq
  !=/ne
  </lt
  >/gt
  &&/and
  ||/or
  !/not
  //div
  %/mod
  -->
 
  <p>
  <li>测试empty 判断是为空值</li><br>
  v1:${empty v1 }<br>
  v1:${empty v2 }<br>
  v1:${empty v3 }<br>
  v1:${empty v4 }<br>
  v1:${empty v5 }<br>
</body>
</html>

转载于:https://www.cnblogs.com/derek-java/archive/2013/03/12/2955828.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值