2013-03-28 1 views
0

richfaces 인 inputNumberSlider 또는 inputNumberSpinner를 사용하려고합니다.Richfaces 입력시 valueChangeEvent가 작동하지 않습니다.

문제는 콩에서 값을 업데이트 할 수 없다는 것입니다.

1) 빈에서

<rich:inputNumberSlider value="#{skinningBean.currentSkin.topBar.bannerXOffset}" 
valueChangeListener="#{skinningBean.valueBannerXOffSetChangeListener}" 
onchange="A4J.findForm(this).submit()"> 
</rich:inputNumberSlider> 

:

public void valueBannerXOffSetChangeListener(ValueChangeEvent event) { 
    System.out.println("x value changed"); 
    currentSkin.getTopBar().setBannerXOffset((Integer) event.getNewValue()); 
} 

2)

<rich:inputNumberSpinner value="#{skinningBean.currentSkin.topBar.bannerYOffset}"> 
    <a4j:ajax event="change" render="preview" oncomplete="initSlider()" /> 
</rich:inputNumberSpinner> 
다음

는 I 시도 2 ​​해결책은

이것은 콩에서 내 setter를 호출해야합니다. 나는 String을 취하는 두 setter와 Integer를 취하는 두 setter를 썼다. 내 항목,

+0

이 문제의 주된 이유가 없습니다 성공적으로 제출되는 변환 오류 2. 검증 실패 3. 양식 1. 있습니다. 세 가지 모두를 제거해야합니다. – kolossus

답변

-1

선호 될 수 2 작업 솔루션을 다시 쓰게 어쨌든 A4J의 supprt이 필요하지만 그들 중 누구도

라고하지 않습니다 당신은 당신이 onComplete를 을 추가 할 수 있습니다 작업을 진행하게되면, 다음 첫 시도 부분 :

<rich:inputNumberSpinner value="#{skinningBean.currentSkin.topBar.bannerYOffset}"> 
    <a4j:ajax event="onchange" render="preview" action="#{bean.valueBannerXOffSetChangeListener}" /> 
</rich:inputNumberSpinner> 

가능한 당신이 매개 변수를 수신 할 수있는 여러분의 빈 함수를 재정의해야합니다.

참조 : https://community.jboss.org/message/588944#588944

+0

1 : 너는 X와 Y 값을 엉망으로했지만 nvm;) 2 : onchange 이벤트가 없다. "변경"되어야합니다. 3 : 매개 변수없이 메소드를 redfeine해야하는 이유는 무엇입니까? 그것은 다소 이상하게 들린다. ValueChangeEvent가 필요합니다. 4 : 아직 성공하지 못했습니다. – 4ndro1d

+0

좋아, 내가 세터에게 전화해야한다는 뜻 인 것 같지만, 그 중 하나도 작동하지 않습니다. -1 그냥 (심지어 동일하지 않습니다) 코드를 복사에 대한 이해없이 – 4ndro1d

+0

나는 행동으로 빈 메서드를 호출하여 명시 적으로 리스너를 사용하지 않고 이벤트를 "변경"에서 "변경"으로 변경하도록 제안했습니다. –

관련 문제