el取值方式
1)使用“点”
如果对象是map类型对象: map.keyName –>得到对应的value值
实质: map.get(keyName)
如果对象是一般对象 : object.propertyName —> 得到对就的属性值
实质是: object.getXxx()
[特别强调:字段和属性] EL表达式访问的是使用getXxx()、setXxx()方法定义的属性,而不是字段本身。例如:${user.userName }会去调用getUserName()方法,而不是userName字段。所以如果没有声明getUserName()方法或权限不允许则无法显示属性值。 getUserName()方法未定义或权限不足时会抛出异常:javax.el.PropertyNotFoundException: Property ‘userName’ not readable on type java.lang.String |
2)使用“[]”
map的键有时包含“点”,这时就不能再使用“点”取值了。
例如:
<input type=”text” name=”name.x” value=”aaa”>
${param[‘name.x’]}
如果对象是map类型对象: map[“keyName”] –>得到对应的value值
实质: map.get(key)
如果对象是一般对象 : object[“propertyName”] —> 得到对就的属性值
实质是: map.getXxx()
如果是取出list的元素,也使用[]:
如:
<input type=“checkbox” name=“username” value=“1”>
<input type=“checkbox” name=“username” value=“2”>
<input type=“checkbox” name=“username” value=“3”>
<input type=“checkbox” name=“username” value=“4”>
取值:<h1>多选:${paramValues.username[0]}</h1>
简化格式
域范围对象可以不用写,系统会自动按范围从小到大的顺序查找:
pageScope->requestScope–>sessionScope–>applicationScope |
找到就不会继续找了, 如果没有找到显示空白(不是null, 而是一个空串)不会报错
想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训课程视频供广大学员下载学习
上一篇: 大数据培训之部署BookKeeper集群
下一篇: java培训之el表达式运算