我在JSF页面中收到错误消息... Conversion error setting value 'delovenier' for 'null converter'
,其中 delovenier 是所选项目的名称。
我不确定为什么会这样。有人可以帮助我。
这是我的JSF代码......
<h:selectOneListbox id="proj" value ="#{studentEController.gekozenProject}">
<f:selectItems value="#{studentEController.projecten}"></f:selectItems>
</h:selectOneListbox>
这是我在managedBean StudentEController
中的代码。
private List<ProjectE> projecten;
private ProjectE gekozenProject;
如您所见,它们具有相同类型的ProjectE
。
答案 0 :(得分:3)
服务器和客户端之间传输的数据将采用字符串形式。
表达式语言可以强制执行一组标准类型(整数等),但对于复杂类型,您必须向组件添加Converter。您的转换器会在呈现时将ProjectE
类型序列化为字符串,并在提交表单时将其反序列化为新的ProjectE
实例。
您可以为特定类型创建转换器,也可以将它们显式添加到组件中。
请参阅Java EE 6教程中的Creating a Custom Converter和<f:converter>
标记。