java.lang.String 无法转换为 org.riediger.teams.logic.to.TeamTO

java.lang.String cannot be cast to org.riediger.teams.logic.to.TeamTO

我现在有一个奇怪的问题(见问题标题)。它说它不能转换为 object,即使不需要转换。

JSF-Page: http://pastebin.com/0aFNWc4h 豆子:http://pastebin.com/vtA552fA

SelectManyCheckbox 的每个选定项目都应存储为此列表中的 TeamTO-object。

Bean 中的字段声明:

private List<TeamTO> preSelectionRecipientsTeams;

jsf 页面的代码段:

<h:selectManyCheckbox id="preSelectionRecipientsTeams" value="#{sendMailBean.preSelectionRecipientsTeams}">

尝试遍历此列表时

for (TeamTO t : getPreSelectionRecipientsTeams()) {...}

我说的是错误。 有什么想法吗?

getPreSelectionRecipientsTeams()

包含字符串,尽管从它的类型来看它不应该。

找到它获取内容的位置并修复它。

根据您更新的问题,我推断如下:

您的 bean 包含所需类型的集合,但您尚未注册转换器以使 JSF 实际转换字符串,它通过 http 接收到这些对象。

所以:编写一个 Converter 并将其注册到您的 JSF 组件。

开始阅读所有这些内容的一个好点可能是:http://download.oracle.com/otn_hosted_doc/jdeveloper/j2ee101302/jsf_apps/eventvalidate/sf_avc_process.html