Java 未显示的字符串列表

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">

我用弹簧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"></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=值指的是表单对象。您的潜在价值列表在哪里?