сохранить выбранные значения в нескольких h: selectManyCheckbox в той же форме - PullRequest
1 голос
/ 09 февраля 2012

У меня есть страница JSF, которая содержит форму с несколькими элементами, которые соответствуют различным настраиваемым атрибутам, которые пользователь может выбрать, скажем,

<h:form> 
  <h:selectManyCheckbox value="#{bean.p}">
         <f:selectItem itemLabel="p1" itemValue="1" />
         <f:selectItem itemLabel="p2" itemValue="2" />
         <f:ajax render="panel1" />
  </h:selectManyCheckbox>

  <h:selectManyCheckbox value="#{bean.t}">
         <f:selectItem itemLabel="t1" itemValue="1" />
         <f:selectItem itemLabel="t2" itemValue="2" />
         <f:ajax render="panel1" />
  </h:selectManyCheckbox>

  <h:panelGroup id="panel1">....</h:panelGroup>
</h:form>

Моя проблема в том, что в тот момент, когда пользователь выбирает значение дляp, я теряю значения, хранящиеся для t в bean-компоненте, и наоборот.

Мне нужна эта информация для создания запроса, который возвращает результаты, которые я отображаю в panel1, но на данный момент я могу основывать этот запрос только на одном параметре или другом.

Любая помощьвысоко ценится

1 Ответ

0 голосов
/ 09 февраля 2012

Управляемый компонент, по-видимому, находится в области запроса. Экземпляр bean-объекта в области запросов завершает свою работу к концу цикла HTTP-запроса / ответа. После этого каждый ajax-запрос к тому же представлению учитывается как новый HTTP-запрос и, таким образом, создает новый экземпляр компонента со всеми свойствами, установленными по умолчанию. Вам нужно поместить bean-компонент в область видимости, чтобы он оставался в живых до тех пор, пока вы взаимодействуете с одним и тем же видом.

@ManagedBean
@ViewScoped
public class Bean {
    // ...
}

Смотри также:

...