2011-05-15 4 views
1

저는 Primefaces commandLink를 임베딩하고 Primefaces dataTable의 컬럼 내부 링크에서 액션 리스너를 호출하려고합니다. 이것은 가능하지 않습니까? "Test"onclick 경고가 발생하지만 결코 내 bean 메소드에 전달되지 않습니다.임베디드 커맨드 링크를 사용하는 Primefaces dataTable

<p:dataTable var="location" value="#{adminBean.locations}"> 
     <p:column headerText="Options"> 
      <p:commandLink value="delete" actionListener="#{admin.deleteLocation}" onclick="alert('test')"/> 
     </p:column>  
    </p:dataTable> 

콩 코드 :

public void deleteLocation(ActionEvent e){ 
    //delete logic here... 
} 
+0

가능한 중복되거나 입력 값이 설정되지 않았거나 업데이트되었습니다.] (https://stackoverflow.com/questions/2118656/commandbutton-commandlink-ajax-action-listener-method-not-invoked-or-input-value) – Kukeltje

답변

3

이 가능합니다. actionListener를 호출해야합니다. p:commandButton은 기본적으로 ajax를 사용합니다. 업데이트 할 구성 요소를 정의하려면 update 속성을 사용해야합니다.

그러나 이것이 actionListener에 영향을 주는지는 알 수 없습니다. actionListener 대신 action을 사용해 보셨습니까? 다음과 같이

<p:commandLink action="#{spc.selectPatient(item)}" 
       ajax="false" 
       value="Open"/> 

콩 방법은 같습니다 : 여기

내가 작업을 얻었는지 예입니다

public String selectPatient(Patient p) { 
    // do something 
    // return some outcome 
} 
있는 명령/CommandLink는/아약스 액션/리스너 메소드가 호출되지 [의
+0

시도해 보겠습니다. 하지만이 예제를 볼 수도 있습니다 ... http : //www.primefaces.org/showcase/ui/datatableRowSelectionByColumn.jsf – c12

관련 문제