java - 如何防止单击 <h :commandLInk> 时页面刷新

标签 java html ajax jsf page-refresh

当用户点击 <h:commandLink> 时,我试图阻止页面刷新在我的应用程序中。我试过这个但它不起作用:

更新:

 <h:dataTable value="#{person.IssueList}" var="p" >
    <h:column style="width: 20px">
        <f:facet name="header">Issue</f:facet>
        <h:commandLink value="#{p.IssueDesc}"/>
    </h:column>

    <h:column style="width: 20px">
         <f:facet name="header">Reporting Date</f:facet>
         <p:calendar  value="#{p.issuerepDt}" rendered="#{p.editable}"                 id="CalendarId"/>                
         <h:outputText value="#{p.issuerepDt}" rendered="#{not p.editable}" />
    </h:column>

    <h:column>
            <f:facet name="header">Action</f:facet>
        <h:commandLink  value="Edit" action="#{person.editAction(p)}">
            <f:ajax execute="@form" render="@none" />          
        </h:commandLink>    

            </h:column>
    </h:dataTable>

Java 片段:

public void  editAction(PersonIssues pIssues) {
    pIssues.setEditable(true);
}

我正在使用 editing jsf datatable 的概念来自 MKyong.I

最佳答案

我会尝试使用 f:ajaxlistener 而不是 h:commandLinkaction:

<h:commandLink value="Edit">
    <f:ajax listener="#{person.editAction(p)}" execute="@form" render="dataTableId calendarId" />          
</h:commandLink>  

此外,请注意您要在 ajax 之后呈现的内容。

关于java - 如何防止单击 <h :commandLInk> 时页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12624159/

相关文章:

具有泛型的Java对象数组

java - hadoop 无法分配内存 java.io.IOException : error=12

java - 使用 hibernate 条件 hibernate 组中的最后一条记录

java - 在 Scala 中格式化字符串的最佳方式是什么?

html - 隐藏元素的模糊溢出

javascript - 第二个 Wordpress Ajax 未触发

jquery - 我想知道什么是实际的 IE 条件语句来支持所有旧版 ie 以及最新版本 ie

python - 使用 Python 从网页中抓取表格

javascript - 无法对 Firefox 扩展中的 Ajax 响应执行任何操作

javascript - Textarea没有显示结果