SpringMVC使用form标签提交表单信息出现Invalid property 'department' of bean class的问题及解决办法

首先先贴出原代码

<form:form action="emp" method="POST" modelAttribute="employee">
	<!-- path属性对应text的name属性 -->
		LastName:<form:input path="lastName"/><br>
		Email:<form:input path="email"/><br>
		<%
			Map<Integer, String> genders = new HashMap<Integer, String>();
			genders.put(0, "Female");
			genders.put(1, "Male");
			request.setAttribute("genders", genders);
		%><!-- 采用map集合保存gender内容,然后通过request转发被items捕获 -->
		Gender:<form:radiobuttons path="gender" items="${genders }"/><br>
		Department:<form:select path="department.id" 
		items="${departments }" itemLabel="departmentName" itemValue="id"/><br>
		<input type="submit" value="submit"/>	
	</form:form>

(注意在form:select中的path要和itemValue的属性是一致的,不然也会报错。)
以上代码在执行后会报Invalid property ‘department’ of bean class…的错误, 也就是说department无法映射到Department这个bean中。
**解决方法:**后面我去检查了Department的get,Set方法以及构造方法,发现不存在无参构造器。添加了无参构造器后顺利解决了问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值