JSF 1.2: Как сохранить управляемый <sc810> доступный по охвату ретрансляций на одном представлении?

Возможно ли сохранить запрос с охватом bean живым через обратную связь на той же странице?

Общая проблема заключается в том, что по мере того, как bean получает trashed в конце запроса и воссоздается на каждой форме submit, например, булевы динамически управляемых disabled, readonly и rendered получают reset к их значения по умолчанию и заставляют формы больше не работать как намеренные.

Ответ 1

Я предполагаю, что область сеанса не является вариантом, иначе этот вопрос не имеет смысла.

Вы можете сделать это, используя Tomahawk <t:saveState>. Добавьте следующую строку на страницу:

<t:saveState value="#{bean}" />

RichFaces <a4j:keepAlive> делает то же самое:

<a4j:keepAlive beanName="#{bean}" />

Или, если есть место, обновите, по крайней мере, до JSF 2.x и поместите область bean в представление:

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

Независимо от способа, тот же самый bean будет там, когда вы отправите обратно в тот же вид и продолжаете возвращать null или void из методов действий.

См. также:

Ответ 2

Не действительно, если вы не храните Bean где-то, например. карту в области приложения, чтобы получить ее позже.

Почему бы просто не включить сеанс? Для этого используется область сеанса, поэтому несколько запросов в течение одного сеанса могут попасть в одно и то же состояние.