关于javabean中的属性
我在一个页面通过
<jsp:useBean id="user" class="mypack.JspTest.userInfoBean" scope="request">
<jsp:setProperty name="user" property="*"/>
</jsp:useBean>
来获得上一个页面传来的参数,其中包括name(String类型),它储存了用户名信息。
之后,我使用:
<c:if test="${user.nameValid}">
welcome
</c:if>
来判断用户是否填写了用户名。
但结果Tomcat返回错误:An error occurred while getting property "nameValid" from an instance of class mypack.JspTest.userInfoBean(在获取一个来自mypack.JspTest.userInfoBean类实例的nameValid属性时发生了错误)
并提示发生了NULL指针异常。
可是我通过检测,bean中的name以被正确的赋值了。
我的bean是这样写的:
package mypack.JspTest;
public class userInfoBean {
private String name;
private boolean nameValid;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public boolean isNameValid() {
if(name.equals(""))
nameValid=false;
else
nameValid=true;
return nameValid;
}
}
------解决方案--------------------user.name不能获得name的值 因为是private
------解决方案--------------------class
Java code
package com.auw;
public class userInfoBean {
private String name;
private boolean nameValid;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public boolean isNameValid() {
//return true;
if("".equals(name)||name==null)
nameValid=false;
else
nameValid=true;
return nameValid;
}
}