如何用EL表达式取私有属性值
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
上一篇: VSCode中画UML图的方法实现
下一篇: 【Oracle】--SQL优化
推荐阅读