现在的位置: 首页 > 综合 > 正文

05—表达式语言01(表达式语言简介)

2013年10月15日 ⁄ 综合 ⁄ 共 1236字 ⁄ 字号 评论关闭
如果要想让表达式语言发挥出自己的主要作用,则必须首先考虑的是使用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设置为"";

抱歉!评论已关闭.