JSP的小坑:javax.el.PropertyNotFoundException:Property 'plc_id' not found on type java.lang.Strng

问题:jsp用el表达式遍历获取对象的属性时,老是报获取不到属性的错误

下面是代码:

Servlet代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		DeviceService service = new DeviceService();
		List<Device> deviceList = null;
		try {
			deviceList = service.findAllDevice();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		request.setAttribute("deviceList", deviceList);		
		request.getRequestDispatcher("/readblocksadd.jsp").forward(request, response);
	}

前端代码:

<td class="ta_01" bgColor="#ffffff">
	<select name="device_index">
		<c:forEach items="${deviceList } " var="device">
			<option value="${device.name}">${device.name}</option>							
		</c:forEach>
	</select>
</td>

bean代码

private Integer name;
	public Integer getName() {
		return name;
	}
	public void setName(Integer name) {
		this.name= name;
	}

解决方法

弄了好一会儿终于找到问题所在,因为我使用的是eclipse,在写出${ }时,我就没注意他中间会自动有一个空格,正常情况下是不会报错的,但是当你使用forEach然后获取它的属性的时候就会报错,去掉空格就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值