jsf-2 - :ajax doesn't work when parameters are passed using f:param

标签 jsf-2 facelets

我正在单击链接时调用一个方法。以下代码可使用ajax方式运行

                        <ui:repeat value="#{myBean.names}" var="name"
                               varStatus="idx">
                        <li>
                            <h:commandLink value="#{name.label}">
                                <f:ajax execute="@this" event="click" render="@all" listener="#{myBean.changeActiveName}" >
                                </f:ajax>
                            </h:commandLink>
                        </li>
                    </ui:repeat>

但是当我尝试将参数传递给 Ajax 调用时,它开始刷新整个页面

                    <ui:repeat value="#{myBean.names}" var="name"
                               varStatus="idx">
                        <li>
                            <h:commandLink value="#{name.label}">
                                <f:ajax execute="@this" event="click" render="@all" listener="#{myBean.changeActiveName}" >
                                    <f:param name="idx" value="#{idx}" />
                                </f:ajax>
                            </h:commandLink>
                        </li>
                    </ui:repeat>

这段代码有什么问题?

最佳答案

<f:param>必须是 parent 的 child UICommand组件,不属于 <f:ajax> .

<h:commandLink value="#{name.label}">
    <f:param name="idx" value="#{idx}" />
    <f:ajax listener="#{myBean.changeActiveName}" render="@all" />
</h:commandLink>

(请注意,我删除了 executeevent 属性,因为您的定义已经是默认值;另外我想知道发送整个 IterationStatus 实例作为请求参数有什么用...也许您只是想发送索引?请使用 #{idx.index} 来代替)

另请参阅:

关于jsf-2 - :ajax doesn't work when parameters are passed using f:param,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832607/

相关文章:

jsf - 有条件地在 ui :composition tag 中包含模板文件

jsf - <h :outputScript> target problem when using templates

jsf - p :dialog is not calling controller method 内对话框中的按钮

java - Primefaces 3.5 selectCheckBoxMenu调用事件onShow

javascript - 使用 h :selectBooleanCheckbox 显示/隐藏另一个输入字段

java - JSF 2.0 使用 Eclipse?

java - JSTL c :forEach causes @ViewScoped bean to invoke @PostConstruct on every request

jsf-2 - Weblogic 10.3.5 : <prefer-web-inf-classes> in weblogic. xml 不工作 VS。服务器类路径 JAR 文件

javascript - 使用 JSF 中的 java 脚本或 Ajax 渲染选项使 div 标签可见

xml - JSP 与 Facelets 作为 JSF 的 View 技术