问题描述
- jsp页面可以访问javabean的private对象?
-
今天看struts2时,遇到一个问题如下:
1:在jsp页面时给一个button控件赋value值时使用struts2标签user.username。
2:在EL表达式中也使用user.username来访问问题是user是javabean对象,username是user的私有成员。为什么可以直接用对象来访问私有成员呢?不是应该使用user的getUsername()方法吗?
解决方案
这是Struts2框架的一个优点,支持对象导航,
导入ognl.jar后,可以在页面使用 对象.属性名 的方式取值,同时也可以用这样的方式对对象属性进行赋值。
虽然看起来使用的是 对象.属性名 实际框架在进行操作时会自动调用对应的get/set方法,
也就是说,如果你在user的类中没有定义对应username的getUsername/setUsername,在页面仍然不能使用
关于OGNL的使用方法,建议楼主自己上网查查,会有更加详细的介绍
解决方案二:
明白了,原来是这个道理,多谢了哈。
时间: 2024-09-30 13:38:34