2013-03-21 3 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 в этом случае, который скрыт), доступно для доступа? (означает переменную окружения facescontext?)

В принципе, мне нужно определить данные, возвращая $ {userBean.cdManagerCollection} на основе параметра запроса.

ответ

1

значение, если ваш <input> элемент, конечно, будет доступен в качестве атрибута запроса HTTP , Другими словами, этот параметр будет отображаться в виде строки в вашем методе действия userBean.processCD через вызов:

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

Если вы хотели бы принять JSF подход, который я настоятельно рекомендую, вы бы связать атрибут value из <h:inputHidden> тега свойства компонента так, что JSF может сделать входное преобразование (проверки, преобразование, установку свойств и т.д.) сам по себе:

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

со свойством управляемой фасоли:

private String btnName;//getter+setter 
+0

Спасибо за ваш ответ – Atul

+0

Добро пожаловать. – skuntsel

-1

Если вы хотите прочитать параметр для btnName от userBean вы бы этот параметр уже в вашем userBean:

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

К сожалению, не будет установлено свойство управляемого bean, оно будет только преподышать скрытый ввод во время начальной загрузки страницы, читая свойство. Это не имеет ничего общего с проблемой OP, которая противоположна тому, что вы делаете. – skuntsel

Смежные вопросы