Просмотр полей сброса области по умолчанию после выполнения действия - PullRequest
0 голосов
/ 23 ноября 2011

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

Bean:

public class DepartmentBean {

    private DefaultTreeModel model;

    public void preRender(ComponentSystemEvent event) throws Exception {
        if (model == null) {
            model = myService.buildModel();
        }
    }

    public String clear() {
        // resetting stuff
        return "pretty:";
    }

}

View:

<h:form>
    <ice:panelGroup styleClass="crud-links">
        <h:commandLink value="Delete" action="#{department.deleteDepartment}" />          
    </ice:panelGroup>
</h:form>
<h:form>
    <ice:panelGroup>
        <ice:tree id="tree" value="#{department.model}" var="item" hideRootNode="false" hideNavigation="false" imageDir="./xmlhttp/css/xp/css-images/">
            <ice:treeNode>
                <f:facet name="content">
                    <ice:panelGroup style="display: inline">
                        <ice:commandLink  value="#{item.userObject.text}"></ice:commandLink>
                    </ice:panelGroup>
                </f:facet>
            </ice:treeNode>
        </ice:tree>
    </ice:panelGroup>
</h:form>

Когда страницазагружается в первый раз, объект model заполняется данными, но при нажатии кнопки удаления я замечаю, что после очистки выполняется метод preRender() и модель (которая была заполнена до очистки, становится нулевой и снова заполняется, хотя яЯ нахожусь на той же странице, и он должен поддерживать значение)

Есть ли в коде проблема, которая приводит к такому поведению, или это нормальное поведение?Если проблема может быть связана с Spring, областью пользовательского просмотра или IceFaces, пожалуйста, сообщите.

ОБНОВЛЕНИЕ - ТРЕБОВАНИЕ :

Я хочуинициализировать древовидную модель при построении страницы, и пока я все еще на странице, древовидная модель не инициализируется снова, пока я не сделаю это программно.

1 Ответ

0 голосов
/ 24 ноября 2011

о, моя ошибка, инициализация должна быть внутри @ PostConstruct.

...