Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee Primefaces命令按钮在重定向后不更新_Jakarta Ee_Jsf 2_Primefaces - Fatal编程技术网

Jakarta ee Primefaces命令按钮在重定向后不更新

Jakarta ee Primefaces命令按钮在重定向后不更新,jakarta-ee,jsf-2,primefaces,Jakarta Ee,Jsf 2,Primefaces,这是我的问题 我需要的是:当我使用p:commandButton时,在数据库中执行一些操作,重定向到同一页面,隐藏按钮,状态消息就会出现 发生了什么:当我使用p:commandButton时,在数据库中做了一些事情,重定向到同一个页面,但都没有更新。p:commandButton尚未显示,状态消息未显示。就像重定向不起作用一样 一件奇怪的事情是,如果我点击页面顶部的链接,这两个页面都会更新,运行正常 我的url:localhost/myapp/mypage.xhtml 我的模型课: 我的托管Be

这是我的问题

我需要的是:当我使用p:commandButton时,在数据库中执行一些操作,重定向到同一页面,隐藏按钮,状态消息就会出现

发生了什么:当我使用p:commandButton时,在数据库中做了一些事情,重定向到同一个页面,但都没有更新。p:commandButton尚未显示,状态消息未显示。就像重定向不起作用一样

一件奇怪的事情是,如果我点击页面顶部的链接,这两个页面都会更新,运行正常

我的url:localhost/myapp/mypage.xhtml

我的模型课:

我的托管Bean:

我的xhtml页面:


怎么了?

showButton应该以NewClass的实例而不是MyClass作为参数,这已经是一个错误了。另外,您的重定向方法不正确,页扩展名丢失。请原谅,已更正类名.ulima,ifmyClass.isWaitingDeleteConfirmation&&isPossibleDelete/*来自数据库,为TRUE*/然后方法showButton返回false。。这是你想要的吗?也许只是把假和真转换一下。
public class MyClass {

    private String name;
    private boolean waitingDeleteConfirmation;

    // getters/setters
}
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class MyClassManagedBean {

    private List<MyClass> list;

    @PostConstruct
    public void load() {
        this.list = //database get list;
    }

    public boolean showButton(MyClass myClass){
        if(myClass.isWaitingDeleteConfirmation() && isPossibleDelete()/*came from database as TRUE*/)
            return false;
        return true;
    }

    public String doDelete(MyClass) {
        //do something in database
        return "mypage?faces-redirect=true";
    }
}
<h:link outcome="mypage.xhtml?faces-redirect=true" value="Delete Page"/>

<h:form>
<p:dataTable value="#{myClassManagedBean.list}" var="listItem">

<p:column headerText="Name">
    <h:outputText value="#{listItem.name}" />
</p:column>

<p:column headerText="Delete">
    <p:commandButton rendered="#{myClassManagedBean.showButton(listItem)}"
                     action="#{myClassManagedBean.doDelete(listItem)}"
                     ajax="false" icon="ui-icon-trash" />
</p:column>

<p:column headerText="Status">
    <h:outputText rendered="#{not myClassManagedBean.showButton(listItem)}" value="Waiting confirmation" />
</p:column>

</p:dataTable>
</h:form>