如果要想让表达式语言发挥出自己的主要作用,则必须首先考虑的是使用MVC设计模式,因为在MVC设计模式一个最主要的
好处就是让JSP中的代码越来越少了,而且已经规定了jsp之中只能出现三种代码:
·接受属性----学习完表达式后,属性输出的scriptlet将会在jsp中消失
·判断语句----学习完标签(编写判断标签)后,该scriptlet将会消失
·迭代输出----学习完标签(编写迭代标签)后,该scriptlet将会消失
但是,如果在开发之中有时候这一点是很难做到的,在实际的代码开发中已经讲解过了,一个JSP可定输出的
时候是接受VO对象的,则这个时候为了可以避免导入vo包,也只能通过表达式完成;
表达式语言:
表达式语言(Expression Language,简称EL)是在JSP2.0后增加的新功能,使用表达式语言,可以方便的
访问标志位(jSP中一共提供了四种标志位:page(pageContext)、request、session、application)中的
属性内容,这样可以避免掉许多的scriptlet代码,访问的简便语法如下:
·${属性名称}
四种标志位=四种属性范围,有四种属性范围存在的属性可以直接通过表达式语言访问。
表达式的基本作用:
<%@ page contentType="text/html" pageEncoding="gbk"%>
<html>
<head><title>这是测试</title></head>
<body>
<%//假设以下的设置属性操作时servlet之中完成的
request.setAttribute("info","lid_yuj");//设置属性范围
%>
<%
if(request.getAttribute("info")!=null){//现在有属性存在
%>
<h3><%=request.getAttribute("info")%></h3>
<%
}
%>
<h3></h3>
</body>
</html>
之所以要加如一个判断,主要的原因也是在避免输出null,但是这样一来代码太多了,在这种情况
下就可以通过EL完成操作,如下:
<%@ page contentType="text/html" pageEncoding="gbk"%>
<html>
<head><title>这是测试</title></head>
<body>
<%//假设以下的设置属性操作时servlet之中完成的
request.setAttribute("info","lid_yuj");//设置属性范围
%>
<h3>${info}</h3>
</body>
</html>
如果info为空的话,通过表达式的话在界面中不会输出空,而是输出空白;
所以使用表达式可以很好地控制掉null的问题,而且比之前的直接使用Scriptlet代码输出更加
的简便,而且使用""代替了null。
小结:
·通过表达式语言可以方便的进行属性的输出;
·如果属性不存在,则通过表达式语言自动将null设置为"";
05---表达式语言01(表达式语言简介)
最新推荐文章于 2022-12-30 03:00:30 发布