1,在MVC中应用EL
EL可以通过反射的方式调用保存在属性范围中的java对象内容,比我们现在有一个这样的VO类(Dept.java):
package com.keith.elDemo;
public class Dept {
private int deptNo;
private String dName;
public Dept() {
}
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;
}
}
然后我在jsp中可以通过脚本设置相关内容(elTest.jsp):
<%
Dept dept = new Dept();
dept.setDeptNo(1);
dept.setdName("java");
request.setAttribute("deptInfo",dept);
%>
设置完后,我们可以这样访问(elTest.jsp):
部门编号:${deptInfo.deptNo }
部门名称:${deptInfo.dName }
在利用EL输出对象属性的操作中实际上还是依靠java反射机制完成(可以在getter方法上加上输出,测试观察);
看下在MVC模式中怎么运用:
ElServlet:
package com.keith.elDemo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ElServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Dept dept = new Dept();
dept.setDeptNo(007);
dept.setdName("Java");
req.setAttribute("deptInfo", dept);
req.getRequestDispatcher("elTest.jsp").forward(req, resp);
}
}
在web.xml:
<servlet>
<servlet-name>ELServlet</servlet-name>
<servlet-class>com.keith.elDemo.ElServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ELServlet</servlet-name>
<url-pattern>/ELServlet</url-pattern>
</servlet-mapping>
elTest.jsp:
部门编号:${deptInfo.deptNo }
部门名称:${deptInfo.dName }
此时的页面只管JSP的输出,不用考虑后台是怎么运行的。
2,运算符
在表达式语言中为了方便用户的显示操作定义了许多算术运算符,关系运算符,逻辑运算符,使用这些运算符将会让JSP变得更加简洁;对于太复杂的操作还是应该在Servlet或JavaBean中完成;
No |
算术运算符 |
描述 |
范例 |
结果 |
1 |
+ |
加法操作 |
${1+1} |
2 |
2 |
- |
减法操作 |
${2-1} |
1 |
3 |
* |
乘法操作 |
${1*2} |
2 |
4 |
/或div |
除法操作 |
${1/2}或${1 div 2} |
0.5 |
5 |
%或mod |
取模(余数) |
${1%2}或${1 mod 2} |
1 |
EL中还提供了6种关系运算符:
No |
关系运算符 |
描述 |
范例 |
结果 |
1 |
==或eq |
等于 |
${2 == 3 }或${2 eq 3 } |
false||false
|
2 |
!=或ne |
不等于 |
${2!=3 }或${2 ne 3 }
|
true||true
|
3 |
<或lt |
小于 |
${2<3 }或 ${2 lt 3 } |
true|| true
|
4 |
>或gt |
大于 |
${2>3 }或${2 gt 3 } |
false||false
|
5 |
<=或le |
小于等于 |
${2<=3 }或${2 le 3 } |
true|| true
|
6 |
>=或ge |
大于等于 |
${2>=3 }或${2 ge 3 } |
false||false
|
EL中提供了3种逻辑运算符:
No |
逻辑运算符 |
描述 |
范例 |
结果 |
1 |
&&或and |
与 |
${true && false }或${true and false } |
false
|
2 |
||或or |
或 |
${true || false }或${true or false } |
true
|
3 |
!或not |
相反 |
${!true }或${not true } |
false
|
EL中还有3种其他运算符:
No |
其他运算符 |
描述 |
范例 |
结果 |
1 |
empty |
判断是否为null |
${empty deptInfo } |
false
|
2 |
?: |
三目运算 |
${1 > 2 ? "大于":"小于" } |
小于
|
3 |
() |
括号运算符 |
${1*(2+3) } |
5
|
分享到:
相关推荐
7. **Tomcat服务器**:Tomcat是最常用的JavaWeb应用服务器,学习者需要了解如何配置、部署和管理应用程序。 8. **Spring框架**:Spring是Java企业级应用的主流框架,提供了依赖注入、AOP(面向切面编程)、MVC框架...
8. **Spring框架**:Spring是JavaWeb开发中最常用的框架之一,它提供了依赖注入、AOP(面向切面编程)、事务管理等功能,简化了企业级应用的开发。 9. **MyBatis**:MyBatis是一个持久层框架,它简化了SQL操作,将...
### 基于MVC模式的JavaWeb应用设计 #### 一、引言 随着互联网技术的迅猛发展,Web应用已经成为现代信息化社会不可或缺的一部分。在众多的Web开发技术中,Java以其强大的跨平台能力、丰富的类库支持以及成熟的企业级...
JavaWeb编程是IT领域中一个重要的分支,主要涉及在Web服务器上使用Java语言进行开发,构建动态、交互式的网页应用。这份"JavaWeb编程打包资源--超值大礼"包含了全面的学习材料,特别关注JSP(JavaServer Pages)技术...
5. **MVC模式**:模型-视图-控制器架构,用于组织JavaWeb应用的结构。 6. **过滤器和监听器**:用于拦截请求、响应,实现全局的功能,如登录检查、字符编码转换等。 7. **JDBC**:Java Database Connectivity,Java...
崔希凡老师的JavaWeb笔记涵盖了从day18到day23的关键内容,这些知识点是学习JavaWeb开发过程中不可或缺的部分。以下是对这些知识点的详细解析: 1. **Servlet基础**(day18):Servlet是Java Web应用的核心组件,...
崔希凡老师的JavaWeb笔记涵盖了从day24到day28的内容,这五天的教程主要涉及了JavaWeb开发中的核心技术和实践应用。在JavaWeb领域,这些天的学习通常是项目开发周期中的关键阶段,涵盖了从数据库交互、Servlet编程、...
这部分内容可能涵盖JSP的基本语法、指令元素(如page、include、taglib)、脚本元素(声明、表达式、脚本let)以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用。 Day16的课程...
《贵美商城*源码》是一个典型的Javaweb实训项目,主要采用了Myeclipse作为开发工具,MySQL作为后台数据库,旨在帮助初学者理解和实践Web应用程序的开发流程。这个项目涵盖了用户注册、登录、商品浏览、购买等基本...
可能涉及到JSP的九大内置对象、EL(表达式语言)和JSTL(JavaServer Pages Standard Tag Library)的使用,以及如何实现页面转发和重定向。 3. **MVC(Model-View-Controller)模式**: 这是一种设计模式,常用于JavaWeb...
EL(Expression Language)是表达式语言,用于在JSP中直接访问JavaBean的属性。 6. **过滤器与监听器**:Filter和Listener是JavaWeb的重要组件。过滤器可以拦截请求和响应,进行预处理或后处理,如字符编码转换。...
JavaWeb技术是Java编程语言在Web开发中的应用,它涵盖了从服务器端编程到与客户端交互的各种技术。这个“JavaWeb视频教程 传智播客 第28天 共28天”的系列课程,显然是一个完整的JavaWeb学习路径,旨在帮助初学者或...
在这个项目中,学生通常会学习到如何利用Java语言、Servlet、JSP、MVC架构以及数据库技术来构建一个完整的Web应用。下面我们将深入探讨这个项目中的关键知识点。 1. **Java基础**:作为JavaWeb开发的基础,理解Java...
总之,通过JavaWeb、Servlet、JSP和JavaBean,我们可以实现一个功能完善的BMI计算器应用,充分利用MVC模式的优势,实现良好的代码结构和职责划分。这样的项目不仅有助于学习JavaWeb技术,也是提升软件工程实践能力的...
JavaWeb MVC 留言板项目是一个典型的三层架构应用程序,主要使用Java技术栈,结合Model-View-Controller设计模式来实现。在这个项目中,我们将会深入探讨以下几个关键知识点: 1. **MVC设计模式**: - **Model...
这个阶段的课程主要关注于在实际项目中常见的应用场景,包括但不限于Servlet、JSP、MVC模式以及数据库操作等。以下是一些关键知识点的详细说明: 1. **Servlet**: Servlet是Java Web应用中的服务器端组件,用于...
【内科大javaweb课设】是一个典型的Java Web项目,主要采用了传统的MVC(Model-View-Controller)架构模式。这个课设旨在让学生们实践如何构建一个完整的网上书城系统,涵盖前端展示、后端业务逻辑以及数据库设计等...
【JavaWeb学生信息管理系统-无样式】是一个基于MVC(Model-View-Controller)模式的简单应用程序,专为Java初学者设计,可以在IntelliJ IDEA这样的集成开发环境中进行开发和运行。这个系统的核心目标是实现对学生...
【标题】"javaweb项目16-20"涵盖了Java Web开发的多个核心主题,这些主题对于理解和构建实际的Web应用程序至关重要。在Java Web开发中,开发者通常使用Java、JavaServer Pages (JSP)、Servlets、JavaServer Faces ...