public class Student {
private boolean isAccept;//是否接受协议
public Student(){}
public boolean isAccept() {
return isAccept;
}
public void setAccept(boolean isAccept) {
this.isAccept = isAccept;
}
}
如果属性是is开头,如isA**
生成的getter方法为:isA**()
setter方法为:setA**()
在jsp页面获取该类的属性时候,要特别注意,不能直接使用该类的属性名isA**作为property值,而是得使用a**(注意是头个字母是小写)
否则会抛出异常 org.apache.jasper.JasperException: Cannot find any information on property 'isAccept' in a bean of type 'entity.Student'
<jsp:useBean id="student" class="entity.Student" scope="request"/>
是否接受协议
<jsp:getProperty property="accept" name="student"/>原因:在jsp转servlet时
<jsp:getProperty property="accept" name="student"/>
相当于(可以看tomcat下work目录该项目对应生成的底层代码)
out.write(org.apache.jasper.runtime.JspRuntimeLibrary.toString((((entity.Student)_jspx_page_context.findAttribute("student")).isAccept())));
本文介绍在Java类中如何正确处理以is开头的Boolean类型属性,并解释了在JSP页面中访问这些属性时需要注意的问题及解决方法。

被折叠的 条评论
为什么被折叠?



