pojo.UserInfo实体类的源代码如下:
package pojo;
import org.apache.struts.action.ActionForm;
public class UserInfo extends ActionForm
{
private String userName;
……
// Some function:
public String getUserName()
{
return this.userName;
}
public void setUserName(String userName)
{
this.userName = userName
}
……
}
通过登录把用户信息存入session中:session.setAttribute("loginedUser",userInfo);
用户登录后转入某个jsp网页,页面中有如下代码:<font size="2">欢迎您,<font color="#FF0000">${sessionScope.loginedUser.userName}</font></font>
这段html代码中包含了一个EL表达式,它会将已登录的用户名输出来。但是我们发现,pojo.UserInfo的userName属性是private级别的,外界是访问不到的,在jsp里又怎么能访问得到呢?其实,这个EL表达式里的userName的作用不是直接访问pojo.UserInfo的userName属性,而是访问它的getUserName()方法(这个方法是public级别的),然后返回一个String。不信的话,你把getUserName()的方法名改一下试试。