私有变量-jsp页面可以访问javabean的private对象?

问题描述

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

私有变量-jsp页面可以访问javabean的private对象?的相关文章

表单-struts2 bean属性在jsp页面直接访问问题?

问题描述 struts2 bean属性在jsp页面直接访问问题? 2C struts2 bean属性在jsp页面直接访问问题?从页面表单(userName)传入后台bean,再到jsp页面时为什么可以用 requestscope.userName得到值.想了很久依然不明白 ,望各位大神解惑... 解决方案 http://bbs.csdn.net/topics/370051203 解决方案二: 1:从后台传到前台是否用的是request.setAttribut(""userName&qu

jsp页面怎么访问serlvet中自定义的方法?

问题描述 如果我想访问servlet中自定义的delete()方法,在jsp页面中我想这样<ahref="testServlet?do=delete">delete</a>来访问这个delete方法,那我该怎么做,就像struts中的DispatchAction一样,我不想不所有的东西都写在doPost()里,那样会膨胀 解决方案 解决方案二:获取参数,根据值判断方法解决方案三:那么你就在dopost或者doget方法里面根据传递过来的参数判断分别调用自己的方法

JSP页面中的自定义标签

js|页面 JSP页面中的自定义标签 JSP页面中的自定义标签 Stephanie Bodoff 用于调用Javaean组件中的操作和执行请求分派的标准JSP标签简化了JSP页面的开发和维护.JSP技术还提供了在自定义标签中封装其他动态功能的机制,这种自定标签是JSP语言的扩展.自定义标签通常是以标签库的形式出现的,它定义了一组相关的自定义标签,并包含实现这些标签的对象. 可以由自定义标签执行的任务包括对隐式对象的操作.处理表单.访问数据库和其他企业级服务,如电子邮件和目录.以及执行流程控制.J

JSP开发中的JavaBean的应用以及部署

JavaBean 说白了 就是一个java类,跟VC中的控件类似是JSP开发中组件. JavaBean分为可视化javabean    和非可视化javabean      ,在JSP中 多用到的是 非可视化javabean   . 在 C/S模式下开发应用程序多用到的是 可视化JavaBean   但是在 B/S模式下应用程序的开发多用到的是非可视化JavaBean . 我们在没接触JavaBean之前可能有过这样的经历,在JSP页面当中 动态内容JSP 和静态内容html交错在一起,不容易后

Java Reflection(七):私有变量和私有方法

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 内容索引访问私有变量访问私有方法 在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是Java反射机制可以做到这一点.使用这个功能并不困难,在进行单元测试时这个功能非常有效.本节会向你展示如何使用这个功能. 注意:这个功能只有在代码运行在单机Java应用(standalone Java application)中才会有效,就像你做单元测试或者一些常规的应用程序一样.如果你在Java App

迭代-从数据库中获取的数据在jsp页面上的显示问题

问题描述 从数据库中获取的数据在jsp页面上的显示问题 做一个项目的时候,从数据库获取数据,用迭代的方式在前台显示,只能显示一部分的信息,就好像是有一个固定空间似的,只要内容超出了这个空间,就不能显示了,怎么解决? 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri=&

一个JSP页面导致的tomcat内存溢出的解决方法

 今天新能测试组的同事找我看一个奇怪的现象.一个tomcat应用,里面只有一个单纯的jsp页面,而且这个jsp页面没有任何java代码(想用这个jsp页面测试在她的服务器上的一个tomcat的最大QPS).但是用loadrunner压测了几分钟之后,分配了1024M堆内存的tomcat居然包heap space outofmemory!这个页面的代码如下:   代码如下: <%@ page language="java" contentType="text/html;

jsp-JSP页面实现对每一个list对象的遍历

问题描述 JSP页面实现对每一个list对象的遍历 如何在JSP页面实现如此界面 Session中存放了由问题questionNaireQuestion构成的list对象listQuestionNaireQuestion 每一个questionNaireQuestion包含了选项option1..2..3 怎样在页面像如图实现listQuestionNaireQuestion中每一个questionNaireQuestion对象的遍历 另外 选项不是如图中的只有满意,不满意....选项由ques

如何在一个JSP页面中调用另一个JSP页面中的变量

在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象-request对象获取参数: (1)通过超链接传参: 例:把a.jsp中i的值传到b.jsp中: 在a.jsp页面中的核心代码为: <a href="b.jsp?i=1">传参</a>     (说明:给i赋值时也可以用jsp表达式,例如i=<%变量名 %>) 在b.jsp页面中的核心