我在JSP中有一个要提交给控制器的表单。现在,该表单的一个属性是一个枚举,但我无法得到这个工作。从JSP提交枚举到控制器
public class UploadFormBean {
private Type type;
public enum Type {
A ("abc"),
B ("xyz"),
C ("pqr");
private final String str;
private Type(final String str) {
this.str = str;
}
@Override
public String toString() {
return str;
}
}
public Type getType() {
return type;
}
public void setType(final String type) {
for (Type s: Type.values()) {
if (s.toString().equalsIgnoreCase(type)) {
this.type = s;
}
}
}
}
控制器:
public ModelAndView execute(final HttpServletRequest request, @ModelAttribute final UploadFormBean uploadFormBean) {
//some code.
Type t = uploadFormBean.getType(); //t is null.
//some more code.
}
JSP:
<input type="hidden" name="type" value="abc">
我在想什么。让我知道是否需要任何信息。感谢所有帮助。
发布UploadFormBean类代码? – RE350 2015-02-06 20:43:48
枚举在哪里? JSP在哪里使用?控制器在哪里使用?当你说“无法工作”时,你的意思是什么?你期望发生什么?究竟发生了什么?如果任何“部分代码”部分正在更改或设置与问题相关的任何内容,则应将其张贴。 – RealSkeptic 2015-02-06 20:50:08
@ RE350添加了相关代码。 – 2015-02-07 06:04:07