Jsf 通过Bean在selectOneMenu上设置默认选择

Jsf 通过Bean在selectOneMenu上设置默认选择,jsf,seam,Jsf,Seam,这似乎是个容易的问题,但也许我遗漏了什么。我正在尝试用当前登录的用户预填充搜索筛选器中的用户字段。正在按预期填充角色筛选器,但用户字段默认为空。我在bean中设置了一个log语句,它验证bean是否被设置。我还在goToBasicSearch函数中进行了搜索,它根据当前登录的用户进行搜索 下拉列表填充正确,选择用户和搜索正确。我想知道为什么UI没有用默认值填充字段。技术堆栈:Seam 2.3、Jboss 7、JSF 2、Richfaces 4 豆子: XHTML 而不是通过searchFilt

这似乎是个容易的问题,但也许我遗漏了什么。我正在尝试用当前登录的用户预填充搜索筛选器中的用户字段。正在按预期填充角色筛选器,但用户字段默认为空。我在bean中设置了一个log语句,它验证bean是否被设置。我还在goToBasicSearch函数中进行了搜索,它根据当前登录的用户进行搜索

下拉列表填充正确,选择用户和搜索正确。我想知道为什么UI没有用默认值填充字段。技术堆栈:Seam 2.3、Jboss 7、JSF 2、Richfaces 4

豆子:

XHTML



而不是通过
searchFilter.setStaff(user.getSTaff())设置职员我必须在列表中搜索

long id = user.getStaff().getId();
for( Staff staff : staffList )
    {
    if( staff.getId() == id )
        {
        searchFilter.setStaff( staff );
        break;
        }
    }

而不是通过
searchFilter.setStaff(user.getSTaff())设置职员我必须在列表中搜索

long id = user.getStaff().getId();
for( Staff staff : staffList )
    {
    if( staff.getId() == id )
        {
        searchFilter.setStaff( staff );
        break;
        }
    }

我真的不知道为什么会这样,但这解决了问题。我更改了searchFilter.setStaff(user.getStaff())到长id=user.getStaff().getId();对于(Staff-Staff:staffList){if(Staff.getId()==id){searchFilter.setStaff(Staff);}}真的不知道为什么会这样,但这解决了问题。我更改了searchFilter.setStaff(user.getStaff())到长id=user.getStaff().getId();for(Staff-Staff:staffList){if(Staff.getId()==id){searchFilter.setStaff(Staff);}
long id = user.getStaff().getId();
for( Staff staff : staffList )
    {
    if( staff.getId() == id )
        {
        searchFilter.setStaff( staff );
        break;
        }
    }