2010-08-18 3 views
0

Я пытаюсь использовать rich:suggestionbox. Я прошел учебник, предоставленный Richfaces. Важно то, что я использую Richfaces 3.1.4 JAR. В поле предложения я просто пытаюсь заполнить некоторые данные по умолчанию при запуске, но поле предложений не является рендерингом вообще. Когда я пытаюсь увидеть консоль ошибок в Firefox, следующее сообщение об ошибке показано ниже:rich: suggestionbox error - this.element is null

Error: this.element is null Source File: http://localhost:9080/sample/a4j_3_1_4.GAorg/richfaces/renderkit/html/scripts/suggestionbox.js.faces Line: 2

JSF КОД

<a4j:region selfRendered="true" id="region1"> 
    <h:inputText id="fx" /> 
    <rich:suggestionbox width="50" height="50" for="fx" nothingLabel="HI" 
     suggestionAction="#{basic.inputData}" fetchValue="#{basic.selectedData}" 
     var="result" id="suggestion"> 
     <h:column> 
      <h:outputText value="#{result.value}" /> 
     </h:column> 
    </rich:suggestionbox> 
    <h:commandButton id="submit" value="show data" 
     action="#{basic.submit}"></h:commandButton> 
</a4j:region> 

УДАЛОСЬ БИН

enter code here 
    private List<SelectedList> inputData; // Setter 
    private String selectedData; // Getter and Setter 

    public List<SelectedList> getInputData() {   //Getter 
    if(inputData!=null){ 
     inputData = new ArrayList<SelectedList>(); 
     inputData.add(new SelectedList("1","equal")); 
     inputData.add(new SelectedList("2","not equal")); 
     inputData.add(new SelectedList("3","greater")); 
     inputData.add(new SelectedList("4","lesser")); 
    } 
    return inputData; 
} 

Любезно помогите, пожалуйста.

+0

который JSF версию Вы используете? – Dejell

+0

Я использую JSF 1.1. – Hariharbalaji

ответ

0

EDITED: после изменения кода:

изменить метод inputData как это:

(Конечно, я считаю, что вам нужно настроить inputdata в соответствии с как внушал строки ..)

public List<Capital> inputData(Object suggest) { 
     String pref = (String)suggest; 
     //if (suggest...) - add this! to complete according the word 
     ArrayList<SelectedList> inputData = new ArrayList<SelectedList>(); 

     inputData.add(new SelectedList("1","equal")); 
     inputData.add(new SelectedList("2","not equal")); 
     inputData.add(new SelectedList("3","greater")); 
     inputData.add(new SelectedList("4","lesser")); 

     return inputData; 
    } 

и:

fetchValue="#{basic.selectedData}" 

Вам необходимо изменить его на: fetchValue="#{result.value}" где значение имеет метод геттера в SelectedList.

Если вам не хватает его, он не будет отображаться ..

См пример Suggestion Box Demo

+0

Извините, это была ошибка опечатки вместо inputData, которую я набрал как заполняющий код JSF. У меня есть метод getter и setter, сгенерированный по умолчанию, вот почему я упомянул Getter и Setter в самом коде, чтобы уменьшить пространство. – Hariharbalaji

+0

В подсказке Вам нужно действие, чтобы заполнить выбранный элемент. Вам не нужен геттер и сеттер. – Dejell

+0

Я отредактировал свой ответ сейчас. – Dejell

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