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