`
chaoyi
  • 浏览: 290466 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在MVC中应用表达式语言

 
阅读更多

本章目标
掌握表达式输出对象的操作;
掌握表达式语言的实际作用,并结合MVC设计模式应用表达式语言;

 

定义一个VO类 —— Dept.java

package cn.demo.ov;

public class Dept {
	private int deptno;
	private String dname;
	private String loc;
	
	public int getDeptno() {
		return deptno;
	}
	public void setDeptno(int deptno) {
		this.deptno = deptno;
	}
	public String getDname() {
		return dname;
	}
	public void setDname(String dname) {
		this.dname = dname;
	}
	public String getLoc() {
		return loc;
	}
	public void setLoc(String loc) {
		this.loc = loc;
	}
}

 

将此对象保存在属性范围中,通过表达式语言输出

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" import="cn.demo.ov.*"%>
<html>
<head>
<title>将此对象保存在属性范围中,通过表达式语言输出</title>
</head>
<body>
<%
	Dept dept=new Dept();//实例化VO对象
	dept.setDeptno(10);//设置deptno属性
	dept.setDname("chaoyi");//设置dname属性
	dept.setLoc("阅谁问君诵,水落清香浮。");//设置loc属性
	request.setAttribute("deptinfo", dept);//设置request属性
 %>
 <h3>部门编号:${deptinfo.deptno}</h3>
 <h3>部门名称:${deptinfo.dname}</h3>
 <h3>部门位置:${deptinfo.loc}</h3>
</body>
</html>

 

效果图:

 

使用MVC传递集合
一个JSP程序中应该只包含三类代码:接收属性、判断、输出,而且在JSP中最好只导入一个java.util包,所以此时要输出一个集合的话,那么还是要依靠Iterator完成,通过Iterator找出集合中的每一个元素,但表达式语言只能操作四种属性范围中的内容,所以就可以将每一个取出的对象(Object)存放在page范围中(因为每一个要输出的内容只在本页有效),之后再通过表达式输出即可

 

编写Servlet传递request属性

package cn.demo.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.demo.ov.Dept;

public class ELServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Dept dept=new Dept();//实例化VO对象
		dept.setDeptno(10);//设置deptno属性
		dept.setDname("chaoyi");//设置dname属性
		dept.setLoc("阅谁问君诵,水落清香浮。");//设置loc属性
		request.setAttribute("deptinfo", dept);//设置request属性
		request.getRequestDispatcher("demo2.jsp").forward(request, response);//设置服务器跳转传递request属性
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doGet(request, response);//调用doGet()
	}
}

 

配置web.xml

  <servlet>
  	<servlet-name>EServlet</servlet-name>
  	<servlet-class>cn.demo.servlet.ELServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>EServlet</servlet-name>
  	<url-pattern>/031004/ELServlet</url-pattern><!-- 页面的映射路径 -->
  </servlet-mapping>

 

接收 request 属性并输出

 

<%@ page language="java" contentType="text/html" pageEncoding="utf-8" import="cn.demo.ov.*"%>
<html>
<head>
<title>接收 request 属性并输出</title>
</head>
<body>
 <h3>部门编号:${deptinfo.deptno}</h3>
 <h3>部门名称:${deptinfo.dname}</h3>
 <h3>部门位置:${deptinfo.loc}</h3>
</body>
</html>

 

效果图:

  

定义Servlet传递集合

package cn.demo.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.demo.ov.Dept;

public class ELListServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		List<Dept> all=new ArrayList<Dept>();//实例化List接口
		Dept dept=null;//定义Dept对象
		dept=new Dept();//实例化OV对象
		dept.setDeptno(10);//设置deptno属性
		dept.setDname("chaoyi");//设置dname属性
		dept.setLoc("阅谁问君诵,水落清香浮。");//设置loc属性
		all.add(dept);//向集合中增加dept属性
		dept=new Dept();//实例化OV对象
		dept.setDeptno(11);//设置deptno属性
		dept.setDname("chaoyv");//设置dname属性
		dept.setLoc("夜半钟声镜雨来。");//设置loc属性
		all.add(dept);//向集合中增加dept属性
		request.setAttribute("alldept", all);//设置request属性
		request.getRequestDispatcher("demo3.jsp").forward(request, response);//设置服务器跳转传递request属性
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doGet(request, response);//调用doGet()
	}
}

 

配置web.xml

  <servlet>
  	<servlet-name>ELListServlet</servlet-name>
  	<servlet-class>cn.demo.servlet.ELListServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>ELListServlet</servlet-name>
  	<url-pattern>/031004/ELListServlet</url-pattern><!-- 页面的映射路径 -->
  </servlet-mapping> 

 

使用表达式输出集合

<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" import="cn.demo.ov.*"%>
<html>
<head>
<title>使用表达式输出集合</title>
</head>
<body>
<%
	List all=(List)request.getAttribute("alldept");//接收List集合
	if(all!=null){//判断是否为空
%>
	<table border="1" width="30%">
		<tr>
			<td>部门编号</td>
			<td>部门名称</td>
			<td>部门位置</td>
		</tr>
<%
		Iterator iter=all.iterator();//实例化Iterator对象
		while(iter.hasNext()){//迭代输出
			pageContext.setAttribute("dept", iter.next());//设置page属性
%>
		<tr>
			<td>${dept.deptno}</td>
			<td>${dept.dname}</td>
			<td>${dept.loc}</td>
		</tr>
<% 		
		}
 %>
	</table>
<% 	
	}
 %>
</body>
</html>

 

效果图:

 

小结
表达式语言可以方便的进行对象属性的输出;
通过表达式语言输出集合时,需要使用page属性范围完成;
表达式结合MVC设计模式将发挥更大的作用。

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 19.5 KB
  • 大小: 20.7 KB
  • 大小: 24.5 KB
  • 大小: 72.3 KB
0
0
分享到:
评论

相关推荐

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 ...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、...

    java web 视频、电子书、源码(李兴华老师出版)

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 ...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 ...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 11.4、...

    李兴华Java Web开发实战经典(高清版) Part2

    10.4、在MVC中应用表达式语言 10.5、运算符 10.6、本章摘要 10.7、开发实战讲解(基于Oracle数据库) 第11章 Tomcat数据源 11.1、数据源操作原理 11.2、在Tomcat中使用数据库连接池 11.3、查找数据源 ...

    [免费]Spring MVC学习指南(高清)

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    大优惠 Spring MVC学习指南(第2版)2017.pdf

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Spring MVC学习指南

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南.rar

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    EL表达式 (详解)

    4) 1--EL表达式用${}表示,可用在所有的HTML和JSP标签中作用是代替JSP页面中复杂的JAVA代码. 2--EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和${paramValues}. ${param}表示返回请求参数...

    Spring MVC学习指南 第2版 高清版

    分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、转换器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件以及应用测试等多个角度介绍了Spring MVC。附录部分分别...

    JSP应用开发详解(第三版)

    以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、表达式语言、Struts、JavaServer Face、Spring MVC、Hibernate、Ajax等技 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    《Java Web开发与实战--Eclipse+Tomcat+Servlet+JSP整合应用》.(刘伟,张利国).[PDF].zip

    主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...

    SpringMVC学习指南.pdf

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

Global site tag (gtag.js) - Google Analytics