jstl标签
http://www.runoob.com/jsp/jsp-jstl.html
EL表达式
为什么使用EL表达式:代替jsp页面里复杂的java代码
EL表达式的形式:${}
在页面中如何使用EL表达式:加上<%@page isELIgnore=”false”%>,jsp2.0默认启用EL表达式。
EL表达式提供“.”和“[]”两种方式来存取数据,其中“[]”可用于动态获取数据,在表达式中有”.”或者“?”等符号时只能使用“[]”
EL表达式可做逻辑运算,eg:
falseandtrue结果是false.算术运算
{2+2} 结果是4
EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有
param和
{paramValues}.
param表示返回请求参数中单个字符串的值.
{paramValues}表示返回请求参数的一组值.pageScope表示页面范围的变量.requestScope表示请求对象的变量. sessionScope表示会话 范围内的变量.applicationScope表示应用范围的变量.
与范围有关的隐含对象:pageScope,requestScope,sessionScope,applicationScope。当${username} ,username 是变量时,按范围由小到大的去获取值。
与输入有关的隐含对象:param ,paramValues。
eg: 我们要取得用户的请求参数时,可以利用下列方法:
request.getParameter(String name)
request.getParameterValues(String name)
在EL中则可以使用param和paramValues两者来取得数据。
**
param.name
{paramValues.name}**
其他隐含对象,cookie,header,headerValues,initParam,pageContext
eg:要取得cookie中有一个设定名称为userCountry的值,可以使用${cookie.userCountry}
header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header[“User-Agent”]}。
initParam取得设定web站点的环境参数(Context)
eg:一般的方法String userid = (String)application.getInitParameter(“userid”);
可以使用
initParam.userid来取得名称为useridpageContext取得其他有关用户要求或页面的详细信息。∗∗
{pageContext.request.remoteUser} 取得用户名称
${pageContext.request.remoteAddr } 取得用户的IP 地址**
注意:在Spring 中,所有逻辑处理单元返回的结果数据,都将作为Attribute 被放
置到HttpServletRequest 对象中返回(具体实现可参见Spring 源码中
org.springframework.web.servlet.view.InternalResourceView.
exposeModelAsRequestAttributes方法的实现代码),也就是说Spring
MVC 中,结果数据对象默认都是requestScope。因此,在Spring MVC 中,
以下寻址方法应慎用:
sessionScope.logininfo.username
{applicationScope.logininfo.username}