2013-03-21 2 views
3

에서 속성 :다시 렌더링 나는 형태로 아래와 같이이 JSF

<h:form id="x" prependId="false"> 

     <h:dataTable id="v" value="#{userBean.cdManagerCollection}" var="cd" 
     border="1"> 

      <f:facet name="header"> 
       Test Table 
      </f:facet> 
      <h:column> 
       <f:facet name="header"> 
        <h:outputText value="Name" /> 
       </f:facet> 
       <h:inputText id="title" value="#{cd.title}" /> 
      </h:column>              
     </h:dataTable> 

     <input type="hidden" id='btnName' name="btnName" value="Apply"/> 
     <a4j:commandButton id="btn" value="SUBMIT" action="#{userBean.processCD}" reRender="x"/> 

</h:form> 

내가 A4J 사용하여 양식을 제출하면 내 질문이있다 :, 명령 단추를 다음 동일한를 다시 렌더링은 (요청 매개 변수를 않습니다 숨겨진이 경우 btnName)에 액세스 할 수 있습니까? (faces environments 환경 변수를 통해 의미합니까?)

기본적으로 요청 매개 변수를 기반으로 $ {userBean.cdManagerCollection}을 반환하면서 데이터를 결정해야합니다. 당신이 userBean에서 btnName에 대한 매개 변수를 읽을 줄 경우

답변

1

당신의 <input> 요소는 물론 HTTP 요청의 속성으로 사용할 수있는 경우 값 . 즉, 그 매개 변수에 대한 호출을 통해 액션 메소드 userBean.processCD의 String로 볼 수 있습니다 : 당신은 내가 강력하게 추천하는는 JSF의 접근을하려는 경우

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("btnName"); 

, 당신은 value 속성을 결합하는 것 빈 속성에 <h:inputHidden> 태그의 JSF는 자신의 입력 변환 (검증, 변환, 속성 설정 등)을 할 수 있도록 :

<h:inputHidden id="btnName" value="#{userBean.btnName}"/> 

당신의 관리 빈의 속성 :

private String btnName;//getter+setter 
+0

답변 해 주셔서 감사합니다 – Atul

+0

반갑습니다. – skuntsel

-1

당신은 당신의 userBean에 이미 매개 변수가 다음과 같습니다

<input type="hidden" id="btnName" name="btnName" value="#{userBean.btnParameter}" /> 
+0

안타깝게도 관리 빈의 속성을 설정하지 않습니다. 속성을 읽음으로써 초기 페이지로드 중에 숨겨진 입력을 미리 채울 것입니다. 그것은 당신이하고있는 것과는 반대되는 OP의 문제와 아무 관련이 없습니다. – skuntsel

관련 문제