EL表达式或者JSTL中的${bean.property}
来源:互联网 发布:今日头条源码 编辑:程序博客网 时间:2024/06/17 12:40
public class TestBean{//注意该属性(property)的名字 private Double TrsCurryrPAY;@Column(name = "TRS_CURRYR_PAY") public Double getTrsCurryrPAY() {return TrsCurryrPAY;}public void setTrsCurryrPAY(Double trsCurryrPAY) {TrsCurryrPAY = trsCurryrPAY;}
test.jsp<!--下面的输出语句会出现error,无法找到'TrsCurryrPAY '--><c:out>${testBean.TrsCurryrPAY}</c:out>
这是为什么呢?因为EL表达式${bean.property},实际是通过该javaBean的getter方法获取。这个过程需要java的reflected机制,严格按照javaBean的属性命名规则去解析。比如上面的testBean.TrsCurryrPAY是先解析首字母为大写的TestBean的class文件,再按照getTer(),setTer()的规则,TestBean里的property应该是gettrsCurryrPAY()的写法。但是我们的却是首字母大写getTrsCurryrPAY()。
解决办法是1.直接改jsp页面 ${testBean.trsCurryrPAY}
2.规范的取名,重新写javabean,这是比较规范的做法,虽然是麻烦一下,但对于以后维护很好private Double trsCurryrPAY;@Column(name = "TRS_CURRYR_PAY")public Double getTrsCurryrPAY() {return trsCurryrPAY;}public void setTrsCurryrPAY(Double trsCurryrPAY) {this.trsCurryrPAY = trsCurryrPAY;}或者是private Double TRsCurryrPAY;public Double getTRsCurryrPAY() {return TRsCurryrPAY;}public void setTRsCurryrPAY(Double tRsCurryrPAY) {TRsCurryrPAY = tRsCurryrPAY;}
按照getTer,setTer方法的生成规则:abcdef----getAbcdef();Abcdef----getabcdef(); 不建议ABcdef---getABcdef();aBcdef---getABcadef();
为什么EL表达式里的属性名不是javabean的字段呢?
0 0
- EL表达式或者JSTL中的${bean.property}
- jstl 或者el表达式如何读取request中的对象
- jstl 或者el表达式如何读取request中的对象
- jstl 或者el表达式如何读取request中的对象
- Java JSTL 处理EL表达式中的字符串
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- JSP中的EL表达式和JSTL标签
- JSTL或者EL表达式获得集合对象的长度
- EL表达式 + JSTL表达式
- jstl EL(表达式语言)
- JSTL-EL表达式
- JSTL-EL表达式
- JSTL详解--EL表达式
- JSTL-EL表达式
- C语言面试宝典题目分析(一)
- Spring的核心控制器DispatcherServlet
- 不用轻易使用kill -9
- 深入分析中文乱码原因
- js在IE和FF下的兼容性问题
- EL表达式或者JSTL中的${bean.property}
- Struts2文件上传与下载
- sqlserver 复制表数据
- HDU 1263 水果 分类 STL map 遍历
- oracle的数据库导入与导出
- Android 编程下 Touch 事件的分发和消费机制
- c++模板类
- Debug与Release的区别
- Hadoop-实现集群内免密码登录