Java 未显示的字符串列表
我用弹簧3。我试图在jsp中显示对象的值Java 未显示的字符串列表,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我用弹簧3。我试图在jsp中显示对象的值 public class UserForm implements Serializable { private List<String> values; private String date; ... } 这是我的jsp: <form:form commandName="userForm" name="userForm"> Date: <form:input path="date">
public class UserForm implements Serializable {
private List<String> values;
private String date;
...
}
这是我的jsp:
<form:form commandName="userForm" name="userForm">
Date: <form:input path="date"></form:input>
<br/>
Expediteur:
<form:select path="values" items="${values}" />
<br/>
<input type="submit" value="create" />
</form:form>
在jsp中,我可以看到date字段的today值,但是listbox是空的
有什么想法吗
谢谢好吧,如果您想在jsp中访问它,请使用addAttributeValue,list。您当前没有设置它,因此它是空的
如果该列表包含在statistiqueForm对象中,则使用items=${statistiqueForm.values} 将表单对象正确地传递到jsp页面。在该页面中有一个列表框,其中有一个潜在值列表和一个选定值列表。对象窗体包含所选值的列表,但您还应设置包含所有潜在值的列表。事实上,您在jsp中引用了${values},但没有将其传递给jsp。您应该将以下代码添加到控制器:
@Controller
@RequestMapping("/user.htm")
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping(method = RequestMethod.GET)
public String userStat(Model model) {
UserForm stat = userService.populateStatistique();
stat.setDate("today");
model.addAttribute("statistiqueForm", stat);
return "userStat";
}
}
model.addAttribute("values", potentialValueList);
我还建议您更改该列表的名称以避免混淆,这样就可以很容易地理解所选值与潜在值之间的差异。您在控制器中填充值的位置?我假设userService.populateStatistique;-填充列表值;-调试该行并查看该行是否正在填充您的值。确切地说,by userService.populateStatistique-当我调试时,我看到值没有时间深入研究它,但似乎存在一些可能导致问题的命名不一致性-命令对象名为userForm、userStat或statistiqueForm吗?似乎所有三个名称都用于引用同一个对象。statistiqueForm、userStat、statistiqueForm=userForm。。。copyPaste errorok但现在列表框是空的。。。在控制器中,我可以看到UserForm.values有两个itemsys,select为空是正确的,您必须通过model.addAttribute将潜在值的列表传递给页面。从空列表中选择两个值是不可能的,所以您必须填充该列表。我已经填充了此列表。。。UserForm stat=userService.populatistique;我尝试在服务层中提供数据。。。这不是一个好主意?你只填充了另一个列表,我想它包含了所选的值。试试这个:model.addAttributevalues,stat.getValues;我试图向您展示items=${values}引用的是一个您没有传递到页面的列表。相反,path=值指的是表单对象。您的潜在价值列表在哪里?