jsp el表达式常用隐含对象详解-亚博电竞手机版

el 隐含对象共有 11 个,本节只介绍几个常用的 el 隐含对象,即 pagescope、requestscope、sessionscope、applicationscope、param 以及 paramvalues。

1)与作用范围相关的隐含对象

与作用范围相关的 el 隐含对象有 pagescope、requestscope、sessionscope 和 applicationscope,分别可以获取 jsp 隐含对象 pagecontext、request、session 和 application 中的数据。 如果在 el 中没有使用隐含对象指定作用范围,则会依次从 page、request、session、application 范围查找,若找到就直接返回,不再继续找下去;如果所有范围都没有找到,就返回空字符串。获取数据的格式如下:

${el隐含对象.关键字对象.属性}

${el隐含对象.关键字对象}

例如:

name:${pagescope.user.name}

再如,在 controller 或 servlet 中有这样一段话:
 arraylist users = new arraylist(); userbean ub1 = new userbean("zhang",20); userbean ub2 = new userbean("zhao",50); users.add(ub1); users.add(ub2); request.setattribute("array",users);
其中,userbean 有两个属性 name 和 age,那么在对应视图 jsp 中 request 有效的范围内可以使用 el 取出 userbean 的属性,代码如下:

${array[0].name} ${array[0].age} ${array[1].name} ${array[1].age}

2)与请求参数相关的隐含对象

与请求参数相关的 el 隐含对象有 param 和 paramvalues。获取数据的格式如下:

${el隐含对象.参数名}

例如,input.jsp 的代码如下:
 

姓名:

兴趣: 看书 玩游戏 旅游

那么在 param.jsp 页面中可以使用 el 获取参数值,代码如下:

<%request.setcharacterencoding("gbk");%>

el隐含对象param、paramvalues

姓名:${param.username}
兴趣: ${paramvalues.habit[0]} ${paramvalues.habit[1]} ${paramvalues.habit[2]}

示例

编写一个 controller,在该控制器类处理方法中使用 request 对象和 model 对象存储数据,然后从处理方法转发到 show.jsp 页面,在 show.jsp 页面中显示 request 对象的数据。 运行控制器的处理方法,在 ie 地址栏中输入“http://localhost:8080/springmvcdemo11/input”。程序运行结果如图 1 所示。 图 1使用el获取数据 实现具体步骤如下:

1)创建控制器类

在 src 目录下创建一个名为 controller 的包,并在该包下创建一个名为 inputcontroller 的控制器类。代码如下:
 package controller;  import javax.servlet.http.httpservletrequest; import org.springframework.stereotype.controller; import org.springframework.ui.model; import org.springframework.web.bind.annotation.requestmapping;  @controller public class inputcontroller {      @requestmapping("/input")     public string input(httpservletrequest request, model model) {         string names[] = { "zhao", "qian", "sun", "li" };         request.setattribute("name", names);         string address[] = { "beijing", "shanghai", "shenzhen" };         model.addattribute("address", address);         return "show";     } }

2)创建 show.jsp 页面

在 web-inf 目录下创建 jsp 文件夹,在该文件夹中创建 show.jsp 页面。代码如下:
 <%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%>     insert title here       从controller转发过来的request内置对象的数据如下:     
${requestscope.name[0]}
${requestscope.name[1]}
${requestscope.name[2]}
${requestscope.name[3]}

从controller转发过来的model对象的数据如下:
${address[0]}
${address[1]}
${address[2]}
展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图