에 selectOneRadio은 내가 간단한 JSF 2.2 페이지에서 작업하는 f:ajax
리스너를 얻을 수 없습니다. 값은 할당되지만 청취자는 청각 장애인입니다. 이상하게도, h:selectOneRadio
을 h:selectOneMenu
으로 대체하면 매우 똑같은 코드가 완벽하게 작동합니다.이상한 문제 : 아파치 Tomee 7.0.1
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Test</title>
</h:head>
<h:body>
<h:form id="f" >
<h:selectOneRadio id="r" value="#{test.mode}">
<f:selectItem itemValue="One"/>
<f:selectItem itemValue="Two"/>
<f:selectItem itemValue="Three"/>
<f:ajax render="@form" execute="@form" listener="#{test.listener2()}"/>
</h:selectOneRadio>
<br/>
<h:outputText id="out" value="#{test.mode}"/>
</h:form>
</h:body>
</html>
와 콩 :
@Named
@SessionScoped
public class Test implements Serializable {
private final static Logger LOG = Logger.getLogger(Test.class.getName());
private String mode;
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
LOG.info("Mode setter: " + mode);
}
public void listener1(AjaxBehaviorEvent event) throws AbortProcessingException {
LOG.info("Mode listener 1: " + mode);
}
public void listener2() {
LOG.info("Mode listener 2: " + mode);
}
}
청취자 방법의 유형 중 어느 것도이 h:selectOneRadio
에 대한 해고 여기에 HTML입니다. bean을 @ManagedBean
으로 만들고 다른 ajax 이벤트 유형을 사용하면 도움이되지 않습니다.
문제는 버전 7.0.1 (에서 MyFaces 2.2.10, JSF 2.2)에 아파치 Tomee의 업그레이드 후에 나타났다. MyFaces와 2.2.11의 동일한 문제.
웹 응용 프로그램은 귀 내부에 번들로 제공됩니다, 다른 JSF 라이브러리, 더 Primefaces를로드하지 않고 유사하다, 아니 서블릿 필터, 전혀 아무것도 - 순수 JSF 2.2 응용 프로그램입니다.
아이디어가 있으십니까? 에서 MyFaces에 버그가있어
시도 : @Kukeltje는 차이가 없습니다 – Kukeltje
ajax'는, 그들의 대부분을 테스트했다. – Osw
죄송 합니다만, 이미 언급 한 내용을보고 싶었습니다 ... 죄송합니다 ... 그렇다면 올바르게 이해하면 listener1도 작동하지 않습니다 (xhtml에서 대괄호 제외)? 'h : messages'를 추가하면 어떤 정보입니까? 개발 모드에서 앱을 실행하면 어떻게됩니까? – Kukeltje