boolean类型的getter方法

本文讨论了在使用JSP页面时遇到的Servlet服务异常问题,特别是当试图访问一个不存在于TreasureBoxDomain实体类中的属性时引发的异常。详细解释了原因并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

严重: Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Property 'isDrawDisk' not found on type edu.hziee.rpg.model.metadata.TreasureBoxDomain
	at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:223)
	at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:200)
	at javax.el.BeanELResolver.property(BeanELResolver.java:310)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:85)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:55)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
	at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:974)
	......
2012-12-27 10:13:33,493 DEBUG [http-8085-exec-6] (DispatcherServlet.java:939) - Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@17210a5
2012-12-27 10:13:33,493 DEBUG [http-8085-exec-6] (FrameworkServlet.java:588) - Could not complete request
org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/jsonitem/treasureBoxlist.jsp at line 57

54: 			<td>${treasureBox.canTrade }</td>
55: 			<td>${treasureBox.stackNum }</td>
56: 			<td>${treasureBox.type }</td>
57: 			<td>${treasureBox.isDrawDisk }</td>
58: 			<td>${treasureBox.drawDiskLevel }</td>
59: 			<td>${treasureBox.needYuanbao }</td>
60: 			<td>${treasureBox.itemNumber }</td>


Stacktrace:
	at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:550)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:454)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	......
	
	去看了下实体类,其中一个属性 boolean isDrawDisk ,ide自动生成的getter/setter,
	
	public boolean isDrawDisk() {
		return isDrawDisk;
	}

	public void setDrawDisk(boolean isDrawDisk) {
		this.isDrawDisk = isDrawDisk;
	}

	确实和一般getter的不同,getter和setter方法就是getProperty和setProperty(第一个字母变大写,前面再加get或set)。
	而对于类型为boolean的属性,getter方法还可以写为isProperty(getProperty仍然可用),而且,如果属性的前两个字母
	是is(两个小写),则getter与property完全同名,所以drawDisk,isDrawDisk,getter方法应该是getDrawDisk()或
        者isDrawDisk(),jsp中访问就需要写为${treasureBox.drawDisk}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值