映射Spring表单

时间:2014-08-05 08:08:38

标签: java spring jsp

我有一个表格,假设预先选择了所呈现的人的语言。什么应该放在路上或是其他错误?

这个类是通过hibernate映射的,我得到一个具有一组语言的对象Person。

public class Person{
    private int id;
    private String name;
    private String age;
    private Set<Language> languages;
    ...
    setters and getters
}

public class Language{
    private int personId;
    private String language;
    ...
    setters and getters
}

在控制器中我插入了所有可用语言(字符串)的列表,这就是我的JSP的样子

<form:form action="update.do" commandName="person" method="post" name="create-person">
    ...
    <form:select multiple="true" path="languages.language" items="${allLanguages}" />
    ...
</form:form>

我以前用过Strings做过,但我不知道怎么用语言

来管理它

修改
我忘了说allLanguagesString

的列表

2 个答案:

答案 0 :(得分:0)

1)languages是一个Set,因此它没有属性language
2)你需要从你的集合中获取一个元素才能使用它 3)您的选择允许multiple="true",同时您只使用一个值来设置它......

答案 1 :(得分:0)

根据您的评论,

<form:form action="update.do" commandName="person" method="post" name="create-person">
    ...
    <form:select multiple="true" path="languages" items="${allLanguages}" />
    ...
</form:form>

假设${allLanguages}有字符串列表。

注意

路径是要与输入字段关联的模型类变量的名称。

是您从控制器发送的值列表