wjpaiinnngg
Hederacsdn
采纳率41.7%
2014-12-23 02:50

jsp页面可以访问javabean的private对象?

已采纳

今天看struts2时,遇到一个问题如下:
1:在jsp页面时给一个button控件赋value值时使用struts2标签user.username。
2:在EL表达式中也使用user.username来访问

问题是user是javabean对象,username是user的私有成员。为什么可以直接用对象来访问私有成员呢?不是应该使用user的getUsername()方法吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • juwuhen Lucky_fishy 7年前

    这是Struts2框架的一个优点,支持对象导航,
    导入ognl.jar后,可以在页面使用 对象.属性名 的方式取值,同时也可以用这样的方式对对象属性进行赋值。
    虽然看起来使用的是 对象.属性名 实际框架在进行操作时会自动调用对应的get/set方法,
    也就是说,如果你在user的类中没有定义对应username的getUsername/setUsername,在页面仍然不能使用
    关于OGNL的使用方法,建议楼主自己上网查查,会有更加详细的介绍

    点赞 评论 复制链接分享
  • wjpaiinnngg Hederacsdn 7年前

    明白了,原来是这个道理,多谢了哈。

    点赞 评论 复制链接分享