JSF 2.0 Передача параметров на ту же страницу - PullRequest
0 голосов
/ 09 марта 2012

У меня есть страница с именем page1.jsf, которая содержит один параметр.У меня есть командная кнопка, которая содержит параметр.При нажатии на кнопку, он должен вернуться к page1.jsf вместе с любым параметром, который я передаю.

<h:commandButton action="#{myBean.DoSthng}" value="Something" >
 <f:param name="p1" value="sthng"></f:param>
 </h:commandButton>

Как бы я передал этот параметр самой странице 1.jsf?config.xml - управляемый Бин, я установил его так:

<managed-bean>
  <managed-bean-name>myBean</managed-bean-name>
  <managed-bean-class>com.MyBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
  <managed-property>
    <property-name>p1</property-name>
    <value>#{myBean.p1}</value>
  </managed-property>
</managed-bean>

, и это дает мне ошибку.

Можете ли вы помочь мне, пожалуйста.* РЕДАКТИРОВАТЬ

На странице 1 я должен передать значение из действия бэк-компоненту.Поддерживающий компонент должен перенаправить меня обратно на страницу 1, но с другим содержимым!

Ответы [ 3 ]

1 голос
/ 09 марта 2012

Хотя я не совсем уверен, чего вы пытаетесь достичь, вы можете использовать f:setPropertyActionListener:

<h:commandButton action="#{myBean.DoSthng}" value="Something" >
   <f:setPropertyActionListener target="#{myBean.p1}" value="something" />
</h:commandButton>

Это установит свойство компонента поддержки, и если вы вернете значение null из вашего метода действия (или если оно будет недействительным), текущая страница должна отразить изменения, внесенные в ваш компонент поддержки.

0 голосов
/ 09 марта 2012

Вы помещаете свой параметр в скрытое поле, и оно будет доступно

<input type="hidden" id="sl" name="sl" value="#{param.sl}"/>

И тогда вы можете использовать его

${param.sl}
0 голосов
/ 09 марта 2012

Со страницы вы звоните action, поэтому, возвращаясь, вы можете выполнить следующие действия:

return "someView.jsf?param=val&faces-redirect=true"
...