완전히 편집 됨 : 아마도 나는 문제를 혼합하고 오해했습니다. 내 코드를 간소화 한 후에 질문이 단순화됩니다. <p:commandButton>
이 페이지 새로 고침 (예 : 브라우저 창에서 F5를 누를 때)과 같은 동작 방법을 실행하지 못하게하려면 어떻게해야합니까?Primefaces commandButton은 페이지 새로 고침시 동작 메서드를 호출합니다.
JSF 코드 :
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:body>
<h:form>
<h:outputText value="#{bugBean.number}" />
<h:outputText value="#{bugBean.isComplete()}" />
<p:commandButton id="entryCommand" value="add"
action="#{bugBean.increase()}" update="@form" oncomplete="#{bugBean.complete()}"/>
</h:form>
</h:body>
</html>
백업 빈 코드 :
는package huhu.main.managebean;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named
@SessionScoped
public class BugBean implements Serializable {
private static final long serialVersionUID = 1L;
private int number;
private boolean isComplete = false;
public void increase(){
number++;
}
public void complete(){
isComplete = true;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public boolean isComplete() {
return isComplete;
}
public void setComplete(boolean isComplete) {
this.isComplete = isComplete;
}
}
업데이트 : 나는이 같은 oncomplete
물건을 제거한다하더라도 한 번만 <p:commandButton>
을 클릭 카운터는 상승 모든 페이지를 새로 고침 할 때마다
<h:form>
<h:outputText value="#{bugBean.number}" />
<p:commandButton id="entryCommand" value="add"
action="#{bugBean.increase()}" update="@form"/>
</h:form>
"페이지 새로 고침"을 사용하면 웹 브라우저에서 F5/Ctrl + R을 누르는 것과 같은 의미입니까? – BalusC
@BalusC 그래, 그게 내 뜻이야! – Lester
여기에 페이지의 나머지 부분을 게시하여 컨텍스트를 제공하십시오. – kolossus