导航:首页 > 编程语言 > jspelrequest

jspelrequest

发布时间:2023-08-29 04:37:55

jsp中EL标签怎样使用

个人学习笔记.非抄

El表达式的使用:
1、什么是EL表达式:
是一套简单的计算规则,用来给jsp标签的属性赋值。现在,
新的规范当中,也允许el表达式的结果直接输出
访问bean(java对象,有相应属性及get/set方法)的属性
①:
${user.name}:容器会一次从pageContext,request,sessionapplication中
查找绑定名称为”user”的对象,如果找到了,不再向下查找
如果找到了,会调用该对象的getName方法
如果没有找到,会输出” ”空字符串.

注意:属性名不能写错
跟直接写java代码访问bean的属性相比,
使用el表达式的优点是:会将null转换成""输出,
另外,找不到某个对象,会输出""。

②获取请求参数
${param.username} param为关键字
相当于request.getParameter(“username”);
${paramValues.city}
相当于request.getParameterValues(“city”);
③将计算结果输出,或者给jsp标签的属性复制
El表达式可以进行一些简单的计算
a、算数运算 + - * / %
“+” 不能够进行字符串的连接运算,会报错
b、关系运算 > >= < <= != ==
c、逻辑运算 && || !
d、empty运算 :判断一个字符串是否是一个字符串
或者一个集合是否为一个空的集合

如果要指定查找范围,可以使用
pageScope, requestScope,sessionScope,applicationScope。
比如:${requestScope.user.name}

EL表达式翻译为Java代码的含义:
${foo.name}翻译为Java代码是out.println(foo.getName());
意味着调用foo的getName()方法,而非访问foo的成员变量name

EL表达式把数据从四个范围(pageContext、request、session、application)中取出来显示或者计算
EL表达式解决了Java代码和HTML的不匹配问题
EL表达式用字符串表达式替换Java代码,用来表示对数据的获取或计算

㈡ jsp中使用el获取request中的值的问题

jsp中使用el获取request的值:
在jsp中获取request中的参数值就要使用下面的代码:
${requestScope.attr} 或者${attr}

1--EL表达式用${}表示,可用在所有的HTML和JSP标签中作用是代替JSP页面中复杂的JAVA代码.
2--EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和${paramValues}.
${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组
值.pageScope表示页面范围的变量.requestScope表示请求对象的变量. sessionScope表示会话
范围内的变量.applicationScope表示应用范围的变量.
3 --<%@ page isELIgnored="true"%> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁
止.JSP2.0中默认的启用EL语言.

㈢ jsp标签中的 "${表达式}"表示什么

jsp标签中的 ${表达式}用来输出或者计算一个表达式的内容,比如${3+5},那么便会在页面上输出8,在比如${sessionScope.username},那么便会获取Session里面的username的值,它不能在代码块也就是<% %>里使用。

作用:EL(Expression Language)是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。

(3)jspelrequest扩展阅读

jsp中${}是EL表达式的常规表示方式

目的是为了获取{}中指定的对象(参数、对象等)的值

如:

${user.name}<====>User user = (User)request(搜寻范围).getAttribute(user);

String name = user.getName();

out.println(name);

从当前页面起开始搜寻 user对象,然后获取改对象的name属性值

其搜寻的范围依次是:page、request、session、application

如果未搜索到,即会返回null值

它在jsp+servlet的编程中经常使用,如果是刚学EL表达式,建议熟练掌握。

㈣ jsp EL表达式取值过程,page和pagecontext的区别

1、EL表达式解析过程

JSP中,我们经常会写为${obj.name}字样,但你有没有想过,它的取值过程是什么,属性值从哪取得?


${obj}相当于 request.getAttribute("obj"),这句话严格来说不严谨,依次的请求范围是page、request、session、application

也就是说,如果在page.getAttribute()找不到,再去request.getAttribute,如果request找不到,再去session里找,session里找不到,再去application里


page.getAttribute-------->request.getAttribute------------>session.getAttribute----------->applicaton.getAttribute


2、page和pagecontext的区别

page就是当前jsp页面,也等同于jsp编译后的servlet,查看java代码可以得知,page是java.lang.Object类型


publicvoid_jspService(finaljavax.servlet.http.HttpServletRequestrequest,finaljavax.servlet.http.HttpServletResponseresponse)
throwsjava.io.IOException,javax.servlet.ServletException{


finaljavax.servlet.jsp.PageContextpageContext;
javax.servlet.http.HttpSessionsession=null;
finaljavax.servlet.ServletContextapplication;
finaljavax.servlet.ServletConfigconfig;
javax.servlet.jsp.JspWriterout=null;
finaljava.lang.Objectpage=this;
javax.servlet.jsp.JspWriter_jspx_out=null;
javax.servlet.jsp.PageContext_jspx_page_context=null;response.setContentType("text/html;charset=UTF-8");
pageContext=_jspxFactory.getPageContext(this,request,response,
null,true,8192,true);
_jspx_page_context=pageContext;
application=pageContext.getServletContext();
config=pageContext.getServletConfig();
session=pageContext.getSession();
out=pageContext.getOut();
_jspx_out=out;
}



来个具体的例子吧。


page1.jsp,设置键值对


<%
page.setAttribute("name","obma")
%>

在page1.jsp,可以取出上边设置的name值,但是在其它页面(page2,page3中....)获取到的都是null


<%
Stringvalue=(String)page.getAttribute("name");
%>




pagecontext,是page的上下文,是javax.servlet.jsp.PageContext类型,它持有request,response,也持有page,通过pagecontext可以获取servletcontext、servletconfig等,可以看出他是一个桥梁可以获取上下文变量

㈤ 在jsp页面写的EL表达式,提示错误

EL表达式的写法要遵循特定语法的,否则会报错。
JSP EL简介
1、语法结构
${expression}
2、[ ]与.运算符
EL 提供“.“和“[ ]“两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如:
${user.My-Name}应当改为${user["My-Name"] }
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
3、变量
EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。
假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
属性范围在EL中的名称
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

阅读全文

与jspelrequest相关的资料

热点内容
8s16升级 浏览:340
计算机网络技术基础pdf 浏览:544
javafrom提交地址参数 浏览:721
git发布版本 浏览:728
vc修改文件名 浏览:149
linux65从域 浏览:321
用什么东西压缩文件 浏览:406
怎么删除ipad隐藏的APP 浏览:981
编程如何占用大量内存 浏览:116
多个excel表格文件如何组合 浏览:918
ubuntu内核升级命令 浏览:679
pgp文件夹 浏览:894
一键还原的文件是什么格式 浏览:581
女汉子微信名霸气十足 浏览:65
win10手机蓝屏修复 浏览:419
windows2008激活工具 浏览:259
g71的编程应注意什么 浏览:572
文件路径不符合是什么意思 浏览:543
qq如何换绑微信绑定 浏览:67
文件包下载的安装包在哪里 浏览:811

友情链接