`
yourenyouyu2008
  • 浏览: 282241 次
  • 性别: 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 表达式的使用,已经整理成文档,无需任何修改就可以直接加入你的资源宝库!!

    JSP中EL表达式用法_动力节点Java学院整理

    JSP页面中支持使用EL表达式,EL全名为Expression Language。EL表达式的主要作用有:  ① 获取数据;  ② 执行运算;  ③ 使用EL表达式的11大隐式对象;  ④ 调用Java方法。 当然,EL表达式还能配合JSTL标签,...

    表达式与言EL和OGNL

    个人整理的表达式与言EL和OGNL文档,希望可以对想看的人有所帮助

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

    主要介绍了EL表达式的隐式对象,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

    Dorado软件dataset字段EL判断表达式

    平时工作中整理的 都是一些比较常用的 Dorado软件dataset字段EL判断表达式 例如:只能输入数字,不能大于xx,电子邮件验证,车牌号码等。 拿来分享,请尊重劳动成果。

    EL表达式简介_动力节点Java学院整理

    EL全名为Expression Language,这篇文章主要给大家介绍EL表达式的主要作用及内容简介,感兴趣的朋友一起看看

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

    简单来说,我们在一个类中的某个方法,可以使用EL进行调用,这个能被EL表达式调用的方法称之为EL函数,但是这种方式必须满足两点要求,具体哪两点,大家可以参考下本

    最全面的常用正则表达式大全

    整理开发中常用的一些正则表达式,给朋友们做个参考

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

    servlet整理部分笔记初学者适用 涉及到过滤器、表单处理, 表单验证、HTTP请求处理,cookie使用、EL表达式、jstl表达式

    struts2标签使用方法

    struts2标签使用方法以及el表达式的使用,整理收集供参考

    java入门到精通整理(二)流程控制

    上期内容:java入门到精通整理(一)语言基础 1.程序结构 程序结构可分为三种:1.顺序结构、2.选择结构、3.循环结构 1.顺序结构:按照代码的书写顺序执行的程序。 2.选择结构:根据输入数据和中间结果的不同选择执行...

    最新Struts2 jar 架包

    整理了1个上午 Oracle+Weblogic,主要内容如下: struts2-core-2.1.8.jar Struts2的核心包 struts2-json-plugin-2.1.8.jar json进行异步...ognl-2.7.3.jar OGNL表达式语言,struts2支持该EL antlr-2.7.6.jar HQL解析

    Java学习笔记-个人整理的

    {3.4}正则表达式}{71}{section.3.4} {3.5}StringBuffer}{75}{section.3.5} {3.6}StringBuilder}{76}{section.3.6} {3.7}StringBuilder与StringBuffer的缺点}{76}{section.3.7} {3.8}内部类}{77}{section.3.8} ...

Global site tag (gtag.js) - Google Analytics