0
commandLink의 actionListener
에서 객체를 배킹 빈으로 전달하는 데 문제가 있습니다. 내가 가지고있는 콩 콩을 사용하는 콩 MeasureBean
과 xhtml
파일입니다. XHTML의에서 <h : commandLink action>의 인수로 <p : selectOneListbox var = "ch">을 전달하십시오.
<p:selectOneListbox var="ch">
<f:selectItems value="#{MeasureBean.checkpoints}" var="cp" itemValue="#{cp}" />
<p:column>
<h:outputText value="#{ch.name}" />
</p:column>
<p:column>
<h:commandLink actionListener="#{MeasureBean.onCheckpointRemoved(ch)}">
<h:graphicImage library="#{ctx.theme}" name="images/delete.gif" />
<f:ajax event="click" />
</h:commandLink>
</p:column>
</p:selectOneListbox>
내가 가진 방법 :
public void onCheckpointRemoved(Checkpoint viewCheckpoint) {
System.out.println(viewCheckpoint);
// TODO
}
문제는 관계없이 내가 태그 <f:ajax>
여부, 매개 변수 viewCheckpoint 사용 whethert의입니다 빈에서 메소드의 값은 항상 널입니다. 그 매개 변수를 빈에 전달해야합니다. 전체 객체 일 필요는 없으며 검사 점의 ID 만 전달할 수 있습니다. 나는 또한 시도 무엇이었다 :
<h:commandLink actionListener="#{MeasureBean.onCheckpointRemoved(cp)}">
(cp
대신 ch
). 그러나 차이는 없습니다.
도와주세요,
마테우스
감사 Pellizon에 컨버터의 예를 확인할 수 있습니다. 나는 당신의 제안을 시도했지만, 이제 목록 상자는 내용을 전혀 렌더링하지 않습니다. 상자에 항목이 없습니다. 필자는 listbox의 정의에서''태그가 필요하다고 생각합니다. –
답변을 다시 확인하십시오! 이제 좀 더 정확한 샷입니다 :) – Pellizon
Thanks! 그게 내가 한 것처럼 똑같지, 그렇지? 유일한 차이점은 가치와 변환기의 존재입니다 ... 편집 : 나는 JS "해킹"으로 문제를 해결할 수있었습니다. 나는을 추가했다.이 값에는 click 이벤트에 JS로 값을 설정 한 다음 bean의 메소드를 호출한다. ' ' 이제 매력처럼 작동합니다. –