2016-04-01 2 views
-1

Я использую jsf 1.2 selectonemenu, у меня есть требование, чтобы при загрузке страницы с помощью selectonemenu будет загружаться некоторые данные из базы данных, и в списке будет выбрано значение. Я сделал это с использованием значений жесткого кода. Но когда он поступает из БД, он не работает, я отправляю как код жесткого кода, так и код db.Как показать JSF 1.2 selectonemenu с выбранными значениями из списка

<h:selectOneMenu id="submenu" value="three"> 
    <f:selectItem id="si1" itemLabel="One" itemValue="one" /> 
    <f:selectItem id="si2" itemLabel="Two" itemValue="two" /> 
    <f:selectItem id="si3" itemLabel="Three" itemValue="three" /> 
    <f:selectItem id="si4" itemLabel="Four" itemValue="four" /> 

    </h:selectOneMenu> 

DB Coding

<h:selectOneMenu id="submenu"> 
    <f:selectItem id="si1" itemValue="${useBean.memberDependentList}" /> 
    </h:selectOneMenu> 

Мой Bean класс

List<DependentDTO> dependentList = new MemberProxy() 
      .getDependentListFormMember(loggedInUser 
        .getUserAccessList().get(0).getClientCode(), 
        loggedInUser 
        .getUserAccessList().get(0).getCertificateNumber()); 
      List<SelectItem> selList=new ArrayList<SelectItem>(); 

      for(DependentDTO depDTO:dependentList){ 

       SelectItem sel = new SelectItem(); 
       sel.setLabel(depDTO.getNameFirst()); 
       sel.setValue(depDTO.getCertNumber()+"#"+depDTO.getClientCode()+"#"+depDTO.getDependentCode()); 
       selList.add(sel); 
      } 
      mem = new MemberProxy().getMemberDetails(loggedInUser 
         .getUserAccessList().get(0).getClientCode(), loggedInUser 
         .getUserAccessList().get(0).getCertificateNumber()); 

      SelectItem sel = new SelectItem(); 
      sel.setLabel(mem.getNameFirst()); 
      sel.setValue(mem.getCertNumber().toString().trim()+"#"+mem.getClientCode().toString().trim()+"#"+depDTO.getDependentCode()); 
      selList.add(sel); 

      memberDependent.setMemberDependentList(selList); 

Я устанавливаю имя человека в ярлыке и значение я устанавливаю номер сертификата, код клиента и зависимый код , здесь зависимый код уникален. Номер сертификата и код клиента одинаковы в обоих случаях. Могу ли я что-то сделать с зависимым кодом? когда список заносится в раскрывающийся список. Поскольку моя цель состоит в том, чтобы всегда показывать mem.getNameFirst(), когда страница загружена. Возможно ли это с любыми трюками? Пожалуйста, помогите, я новичок в JSF 1.2.

Как я покажу три, как выбрано при кодировании данных из базы данных

+0

Не могли бы вы опубликовать свой класс боба? – Erick

+0

@Erick, отредактированный с описанием подробностей, а также с классом bean, см. – storyteller

+0

@ Erick, пожалуйста, см., Что я редактировал свое сообщение с классом bean – storyteller

ответ

0

вы должны использовать значение из фасоли:

<h:outputText value="Country: " /> 
<h:selectOneMenu id="countries" value="#{bean.country}"> 
    <f:selectItems value="#{bean.countries}" /> 
</h:selectOneMenu> 
+0

Можете ли вы изменить мой код, я хочу показать mem.getNameFirst() всегда выбран – storyteller

+0

В вашем bean-компоненте добавьте 'private String firstName;' с getter и setter. В коде xhtml используйте его ''. Когда пользователь выбирает значение из selectOneMenu, он будет сохранен в firstName. –

Смежные вопросы