Действие `h: commandLink` не вызывается (возможно из-за` ui: repeat`) - PullRequest
1 голос
/ 06 января 2012

Вот код:

<ui:repeat var="entity" varStatus="status" value="#{myentityListView.someList}">

                <h:form>
                <h:commandLink  value="Go!" action="mypage.xhtml" >
                <c:if test="#{entity.entityType=='Comment'}"><f:param  name="productId" value="#{entity.product.getId()}"/></c:if>
                <f:param  name="userId" value="#{entity.user.getId()}"/>
                </h:commandLink>
                 </h:form>

                </ui:repeat>

Может быть, причина в том, что h:commandLink находится в ui:repeat.

mypage.xhtml - это страница с exixting.

Спасибо

1 Ответ

1 голос
/ 06 января 2012

Необходимо убедиться, что #{myentityListView.someList} возвращает точно то же значение во время запроса на отправку формы, как и во время запроса на отображение страницы. Помещение bean-компонента в область просмотра (просто отметьте его @ViewScoped) и обеспечение того, что вы сохраняете список во время (post) конструктора или в методе действия, должны исправить это.

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

Тем не менее, в вашем конкретном случае гораздо лучше просто использовать <h:link>, поскольку вам, похоже, вообще не нужно отправлять запрос POST. Таким образом, вы получите замечательные закладки и ссылки для поисковых роботов.

<ui:repeat var="entity" varStatus="status" value="#{myentityListView.someList}">
    <h:form>
        <h:link value="Go!" outcome="mypage.xhtml">
            <f:param name="userId" value="#{entity.user.id}" />
            <f:param name="productId" value="#{entity.product.id}" disable="#{entity.entityType != 'Comment'}" />
        </h:link>
    </h:form>
</ui:repeat>

Также обратите внимание, что я исправил ваш <c:if> подход, удалив его, так как он не будет работать так, как вы ожидаете. Это всегда будет оценивать false. Смотрите также JSTL в JSF2 Facelets ... имеет смысл?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...