- 浏览: 916406 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (498)
- J2EE (52)
- 数据库 (17)
- java基础 (43)
- web技术 (19)
- 程序设计 (6)
- 操作系统 (18)
- IT资讯 (7)
- 我的IT生活 (12)
- 学习笔记 (9)
- Jquery (25)
- JavaScript (18)
- spring (40)
- Hibernate (12)
- Struts (10)
- YUI (2)
- Extjs (22)
- .net (0)
- Eclipse (10)
- 社会主义 (2)
- 服务器 (9)
- CSS (8)
- 网络安全 (16)
- 版本控制 (9)
- PHP (2)
- Oracle (42)
- SQL server (1)
- Mysql (11)
- 项目管理 (3)
- 开发工具使用 (10)
- SQL语句 (7)
- Perl (0)
- Shell (6)
- 漏洞 (4)
- ibatis (5)
- hacker (2)
- SQL注入 (6)
- Hacker工具 (2)
- 入侵和渗透 (7)
- 插件/组件 (2)
- 最爱开源 (5)
- 常用软件 (2)
- DOS (1)
- HTML (2)
- Android (9)
- CMS (1)
- portal (8)
- Linux (7)
- OSGI (1)
- Mina (5)
- maven (2)
- hadoop (7)
- twitter storm (2)
- sap hana (0)
- OAuth (0)
- RESTful (1)
- Nginx (4)
- flex (1)
- Dubbo (1)
- redis (1)
- springMVC (1)
- node.js (1)
- solr (2)
- Flume (1)
- MongoDB (2)
- ElasticSearch (1)
最新评论
-
M_drm:
请问要怎么设置浏览器才不报没权限呢?
用JS在页面调用本地可执行文件的方法(ACTIVEX) -
Alexniver:
官方文档。When importing data into I ...
mysql导入数据过慢 解决方法 -
camelwoo:
我记得 Criteria 可以做连接查询与子查询,也可以做分页 ...
Hibernate总结篇二 -
zhenglongfei:
楼主如果SubKeyName 这个节点不存在,怎么办??怎么用 ...
Java操作注册表 -
yxx676229549:
用log4j 2 了
logback
1.语法结构
${expression}
2.[]与 . 运算符
EL 提供 . 和[]两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如 . 或 ? 等并非字母或数字的符号,就一定要使用 []。例如:
${user.My-Name}应当改为${user["My-Name"] }
如果要动态取值时,就可以用[]来做,而 . 无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
. 可以完成 ${sessionScope.user.name} 的取值,name是user的一个属性。
3.变量
EL存取变量数据的方法很简单,例如:${requestScope.username},它的意思是取出某一范围中名称为username的变量。
如果我们没有指定哪一个范围的username,那么它会依序从Page、Request、Session、Application范围查找。
假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
属性范围在EL中的名称
Page ————> pageScope
Request ————> requestScope
Session ————> sessionScope
Application ——> applicationScope
4、EL隐含对象
与范围有关的EL 隐含对象包含以下四个:pageScope、requestScope、sessionScope 和applicationScope;
它们基本上就和JSP的pageContext、request、session和application一样;
在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。
例如:我们要取得session中储存一个属性username的值,可以利用下列方法:
session.getAttribute("username") 取得username的值,
在EL中则使用下列方法
${sessionScope.username}
param 和 paramValues ,它们是EL中比较特别的隐含对象:
例如我们要取得用户的请求参数时,可以利用下列方法:
request.getParameter(String name)
request.getParameterValues(String name)
在EL中则可以使用param和paramValues两者来取得数据。
${param.name}
${paramValues.name}
其他隐含对象:
cookie
JSTL并没有提供设定cookie的动作,
例:要取得cookie中有一个设定名称为userCountry的值,可以使用${cookie.userCountry}来取得它。
header和headerValues
header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}。
另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用headerValues 来取得这些值。
initParam
initParam取得设定web站点的环境参数(Context)
例:一般的方法String userid = (String)application.getInitParameter("userid");
可以使用 ${initParam.userid}来取得名称为userid
pageContext
pageContext取得其他有关用户要求或页面的详细信息。
${pageContext.request.queryString} 取得请求的参数字符串
${pageContext.request.requestURL} 取得请求的URL,但不包括请求之参数字符串
${pageContext.request.contextPath} 服务的web application 的名称
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的协议(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} 取得用户名称
${pageContext.request.remoteAddr } 取得用户的IP 地址
${pageContext.session.new} 判断session 是否为新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主机端的服务信息
5、EL运算符
1.算术运算符有五个:+、-、*或$、/或div、%或mod
2.关系运算符有六个:==或eq、!=或ne、<或lt、>或gt、<=或le、>=或ge
3.逻辑运算符有三个:&&或and、||或or、!或not
4.其它运算符有三个:Empty运算符、条件运算符、()运算符
例:${empty param.name}、${A?B:C}、${A*(B+C)}
----------------------------------------------------------------------------------------------------------------------------------
补充:
el表达式取 Map 的值:
Map m = new HashMap();
m.put("k1", "v1");
m.put("k2", "v2");
request.setAttribute("m", m);
那么:${m.k1}
el表达式取 数组 的值:
String[] str = new String[]{"aaa", "bbb"};
request.setAttribute("str", str);
那么:${str[0]} ${str[1]}
1,用来获取表单数据 param 和 paramValues
1.jsp 的有如下表单
<form action="sampleJsp.jsp" method="post">
<input type="text" name="sampleValue" value="10" />
<input type="text" name="sampleValue" value="11" />
<input type="text" name="sampleValue" value="12" />
<input type="text" name="sampleSingleValue" value="SingleValue"/>
<input type="submit" value="提交"/>
</form>
sampleJsp.jsp 的 <body>中 有
${paramValues.sampleValue[2]}
${param.sampleSingleValue }
显示结果为12 SingleValue
第一个EL表达就相当于在servlet中使用request.getParameterValues("sampleValue");
第二个EL表达式就相当于在servlet中使用request.getParameter("sampleSingleValue");
2,用来从作用域中显示数据
假设 test.jsp中有 <% request.setAttribute("aaa","object");%>
用${aaa}可以将 object 显示在页面上.但最好使用 ${requestScope.aaa} 因为 EL 表达式在作用域中搜索值时
会从最小的 page 作用域开始搜索. 给定了作用域会使得显示的性能更好.
3, Empty 操作符
empty 操作符是一个前缀,用于检测一个值是否为null 或 empty . 假设 a 不存在 ,则 ${empty a }返回的结果为 true
4 条件操作符
${A?B:C } 如果A 为true 则返回B 否则返回 C
例如:
<select >
<option value="1" ${param.op==1 ? "selected" : ""}>选项一</option>
<option value="2" ${param.op==2 ? "selected" : "">选项二</option>
</select >
这个下拉列表是用于在修改数据的时候我们一般都要让它选中原始项 使用条件操作符就可以很轻松的实现这一点。
${expression}
2.[]与 . 运算符
EL 提供 . 和[]两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如 . 或 ? 等并非字母或数字的符号,就一定要使用 []。例如:
${user.My-Name}应当改为${user["My-Name"] }
如果要动态取值时,就可以用[]来做,而 . 无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
. 可以完成 ${sessionScope.user.name} 的取值,name是user的一个属性。
3.变量
EL存取变量数据的方法很简单,例如:${requestScope.username},它的意思是取出某一范围中名称为username的变量。
如果我们没有指定哪一个范围的username,那么它会依序从Page、Request、Session、Application范围查找。
假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
属性范围在EL中的名称
Page ————> pageScope
Request ————> requestScope
Session ————> sessionScope
Application ——> applicationScope
4、EL隐含对象
与范围有关的EL 隐含对象包含以下四个:pageScope、requestScope、sessionScope 和applicationScope;
它们基本上就和JSP的pageContext、request、session和application一样;
在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。
例如:我们要取得session中储存一个属性username的值,可以利用下列方法:
session.getAttribute("username") 取得username的值,
在EL中则使用下列方法
${sessionScope.username}
param 和 paramValues ,它们是EL中比较特别的隐含对象:
例如我们要取得用户的请求参数时,可以利用下列方法:
request.getParameter(String name)
request.getParameterValues(String name)
在EL中则可以使用param和paramValues两者来取得数据。
${param.name}
${paramValues.name}
其他隐含对象:
cookie
JSTL并没有提供设定cookie的动作,
例:要取得cookie中有一个设定名称为userCountry的值,可以使用${cookie.userCountry}来取得它。
header和headerValues
header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}。
另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用headerValues 来取得这些值。
initParam
initParam取得设定web站点的环境参数(Context)
例:一般的方法String userid = (String)application.getInitParameter("userid");
可以使用 ${initParam.userid}来取得名称为userid
pageContext
pageContext取得其他有关用户要求或页面的详细信息。
${pageContext.request.queryString} 取得请求的参数字符串
${pageContext.request.requestURL} 取得请求的URL,但不包括请求之参数字符串
${pageContext.request.contextPath} 服务的web application 的名称
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的协议(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} 取得用户名称
${pageContext.request.remoteAddr } 取得用户的IP 地址
${pageContext.session.new} 判断session 是否为新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主机端的服务信息
5、EL运算符
1.算术运算符有五个:+、-、*或$、/或div、%或mod
2.关系运算符有六个:==或eq、!=或ne、<或lt、>或gt、<=或le、>=或ge
3.逻辑运算符有三个:&&或and、||或or、!或not
4.其它运算符有三个:Empty运算符、条件运算符、()运算符
例:${empty param.name}、${A?B:C}、${A*(B+C)}
----------------------------------------------------------------------------------------------------------------------------------
补充:
el表达式取 Map 的值:
Map m = new HashMap();
m.put("k1", "v1");
m.put("k2", "v2");
request.setAttribute("m", m);
那么:${m.k1}
el表达式取 数组 的值:
String[] str = new String[]{"aaa", "bbb"};
request.setAttribute("str", str);
那么:${str[0]} ${str[1]}
1,用来获取表单数据 param 和 paramValues
1.jsp 的有如下表单
<form action="sampleJsp.jsp" method="post">
<input type="text" name="sampleValue" value="10" />
<input type="text" name="sampleValue" value="11" />
<input type="text" name="sampleValue" value="12" />
<input type="text" name="sampleSingleValue" value="SingleValue"/>
<input type="submit" value="提交"/>
</form>
sampleJsp.jsp 的 <body>中 有
${paramValues.sampleValue[2]}
${param.sampleSingleValue }
显示结果为12 SingleValue
第一个EL表达就相当于在servlet中使用request.getParameterValues("sampleValue");
第二个EL表达式就相当于在servlet中使用request.getParameter("sampleSingleValue");
2,用来从作用域中显示数据
假设 test.jsp中有 <% request.setAttribute("aaa","object");%>
用${aaa}可以将 object 显示在页面上.但最好使用 ${requestScope.aaa} 因为 EL 表达式在作用域中搜索值时
会从最小的 page 作用域开始搜索. 给定了作用域会使得显示的性能更好.
3, Empty 操作符
empty 操作符是一个前缀,用于检测一个值是否为null 或 empty . 假设 a 不存在 ,则 ${empty a }返回的结果为 true
4 条件操作符
${A?B:C } 如果A 为true 则返回B 否则返回 C
例如:
<select >
<option value="1" ${param.op==1 ? "selected" : ""}>选项一</option>
<option value="2" ${param.op==2 ? "selected" : "">选项二</option>
</select >
这个下拉列表是用于在修改数据的时候我们一般都要让它选中原始项 使用条件操作符就可以很轻松的实现这一点。
发表评论
-
使用Java调用百度、google搜索
2013-10-20 21:49 1493使用Java调用百度搜索 http://yangshangch ... -
PHP+JSON+瀑布流模式+三种风格+无限拖拽方式
2013-03-01 12:37 993http://guangqiang.iteye.com/blo ... -
openOffice 把word转换成html
2013-03-01 12:30 1181[url]http://jadethao.iteye.com/ ... -
Web开发的第一课 - License
2013-01-20 13:13 1234http://fogtower.iteye.com/blog/ ... -
nginx负载resin,实现session共享-JVM_ROUTE
2012-12-24 09:23 1712NGINX负载配置: upstream bac ... -
使用EhCache和Spring AOP实现计算结果缓存
2012-08-07 10:47 1061原文:http://kim-miao.iteye.com/bl ... -
Tomcat6.0控制台配置
2012-08-02 18:01 1448原文网址:http://apps.hi.baidu.com/s ... -
汉字/英文字符长度判断--JS版与Java方法版
2012-07-18 17:54 2105http://www.blogjava.net/loyalgl ... -
用java流方式判断文件类型
2012-06-28 09:50 1758原文:http://rainsilence.iteye.com ... -
Web开发中需要了解的东西
2012-01-02 23:17 1160来自:http://coolshell.cn/ar ... -
Webservice调用方式:axis,soap详解
2011-11-29 12:41 1545转自:[url] http://blog.csdn.net/b ... -
Cookie与会话--Session与SSO的实现细节研究
2011-10-11 00:12 12570.背景 最近 ... -
常用默认端口号
2010-10-14 08:44 2217网络层---数据包的包格 ... -
配置welcome-file-list跳转
2010-10-13 16:23 1245web.xml里是 <welcome-file> ... -
java自动生成验证码插件-kaptcha
2010-09-14 01:03 1983今天无意间发现了一个很好用的验证码插件,java版的,很不错的 ... -
JAVA实现屏幕抓图 远程桌面控制
2010-08-04 10:56 1188主要使用的是java.util.Robot类来捕获屏幕 ... -
JSTL的使用
2010-04-29 10:15 2095JSTL是什么 JSTL(JSP Standard Tag L ... -
使用JSON的方法(转)
2010-04-12 15:47 1080JSON 即 JavaScript Object Natati ...
相关推荐
- 常用的默认值设定方法是使用短路运算符,如`var arg = arg || 'default';`。但这有时会导致意外的副作用,应谨慎使用。更好的方式是在函数参数中使用解构赋值或默认参数,如`function getX(a = 'default'){}`。 ...
183 8.1.2 值和方法表达式 184 8.1.3 隐式对象 187 8.1.4 运算符和保留字 188 8.1.5 一些经典EL表达式的例子 190 8.2 例程:用脚本去控制一个流程的运行 192 8.3 小结 194 第二篇 定制属于自己的流程——深入jBPM4...
149 9.4 JSF的组成 152 9.4.1 UI组件 152 9.4.2 JSF标签 154 9.5 统一EL 156 9.5.1 表达式和函数 156 9.5.2 操作符 157 9.5.3 保留字 158 9.5.4 内置对象 158 9.6 Backing Bean 158 9.7 创建自定义组件 162 9.8 小结 ...
- 支持EL表达式语言。 #### 六、后续学习方向 - **JavaServer Faces (JSF)**: 一种用于构建企业级Java Web应用程序的标准组件框架。 - **Java Web Services**: 使用Java技术构建Web服务的应用程序接口(API),支持...
1.5 课时小结 7 1.6 专家答疑 7 第2学时 Windows网络 8 2.1 NetBIOS 概述 8 2.1.1 名称服务 8 2.1.2 会话服务 13 2.1.3 数据报服务 13 2.2 CIFS概述 13 2.2.1 NBT上的SMB 14 2.2.2 面向连接 14 2.2.3 协议概述 15 ...
JSTL的核心组成部分包括两个部分:标签库和EL(Expression Language)表达式语言。EL是一种轻量级的脚本语言,用于在JSP页面中便捷地访问和操作JavaBean或其他数据源中的数据。 JSTL的四个主要标签库是: 1. Core...
当用户提交表单时,Servlet会接收到字符串,然后使用`split()`方法将其分拆为一个整数数组。这个过程可能需要使用正则表达式来匹配数字并分割字符串。 分拆后的数组需要进行降序排序。在Java中,我们可以利用`...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
首先,我们来看第一种方法:使用XPath来读取XML节点数据。XPath是一种在XML文档中查找信息的语言,它可以方便地选取节点、属性等。在示例中,XML文件的结构如下: ```xml <ID>1111 <DomainName>aa <ID>...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
- **在JSP中使用EL表达式**: 在JSP页面中可以直接使用EL表达式访问值栈中的数据。如`<%= username %>`或`${username}`,而无需通过类名和属性名的形式,提高了代码的简洁性和可读性。 ##### 2. Action接口与execute...
例如,chineseOnly方法使用正则表达式`/[^\u4E00-\u9FA5]/g`来移除所有非汉字字符,而onlyPositiveInteger方法则使用`/[1-9]\d*/g`来匹配字符串中符合正整数的部分。 通过上述方法的使用,开发者可以根据项目需求,...
- **JSP与EL表达式:** JSP的内置对象、指令、脚本元素,EL表达式的使用场景和优势。 - **MVC设计模式:** 在J2EE中的实现,比如Spring MVC框架中各组件的角色和工作流程。 #### 5. J2EE安全机制 - **认证与授权:*...
在该示例中,通过`v-model`实现双向绑定,`v-for`实现列表渲染,`v-on`处理用户输入,同时使用了`v-on:keyup.enter`监听回车键触发事件。示例展示了如何创建一个待办事项列表,并通过输入框添加新的待办事项,以及...
- `el`: 指令绑定的DOM元素,可以通过这个参数直接操作DOM。 - `binding`: 一个对象,包含了指令的相关信息: - `name`: 指令名称,不包括`v-`前缀。 - `value`: 指令的绑定值,通常是表达式的计算结果。 - `...