用el表达式页面中取值
来源:互联网 发布:中国网络经纪人安居客 编辑:程序博客网 时间:2024/06/05 22:37
1.EL表达式的语法格式很简单:
以前编写jsp代码时,如果要获取表单中的用户名,一般使用 <%=request.getParameter("name")%>,这样当然也可以获取到值,但是又把html代码和java代码混到一起,看起来比较乱套。现在使用EL表达式的话就比较简洁了:${param.name}就可以解决了。(也可以直接用$(name),el自动在范围内找值)
注意:${表达式} 表达式部分不需要加引号,如果写成 ${"param.name"} ,那么页面上显示出来的就不是表单中name的值了,而是 "param.name" 这个字符串。表达式与开始符和终结符之间的空格被忽略不计。如果表达式的值为null,那么页面将显示一个空格而不是null。
2.EL的两个运算符 "." 和 "[]"
${param.name} 和 ${param["name"]} 是等价的,但是当要存取的属性名称中包含有一些特殊字符如 "." 或 "-" 等非字母或数字的符号 或者 在使用动态取值时,就一定要使用 "[]" 运算符。
3.EL表达式的取值范围
pageScope、requestScope、sessionScope、applicationScope
如果没有给定参数名的取值范围,系统默认从page范围中查找,找不到则找request,一次类推,都找不到时传回null。
例如,存入一个session范围的值:<% session.setAttribute("u", "hello,EL") %>
那么,传统方式取值:<% session.getAttribute("u") %>。使用EL表达式取值:${sessionScope.u} 或者 ${u}
4.EL表达式可以自动转换类型
传统代码:
<%Stringage=request.getParameter("age");
intagei=Integer.parseInt(age);
out.println(age+10);
%>
使用EL表达式:
${user.age+10}5.EL表达式的内置对象
(1)与范围有关的内置对象
pageScope、requestScope、sessionScope、applicationScope
(2)与输入有关的内置对象
param 和 paramValues 用来获取表单中提交的信息。前者返回 String 类型数据,后者返回 String[] 类型的数据。如 ${paramValues.name}。
(3)其他隐含对象
Cookie
header 如:${header["UserAgent"]} 获取浏览器的版本信息
headerValues
initParam 如:${initParam.DBDriver} 获取web.xml中配置的相关参数
pageContext 如:${pageContext.request.remoteAddr} 获取用户的IP地址
6.特别注意:
通过获得的参数进行比较判断时,要这样比较:${param.name1 == param.name2}
empty 运算符用于判断值是否为 null 或 空 。 ${empty null} ${empty ""}
action中传值:
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("aa","传值的第一种方法");
getSession().setAttribute("bb","传值得第二种方法"); (目前使用方式)
- 用el表达式页面中取值
- JSP页面使用EL表达式
- JSP页面间传值el表达式
- jsp页面启用EL表达式
- jsp页面el表达式失效
- jsp页面开启EL表达式
- JSP页面用EL表达式 输出date格式
- JSP页面用EL表达式 输出date格式
- jsp,html页面中的比较大小 用 EL表达式比较
- jsp页面用el表达式获取枚举的code
- JSP页面用EL表达式 输出date格式
- JSP页面用EL表达式 输出date格式
- JSP页面用EL表达式 输出date格式
- EL 表达式用不了
- JSP页面EL表达式无效的问题
- JSP页面EL表达式使用的问题
- JSP页面EL表达式无效的问题
- JSP页面无法解析EL表达式
- 士兵问题
- eclipse mac 垂直选择
- EditText中布局图片
- JTree使用和实例
- 第十二周项目一阅读程序(4)
- 用el表达式页面中取值
- javaScript系列:js中获取时间new Date()详细介绍
- Linux系统下注释乱码解决
- u3d脚本代码入门基础
- Perl 上安装Math::Base36
- VSM模型与TF-IDF权重
- Codeforces Round #277.5 (Div. 2)---C. Given Length and Sum of Digits (贪心)
- Codeforces Round #277 (Div. 2)
- 伤感的程序员,我对自己的总结