Chcę wykonać wiele akcji na różnych zarządzanych komponentach bean za pomocą tego samego przycisku, z których jedna to sesja o ustalonym zakresie i drugie żądanie. W moim przykładzie używam tego samego komponentu dla obu.Sesja zarządzana o ograniczonej liczbie sesji i akcjaListener
index.xhtml
<h:form>
<p:commandButton image="ui-icon ui-icon-notice" action="#{controller.inc()}" update="result">
<f:actionListener type="controller.Controller" />
</p:commandButton>
</h:form>
<p:panel id="result">
#{controller.count}
</p:panel>
controller.Controller.java
@Named(value = "controller")
@SessionScoped
public class Controller implements ActionListener, Serializable
{
int count = 0;
public Controller(){
System.out.println("new");
}
public void inc(){
count += 1;
}
public int getCount(){
return count;
}
@Override
public void processAction(ActionEvent event) throws AbortProcessingException{
count += 1000;
}
}
Po naciśnięciu przycisku zwiększa count o 1, a nie 1001, a tworzy nową Bean. Co zrobiłem źle ?
Dzięki.
Ale oczywiście, dzięki! – ThzChz
Nie ma za co. – BalusC