当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 如何用EL表达式取私有属性值

如何用EL表达式取私有属性值

2020年10月10日  | 移动技术网IT编程  | 我要评论
EL表达式替代JSP页面中数据访问是的复杂编码,简单来说就是使开发者便捷的使用后来传来的数据。${变量名} 即 setAttribute中的值注意:想要这么使用,必须在传值过来的时候使用setAttribute方法上篇文章说过JSP有四个内置对象作用域,如果多个域对象中有同名的变量怎么办呢?默认优先取局部的,即page-request-session-application如何用EL表达式取对象内的私有字段?如果我们创建了一个User类,里面又个private String id字段,只要我们s

EL表达式替代JSP页面中数据访问是的复杂编码,简单来说就是使开发者便捷的使用后来传来的数据。

${变量名} 即 setAttribute中的值
注意:想要这么使用,必须在传值过来的时候使用setAttribute方法

上篇文章说过JSP有四个内置对象作用域,如果多个域对象中有同名的变量怎么办呢?
默认优先取局部的,即page-request-session-application

如何用EL表达式取对象内的私有字段?
如果我们创建了一个User类,里面又个private String id字段,只要我们setAttribute过,依旧可以在jsp中用${user.id}来取值,这不是违背了我们的常理了吗?私有字段怎么能被直接取出来呢?
原来,只要我们在类中写了getId()方法,那么我们用EL表达式实际上是自动帮我们调用了getId()方法。

程序怎么会知道要调用getId()方法?
当我们写下${user.id}的时候,看上去是取user的属性值,其实是与对象的方法进行了绑定。
使用时会经过以下步骤:
1.自动将id变成Id,i->大写的I
2.然后自动去User类中寻找getId()方法。

换句话说,如果我们在类中定义的是getMyId()方法取id值,那么我们甚至可以把EL表达式写成${user.myId}。

快去试试吧!

本文地址:https://blog.csdn.net/lihaohaocn/article/details/109005429

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网