java - JSF ajax 标签中无法执行参数

标签 java ajax jsf

cc.attrs.controllerBean.goToPage('1')中的'1'无法执行。但是,如果我在没有 forEach 循环的情况下执行此操作,则 1 可以很好地执行。知道为什么吗?

<c:forEach begin="1" step="1" end="#{cc.attrs.controllerBean.noOfPages}" varStatus="status">
        <li><h:commandLink value="#{status.index}">
            <f:ajax execute="@form" render="searchResult" action="#{cc.attrs.controllerBean.goToPage('1')}" />
        </h:commandLink></li>
</c:forEach>

最佳答案

作为一般规则,您应该避免在 JSF View 定义中使用 JSTL。您可以使用 <ui:repeat /> 执行相同的操作标签,只需在支持 bean 中定义一个包含页数的整数列表:

<!-- pages is a list of integers that holds the number of pages -->
<ui:repeat value="#{cc.attrs.controllerBean.pages}" var="pageNumber">       
    <h:commandLink value="#{pageNumber}">
          <!-- rest of your code -->
    </h:commandLink>
</ui:repeat>

还请记住<f:ajax />支持监听器属性,但不支持操作。

关于java - JSF ajax 标签中无法执行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26899912/

相关文章:

java - 对于支持 REST 的基于 Java Web 的应用程序,什么是好的技术堆栈?

java - 如何显示字符串中每个字母的出现频率?

java - RichFaces中Ajax请求的取消

asp.net - 从 ASP.Net 和 C# 后面的代码调用 JQuery 函数

jsf - JPA更新一对一关联对象导致重复条目异常

java - 如何将 native 查询映射到一个模型类?

javascript - 闭包编译器 es6 let 关键字

javascript - 如何使用Ajax通过此方法发送查询

css - JSF/PrimeFaces 标签如何解析为默认 CSS 样式?

javascript - 在jsf中使用json将数据从bean发送到javascript