表达式语言内置对象


表达式语言内置对象

http://hi.baidu.com/llp182/item/a0550f0426b94d67d55a114c

JSP理想中的功能:

1.接收属性;

2.判断;

3.输出;

4.尽量少用Scriptlet;

因此JSP中应该尽可能的把功能减少到这个程度。

一、表达式语言介绍

表达式语言是为了能够让JSP中更少的包含Java代码;用表达式语言可以方便地完成输出;

因此表达式语言的目的:更方便的显示;

一般表达式语言的形式:${.....}

二、表达式语言的简单实例:

request.setAttribute("name","xiazdong"),可用<%= request.getAttribute("name")%>等同于${requestScope.name}即可进行显示;

表达式语言的优点:传统获取属性的方法

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>Ttitle</title>
</head>
<body>
<%
request.setAttribute("name","xiazdong");
%>
<%
if(request.getAttribute("name")!=null){
%>
<h3><%=request.getAttribute("name")%></h3>
<%
}
%>
</body>
</html>

因为还需要判断是否为空的情况,如果为null,则会输出null;

但是表达式语言不需要考虑这种情况,如果为null,则会转换为“”的空字符串;

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>Ttitle</title>
</head>
<body>
<%
request.setAttribute("name","xiazdong");
%>
<h3>${name}</h3>
</body>
</html>

三、表达式语言内置对象

这个时候可以利用内置对象1.pageScope、requestScope、sessionScope、applicationScope内置对象


如上session.setAttribute("info","request属性范围"),可用<%= request.getAttribute("info")%>等同于${requestScope.info}即可进行显示;

${ sessionScope.userlist } 1

${ sessionScope.userlist } 2

${ applicationScope.userlist } 3

${ pageScope.userlist } 4

${uselist} 含义:执行顺序为4 1 2 3。

“.”后面的只是一个字符串,并不是真正的内置对象,不能调用对象。

2.param和paramValues内置对象

< %=request.getParameter(“username”)% > 等价于 ${ param.username } 用来接收传来的参数;

request.getParameter("a")类似于param.a;

request.getParameterValues("a")类似于paramValues.a;

如果想要取得第二个a的值,则通过${paramValues.a[1]},以此类推;

3.pageContext内置对象


pageContext对象可以取得request,session,application对象;

pageContext.request取得request内置对象;

pageContext.session取得session内置对象;

pageContext.application取得application对象;

还可以调用JSP内置对象的方法:举例:(都是通过反射调用)

(1)${pageContext.request.remoteAddr}; 调用getRemoteAddr();

(2)${pageContext.session.new};调用isNew()函数

(3)${pageContext.session.id};调用getId()函数

但是在开发中用的最多的还是param对象接受一个参数,因此从MVC设计模式来讲,所有参数接受应该交给servlet。

4.用JSP EL读取JavaBean中的值

<%=user.getAddr( ) %> 等价于 ${user.addr}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值