Spring 3 RadioButtonsTag属性'项目'必须是数组,集合或地图异常

时间:2015-06-17 07:48:44

标签: java spring spring-mvc

我在JSP中填充了一个String of String作为单选按钮。我将List添加到ModelMap,但仍然发生以下异常。我错过了什么?

  

属性'项目'必须是数组,集合或映射:   java.lang.IllegalArgumentException:Attribute' items'必须是一个   数组,集合或地图

@Controller
public class EmployeeController {

    @Autowired
    private EmployeeManager employeeManager;

    @RequestMapping(value = {"/"}, method = RequestMethod.GET)
    public String homePage(ModelMap map) {
        map.addAttribute("employee", new Employee());
        populateDepartments(map);
        return "addEmployee";
    }

    private void populateDepartments(ModelMap map){
        List<String> departments = new ArrayList<String>();
        departments.add("Dept 1");
        departments.add("Dept 2");
        map.addAttribute("departments",departments);
    }
}

addEmployee.jsp:

<form:form method="post" action="add" commandName="employee">

    <table>
    <tr>
        <td><form:label path="name">Name</td>
        <td><form:input path="name" /></td>
        <td>Address</td>
        <td><form:input path="address" /></td>
        <td>Departments</td>
        <td><form:radiobuttons path="empDepartment" items="${departments}"/></td> 
    </tr>    
    <tr>
        <td colspan="2">
            <input type="submit" value="Add"/>
        </td>
    </tr>
    </table>
 </form:form>

实体

@Entity
public class Employee {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;
    private String name;
    private String address;

    @Transient
    private String empDepartment;
}

0 个答案:

没有答案