OpenFaces SuggestionField에 문제점이 있습니다.OpenFaces SuggestionField가 서버 측 이벤트를 트리거하지 않습니다.
SuggestionField가있는 사이트를 생성하고 suggestionMode를 "custom"로 설정했습니다. 그런 다음 모든 항목을 표시하도록되어있는 dropDownItems 하위 태그를 추가했습니다.
글쎄, 내 문제입니다. 데이터베이스에 20k 개 이상의 항목이 있기 때문에 드롭 다운 항목이 비어 있으며 사용자가 필드에 내용을 입력하기 시작하면 미리 필터링 된 항목으로 채워야합니다. . 방법은 -
<o:suggestionField id="adr" value="#{addressBean.selectedAddressString}" suggestionMode="custom" valueChangeListener="#{addressBean.valueChanged}">
<f:ajax event="change" execute="adr" render="region x y"></f:ajax>
<o:dropDownItems value="#{addressBean.addressStrings}"/>
</o:suggestionField>
public List<String> getAddressStrings() {
String filter = Faces.var("searchString", String.class);
logger.debug(filter);
return filter(filter);
}
필터 방법 헤더 :
그러나,이 방법은 결코 트리거하지 ... 여기 은 필드의 코드와 백킹 빈에서 영향을받는 방법은private List<String> filter(String filter);
this 사이트에 따르면 "사용자 지정"모드는 서버에 ajax 요청을 보내야합니다. 나는 적어도이 트리거됩니다 기대로
내가 valueChangeListener 속성을 추가했지만 두 나도 거기에 문제가있다면, 또는 뭔가 ... 어쨌든를 매우 잘못된 것입니다, 여기에이 방법의 코드입니다
: 내가 거기에 모든 구성 요소의 다른 버전의 톤 아마도 솔루션은 각각 다를 수 있음을 알다시피public void valueChanged(ValueChangeEvent vce){
logger.debug("something changed "+vce.getNewValue());
}
을 (참, 그냥 ;-) 로그인 않음), 여기 내가 사용하는 버전은
- OS : 윈도우 7
- 서버 : 톰캣 7.0.42
- 자바 : 1.7.0_51
- JSF : 2.2 (인 Mojarra 2.2)
- OpenFaces : 3.1.EA1.1287
모든 대답은 감사합니다. 미리 감사드립니다. :-)