gpt4 book ai didi

java - Primefaces:转换错误设置值 'Admin' 为 'null Converter'

转载 作者:行者123 更新时间:2023-11-29 05:58:56 25 4
gpt4 key购买 nike

我在这段代码中遇到错误,我被困在了这里。请帮我。

代码中包含selectedRole、allRolesList的getter和setter

java代码

private String selectedRole;


List<String> allRolesList = new ArrayList<String>();

if(!roleList.isEmpty()){
isRolesPresent = true;
for(UserRole ur : roleList){
allRolesList.add(ur.getRoleName().toString());

/* printing allRolesList results: [admin] */

System.out.print("allRolesList "+allRolesList);

}
}else{
isRolesPresent = false;
}

prime-faces代码:

        <p:selectOneMenu id="role" value="#{usersDAO.selectedUser}" effect="fade" required="true" 
requiredMessage="Role cannot be null">
<f:selectItems value="#{usersDAO.allRolesList}" />
</p:selectOneMenu>

最佳答案

#{usersDAO.selectedUser} 显然不是 String 类型。 JSF 不知道如何将 String 转换为 User,因为没有为 User 类型注册转换器,因此出现错误消息.

您通常需要为此创建自定义 Converter,如 this answer 中所述。 ,但是根据给定的 Java 代码,您实际上需要 #{usersDAO.selectedRole} 而不是它已经是 String 类型。因此,您无需创建自定义 Converter

<p:selectOneMenu ... value="#{usersDAO.selectedRole}">

顺便说一下,名称中带有“DAO”的托管 bean 很奇怪。您确定您没有在单个类中混合概念或紧密耦合不同的职责(这会导致可重用性/可维护性差)吗?

关于java - Primefaces:转换错误设置值 'Admin' 为 'null Converter',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10918604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com