SelectOneMenu未正确显示

时间:2013-04-19 08:38:41

标签: java jsf primefaces

我希望对以下问题有一些意见:
我有一个登录屏幕,然后是另一个Panel页面,在PanelSelectOneMenu内。不幸的是,登录后SelectOneMenu的输出有时是这样的:

SelectOneMenu Bug

相反,用户的完整(!)名称应放在SelectOneMenu的中间。
有时它会起作用,有时则不起作用。
此外,如果我现在切换User,我只会收到它的第一个字母。 (在下拉列表中,全名被写入)

我在其ManagedBean中填充@ViewScopedPostConstruct)内的内容,并从数据库中获取数据。 (查看 - > ManagedBean - > DAO类 - > ManagedBean)。 我还尝试将代码放在public Classname{}中,结果相同。

我认为SelectOneMenu未正确呈现存在问题 如何解决?

users.xhtml:

<p:selectOneMenu id="somSelect" value="#{userManagerBean.somValue}"
    styleClass="selecters">
    <p:ajax update="userDataTable" listener="#{userManagerBean.changeSomValue}" />
    <f:selectItems value="#{userManagerBean.userList}" />
</p:selectOneMenu>

ManagedBean @ViewScoped:

   @PostConstruct
        public void init() {
    // DAO Method
            retrieveTableData();

            String loggedInUser = "";
            try{
            loggedInUser = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("sprintUser").toString();
            }catch(Exception e){
                System.err.println("> No previous login");
            }

            // Check for session login name and select from table - if session null select first
            if (somValue == null && userList.size() != 0) {
                somValue = userList.get(0);             
                for(int i = 0; i < userList.size(); i++){                           
                    if(loggedInUser.equals(userList.get(i))){
                        somValue = loggedInUser;
                    }
                }       
            }               

            selectedUser = somValue();       
            userData = new ArrayList<User>();
// a Table population
            populateUser(userData);
        }

0 个答案:

没有答案