使用SpringMVC框架时,当我做表单回显时。

情景描述。Employee 类有一个Department类的属性。这两个类存在多对一关联关系。

下面是Employee类的属性的定义。

public class Employee
{
private Integer id;
private String name;
private String email;
private int gender;
private Department department;
}

下面是Department类的属性的定义。

public class Department
{
private Integer id;
private String departmentName;
}

当我在添加Employee 对象的页面做部门信息的表单回显时。相关的jsp页面如下。

<form:form action="input" method="POST" modelAttribute="employee">

        Name: <form:input path="name"/>
<br>
Email: <form:input path="email"/>
<br>
<%
Map<Integer, String> genders = new HashMap(); genders.put(0, "Female");
genders.put(1, "Male"); request.setAttribute("genders", genders);
%>
Gender: <form:radiobuttons path="gender" items="${genders}"/>
<br>
<%--
jstl是支持级联属性的,在这里我想选择的部门id,则直接写Employee类中的department属性再".id"就可以了。
而后面的itemLabel 属性和 itemValue 属性。就不用再加department这个前缀了。直接写Department类的属性名称即可。 Department: <form:select path="department.id" items="${departments}"
itemLabel="department.departmentName" itemValue="department.id"></form:select>
--%>
Department: <form:select path="department.id" items="${departments}"
itemLabel="departmentName" itemValue="id"></form:select>
<br>
<input type="submit" name="Submit">
<br>
</form:form>

在上述jsp页面的代码中,如果把注释里的代码跟注释外面的代码换一下就会出现异常。NotReadablePropertyException

异常如下:

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/input.jsp at line 39

36:             Department: <form:select path="department.id" items="${departments}"
37: itemLabel="department.departmentName" itemValue="department.id"></form:select>
38: --%>
39: Department: <form:select path="department.id" items="${departments}"
40: itemLabel="department.departmentName" itemValue="department.id"></form:select>
41: <br>
42: <input type="submit" name="Submit">
org.springframework.beans.NotReadablePropertyException: Invalid property 'department' of bean class [com.zcd.ssh.beans.Department]: Bean property 'department' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:633)
org.springframework.beans.AbstractNestablePropertyAccessor.getNestedPropertyAccessor(AbstractNestablePropertyAccessor.java:850)
org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyAccessorForPropertyPath(AbstractNestablePropertyAccessor.java:827)
org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:622)
org.springframework.web.servlet.tags.form.OptionWriter.doRenderFromCollection(OptionWriter.java:202)
org.springframework.web.servlet.tags.form.OptionWriter.renderFromCollection(OptionWriter.java:180)
org.springframework.web.servlet.tags.form.OptionWriter.writeOptions(OptionWriter.java:133)

关于Jsp页面的jstl标签的级联属性的异常。的更多相关文章

  1. 今天做一个项目的时候,要在一个编辑的jsp页面的textarea标签设置value属性,结果发现他没有value属性,但是是编辑页面又必须要回显要修改的内容,所以在参考了w3cschool之后很轻松的解决了这个问题。

    今天做一个项目的时候,要在一个编辑的jsp页面的textarea标签设置value属性,结果发现他没有value属性,但是是编辑页面又必须要回显要修改的内容,所以在参考了w3cschool之后很轻松的 ...

  2. javascript 如何访问 action或者controller 传给 jsp 页面的值

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...

  3. jsp页面的html代码显示不出来,提示Uncaught SyntaxError: Unexpected token <

    jsp页面的html代码显示不出来,提示Uncaught SyntaxError: Unexpected token < <input type="hidden" na ...

  4. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

  5. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  6. JavaWeb基础Day17 (JSP EL表达式 jstl标签库 beanutil工具类)

    JSP jsp的实质就是指在html界面中嵌入Java代码 jsp脚本 <%  Java代码  %>  相当于写在service方法中. <%=java 变量或者表达式 %> ...

  7. jsp页面中jstl标签详解

    JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...

  8. html页面的head标签下

    head区是指首页html代码的<head>和</head>之间的内容.  必须加入的标签  1.公司版权注释  <!--- the site is designed b ...

  9. 【转】jsp页面中jstl标签详解

    原文地址: JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实 ...

随机推荐

  1. Selenium库简介

    Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击.下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬.对于一些JavaScript动态渲染的页面来说 ...

  2. Golang教程:方法

    什么是方法 一个方法只是一个函数,它有一个特殊的接收者(receiver)类型,该接收者放在 func 关键字和函数名之间.接收者可以是结构体类型或非结构体类型.可以在方法内部访问接收者. 通过下面的 ...

  3. wcf datetime json format

    wcf 内置的json序列化工具,有时需要替换,或者特殊情况的处理,需要修改. 我也遇到了Dto属性类型是datetime,json的反序列化 和 序列号不友好. 这是国外网站的一个方案:Replac ...

  4. python监控linux内存并写入mongodb

    (需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil #pip install pymongo #vim memory_monitory.py 文 ...

  5. 谷歌在线appspot平台教你学Hacker(由浅如深)-XSS篇

    练习链接 http://google-gruyere.appspot.com/ 点开是纯英文的 直接点翻译即可 一 .part1 http://google-gruyere.appspot.com/p ...

  6. System.arraycopy的测试

    ArrayList的源码中数组的拷贝用到该方法: public static void arraycopy(Object src, --源数组 int srcPos, --源数组要复制的起始位置 Ob ...

  7. GIT学习笔记——第一章

    git之vim编辑器退出命令 # 学习笔记 张文军微博主页  张文军码云主页   张文军新浪云主页  张文军博客主页 ## 刚学习git,好多东西没接触过,进入vim后不知道如何出来了,网上找了很多都 ...

  8. springMVC介绍及配置

    Spring MVC的Controller用于处理用户的请求.Controller相当于Struts 1里的Action,他们的实现机制.运行原理都类似. Controller是个接口,一般直接继承A ...

  9. PHP框架中.htaccess文件作用

    1..htaccess文件使用前提 .htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体地怎样接待它,就是此文件的 ...

  10. jquery获取下拉框中的循环值

    <select class="test" id="projectno" name="projectno"> <option ...