2011-01-14 2 views
0

전체 양식 대신 dataTable을 제출 한 다음 제출 후 popupwindow를 열 수 있습니까?JSF가 dataTable 및 openpopup 창을 제출 하시겠습니까? 이것이 가능한가?

내 dataTable에 텍스트 상자가 있고 팝업 창은 실제로이 텍스트 상자에있는 데이터/값에 의존합니다. 사용자가 텍스트 상자의 값을 변경할 수 있기 때문에 팝업을 열기 전에 dataTable에서 최신 값을 가져와야합니다. 팝업은 데이터 테이블의 각 행에있는 버튼을 통해 열립니다.

저는 JSF2를 사용하고 있습니다. 감사.

답변

1

클릭 동작을 호출 할 때 해당 행의 텍스트 영역 ID를 매개 변수로 전달한 다음 트리에서 해당 구성 요소를 찾아 값을 가져옵니다. 그 값을 팝업 창에서 사용할 수 있습니다.

popup.xhtml : 컨트롤러에서

<h:outputText value="#{backingBean.popupText}" /> 

:

public void myActionListener(ActionEvent e){ 

..........  
String textAreaID = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(TEXTAREA_ID); 

HtmlInputTextarea textArea = (HtmlInputTextarea)FinderUtil.findComponentInRoot(textAreaID); 
String text = (String) textArea.getValue(); 

//this is the backing bean used in the popup window  
backingBean.setPopupText(text); 

............... 
} 
+0

확인 대단히 감사합니다. 귀하의 코드를 테스트하고 작동하는 것 같습니다. 나는 FacesContext.getCurrentInstance(). getExternalContext(). getRequestParameterMap(). get (TEXTAREA_ID);를 사용했다. 라인을 찾고 내가 찾던 가치를 얻었다. 감사!!! – raimun

관련 문제