JSP 2.0 之后提供的一个最主要功能,支持表达式语言操作,如果要想让表达式语言发挥出自己的主要作用,则必须首先考虑的是使用MVC设计模式完成,因为在MVC设计模式中一个最主要的好处就是让JSP中的代码越来越少了,而且已经规定了再JSP之中只能出现三种代码。
?1.接收属性
?2.判断语句
?3.迭代输出
但是,如果在开发之中,有时候做到这一点是很难做到的,在实际的代码开发中已经讲解过了,一个JSP肯定输出的是接收VO对象的,则这个时候为了避免导入VO包,也只能通过表达式完成。
?表达式语言 (Expression Language,简称EL):是JSP2.0中新增的新功能,使用表达式语言,可以方便的访问标志位 (在JSP中一共提供了四种标志位:page<pageContext>,request,session,application)中的属性内容,这样就可以避免掉许多的scriptlet代码,访问的简便语法如下:
? ${属性名称}
?
优点 :如果现在使用表达式语言完成输出的话,可以很好的控制掉null的问题,而且比之前使用Scriptlet代码输出更加的简便,而且使用""代替了null
?
表达式语言的内置对象:
表单可以接收参数,或者通过URL重写传递参数,如果要想接收参数 "param" 对象完成.
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <h3>通过内置对象接收输入参数:<%=request.getParameter("ref")%></h3> <h3>通过表达式语言接收输入参数:${param.ref}</h3> </body> </html>?
现在只是接收了一个参数,也可以完成一组参数的接收,paramValue
?
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% //正经开发中,此代码要通过过滤器实现 request.setCharacterEncoding("GBK"); %> <h3>第一个参数:${paramValues.inst[0]}</h3> <h3>第二个参数:${paramValues.inst[1]}</h3> <h3>第三个参数:${paramValues.inst[2]}</h3> </body> </html>
?<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
EL中集合操作:
?
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% List all = new ArrayList(); all.add("李四"); all.add("www,baudy,.cin"); all.add("www.163.com"); request.setAttribute("allinfo",all); %> <h3>第一个元素:${allinfo[0]}</h3> <h3>第一个元素:${allinfo[1]}</h3> <h3>第一个元素:${allinfo[2]}</h3> </body> </html>?
此处必须强调的是,以上的代码实际上JSP文件之中,只关心红色的字体部分,其他的部分应该有Servlet完成,
?
<h3>第一个元素:${allinfo[0]}</h3> <h3>第一个元素:${allinfo[1]}</h3> <h3>第一个元素:${allinfo[2]}</h3>
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% Map map =new HashMap(); map.put("lxh","李兴华"); map.put("mldn","www.mldnjava.cn"); map.put("email","fdfdfwe@163.com"); request.setAttribute("info",map); %> <h3>KEY为lxh的内容 :${info["lxh"]}</h3> <h3>KEY为mldn的内容:${info["mldn"]}</h3> <h3>KEY为email的内容:${info["email"]}</h3> </body> </html>?
JSP优点 : 接收,判断 ,输出
?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
?
EEL中运算符: 三目运算符最需要掌握,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?