`
yourenyouyu2008
  • 浏览: 287623 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

el表达式整理

 
阅读更多

1)el表达式分为 值表达式和方法表达式,方法表达式只可以执行方法本身,值表达式可以获取表达式的值,也可以给表达式设置值。

一个表达式字符串可以由值表达式和方法表达式混合组成,下面示例的report.getReportParameters().get(0)部分是方法表达式,后面的.value是值表达式,只要表达式的最后部分是值表达式,就可以给整个表达式赋值,如下的inputText中的表达式能接收用户的输入。

<h:inputText value="#{report.getReportParameters().get(0).value}" />

下面的inputText只能显示,不能获取用户输入,输入后提交抛异常。

<h:inputText value="#{report.getReportParameters().get(0)}" />

 

2)el访问 list和map

#{bean.list[index].value}//index是数字

#{bean.map['key'].value}//对map中key对应的对象(复杂对象)的value属性进行操作,如果map中没有key对应的对象,set操作时抛出异常

#{bean.map['key']}//对map中key对应的简单对象进行操作。提交值时,如果map中key对应的对象没有就会将key设置进map中。下面示例,页面显示时cycleValueMap中可能没有一个key,也可能只有几个key,但提交时map中会有全部的key

 

 private Map<String, Boolean> cycleValueMap;

 

ValueExpression ve = getValueExpression("value");

ve.setValue(context.getELContext(), getLocalValue());//map的赋值是将<key,getLocalValue()> put进去

 

使用list来接收值就不太方便,list需要提前构造好全部值,否则set时会抛出下面的异常。数组越界

 value="#{calendarParam.list[3]}": java.lang.IndexOutOfBoundsException: Index: 3, Size: 3

ValueExpression ve = getValueExpression("value");

ve.setValue(context.getELContext(), getLocalValue());//list 可能会调用public void add(int index, E element)

或 public E set(int index, E element)方法,这个方法会抛出数组越界异常。

周一<h:selectBooleanCheckbox
       value="#{calendarParam.cycleValueMap['1']}"></h:selectBooleanCheckbox>

周二<h:selectBooleanCheckbox
       value="#{calendarParam.cycleValueMap['2']}"></h:selectBooleanCheckbox>

周三<h:selectBooleanCheckbox
       value="#{calendarParam.cycleValueMap['3']}"></h:selectBooleanCheckbox>

...

周日<h:selectBooleanCheckbox
       value="#{calendarParam.cycleValueMap['7']}"></h:selectBooleanCheckbox>

 

list方式需要提前构造好list中的值,否则会抛出数组越界异常

<h:selectBooleanCheckbox
       value="#{calendarParam.list[2]}"></h:selectBooleanCheckbox>

 

分享到:
评论

相关推荐

    JAVA JSP页面技术之EL表达式整理归纳总结

    Java JSP页面技术之EL表达式整理归纳总结的知识点如下: EL表达式的概念和作用: EL表达式,全称Expression Language(表达式语言),是一种在JSP(Java Server Pages)技术中使用到的,用于简化Java Web应用程序中...

    EL表达式+JSTL.zip

    EL表达式语言主要用于简化Java Servlets和JSP页面中的数据访问,而JSTL则提供了一套丰富的标签库,帮助开发者更高效地处理常见任务。 EL表达式: 1. EL是一种简洁的脚本语言,用于获取和设置JavaBeans或其他可绑定...

    EL表达式的隐式对象_动力节点Java学院整理

    EL表达式的隐式对象 EL表达式的隐式对象是JSP中的一种特殊对象,用于存储和访问当前Web应用程序的状态信息。EL表达式隐式对象可以分为两类:一类是pageContext对象,另一类是四个域(page、request、session、...

    jstl自定义标签,自定义EL表达式

    这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便

    蜜蜂EL编辑器V3.6

    3. **代码格式化**:内置的代码格式化功能,可以让开发者按照统一的编码风格整理EL表达式,保持代码整洁。 4. **集成开发环境(IDE)集成**:蜜蜂EL编辑器V3.6可以与主流的IDE如Eclipse、IntelliJ IDEA等无缝集成,...

    EL调用Java方法_动力节点Java学院整理

    EL调用Java方法需要满足两个要求:① 在EL表达式中调用的只能是Java类的静态方法;② 这个Java类的静态方法需要在我们另外在自定义的TLD文件中描述。 EL函数是指被EL表达式调用的方法。EL函数可以在JSP页面中使用,...

    javaEE基础知识整理.pdf

    JavaEE基础知识整理涵盖了JavaEE技术框架的各个方面,包括Servlet、MVC设计模式、连接池、JavaBean、JSTL、自定义标签和EL表达式等。-mastering these concepts is essential for any JavaEE developer.

    我的struts2的总结

    当EL表达式无法找到对应的属性或者属性值为null时,可能会抛出异常。因此,在使用EL表达式时需要注意确保引用的属性是可用的。 ### 国际化资源文件 原文中的“struts.custom.i18n.resources”配置项用于指定Struts...

    day17_EL&JSTL.rar

    4. **笔记**:可能是作者在学习过程中整理的要点和难点,包括理解EL和JSTL的关键点、常见问题及解决方案。 5. **代码**:可能包含示例代码,演示了EL和JSTL的用法,这些代码可以作为学习者参考和实践的模板。 通过...

    《Web程序设计A》试卷A.doc

    【Web程序设计A】试卷A主要涵盖了Web应用开发中的核心概念和技术,包括SQL语句的使用、JDBC操作、Servlet编程、用户登录处理、JSTL与EL表达式以及数据库的基本操作。以下是对这些知识点的详细说明: 1. **SQL语句与...

    jsp标签 JSTL 小资料

    EL表达式可以访问JavaBean的属性、执行算术运算、调用方法等,而JSTL则负责控制流程、数据处理等高级逻辑。 通过结合使用JSTL和EL,开发者可以构建出功能丰富、动态响应的Web应用界面,同时保持代码的清晰性和...

    servlet整理部分笔记初学者适用

    EL表达式在JSP页面中嵌入,如`${bean.property}`,可以动态计算并返回值。EL还支持基本操作,如算术运算、比较和逻辑运算。 最后,**JSTL**提供了一系列预定义的标签库,简化了JSP页面的编写。例如,`c:forEach`...

    传智博客JavaWeb经典面试题目

    - JSP的生命周期与Servlet类似,但主要关注脚本元素、指令元素和EL表达式。 - JSP的九大内置对象:`request`、`response`、`session`、`application`等,它们在何时何地创建和销毁。 3. **HTTP协议** - HTTP状态...

    VUE整理(一)

    ### VUE整理(一) #### 创建 Vue 实例 在 Vue.js 中,每个应用程序都是通过创建一个新的 Vue 实例开始的。创建实例的过程涉及到定义一个配置对象,该对象包含了用于驱动 Vue 应用的数据和行为。 ##### 示例代码...

    java分类整理的面试题

    2. **Servlet和JSP**:掌握Servlet生命周期,理解JSP的脚本元素和EL表达式。 3. **Tomcat服务器**:了解Tomcat的配置和优化方法。 4. **Ajax**:理解异步请求,会使用XMLHttpRequest或jQuery的$.ajax()方法。 5. **...

    jstl对集合操作大全-个人整理

    如果已知键的值,可以直接通过EL表达式`${map.key}`来获取对应的值。如果键是一个变量,例如`key`,则可以使用方括号语法`${map[key]}`来获取值。如: ```html ${map[key]}" /&gt; &lt;!-- key 是 map 中的一个 key --&gt;...

    spring注解大全整理.docx

    * @Value:值得注入,经常与 Spring EL 表达式语言一起使用,注入普通字符,系统属性,表达式运算结果,其他 Bean 的属性,文件内容,网址请求内容,配置文件属性值等等 * @PropertySource:指定文件地址,提供了一...

Global site tag (gtag.js) - Google Analytics