Richfaces 제안 상자를 사용하려고합니다. suggestionbox에서 선택한 값을 기반으로, 옆에 outputtext 값을 변경하려고합니다.Richfaces와 함께 ValueChangeListener 사용 제안 상자
여기 내 XHTML 코드 :
<td align="left">
<h:inputText onchange="submit();" immediate="true" id="productname" valueChangeListener="#{salesBean.updateProductRate}" autocomplete="false"/>
</td>
<td align="left">
<h:outputText id="rate" binding="#{salesBean.productRate}"/>
</td>
<rich:suggestionbox width="290" suggestionAction="#{salesBean.suggest}" var="state" for="productname">
<f:facet name="nothingLabel">
<h:outputText value="No Products found" />
</f:facet>
<f:facet name="header">
<h:outputText value="Select Product" />
</f:facet>
<h:column>
<h:outputText value="#{state.name}"/>
</h:column>
</rich:suggestionbox>
I '는이'(예를 들어)에 InputText]를에 Richfaces의 suggestionbox '는'문자로 시작하는 이름의 목록을 보여줍니다 입력
. 이름 중 하나 (예 : 'asd')를 선택하면 이전에 입력 한 'a'만 양식에 제출됩니다.'asd'라는 전체 이름을 양식으로 제출하는 방법은 무엇입니까? 사전에
감사를 도와주세요 것은이 내 자바 코드
업데이트 코드
<td align="left">
<h:inputText immediate="true" id="productname" autocomplete="false">
</h:inputText>
</td>
<td align="left">
<h:outputText id="rate" binding="#{salesBean.productRate}"/>
</td>
<rich:suggestionbox width="290"
suggestionAction="#{salesBean.suggest}" var="state" for="productname">
<f:facet name="nothingLabel">
<h:outputText value="No Products found" />
</f:facet>
<f:facet name="header">
<h:outputText value="Select Product" />
</f:facet>
<h:column>
<h:outputText value="#{state.name}"/>
</h:column>
<a4j:support event="onselect" action="#{salesBean.updateProductRate}" reRender="rate">
<f:setPropertyActionListener value="#{state.name}" target="#{salesBean.selectedProductName}" />
</a4j:support>
(내가 Richfaces 3.3.2와 함께 JSF 1.2을 사용하고 있습니다)입니다
HtmlOutputText productRate = new HtmlOutputText();
public String updateProductRate()
{
System.out.println("Successfully entered ");
SalesDAO dao = new SalesDAO();
//getProductRate().setValue(dao.fetchRateForProductEntered(evt.getNewValue().toString()));
//selectedProductName = dao.fetchRateForProductEntered(evt.getNewValue().toString());
return "success";
}
public HtmlOutputText getProductRate() {
return productRate;
}
public void setProductRate(HtmlOutputText productRate) {
this.productRate = productRate;
}
public List<ProductSuggestOBJ> suggest(Object input)
{
SalesDAO dao = new SalesDAO();
List<ProductSuggestOBJ> suggestionList = new ArrayList<ProductSuggestOBJ>();
String userInput = (String)input;
if(!userInput.trim().equalsIgnoreCase(""))
{
suggestionList = dao.suggestProductFromDatabase(userInput);
}
return suggestionList;
}
private String selectedProductName;
public String getSelectedProductName() {
return selectedProductName;
}
public void setSelectedProductName(String selectedProductName) {
this.selectedProductName = selectedProductName;
}
같은 오류가 남아 있습니다. Plz 도움.
에 보내 주시면 감사하겠습니다. 지연 돼서 죄송합니다. 문제는 아직 해결되지 않았습니다. Plz 내 업데이트 된 코드를 확인하십시오. – mvg
제안 목록에서 값을 선택한 후'setSelectedProductName()'및'updateProductRate()'메서드가 호출 되나요? BTW, 업데이트 된 코드에서 어떤 오류도 발견되지 않습니다. –
이전 댓글에 대 한 죄송합니다. 나는 거의 혼란 스러웠다. 귀하의 업데이트는 완벽하게 작동합니다. 감사! – mvg