Я использую JBoss Wildfly 8.2.0 и заметил, что <f:viewParam>
вызывается дважды на моей странице:
- Первый раз, когда я получаю доступ к своей странице с данным параметром в URL-адресе.
- Второй раз - при первом запросе AJAX, который я делаю с этой страницы.
Бин:
@Named
@javax.faces.view.ViewScoped
public class MessageBean implements Serializable {
private String message;
private int count;
public String getMessage() {
return message;
}
public void setMessage(String message) {
System.out.println("setting message");
this.message = message;
}
public void increment() {
this.count++;
}
public int getCount() {
return count;
}
}
XHTML:
<!DOCTYPE html ...>
<html ...>
<f:metadata>
<f:viewParam name="message" value="#{messageBean.message}" />
</f:metadata>
<h:head>
<title>Message</title>
</h:head>
<h:body>
<h:form>
<h:outputText value="#{messageBean.message} (#{messageBean.count} time(s))" />
<h:commandButton value="increment">
<f:ajax render="@form" listener="#{messageBean.increment}" />
</h:commandButton>
</h:form>
</h:body>
</html>
Я не понимаю, почему запросы AJAX вызывают <f:viewParam>
и почему только первый.
<f:viewAction>
будет такая же проблема, но это не так. Так что я думаю, что это ошибка в мохарре. Если бы кто-нибудь (@BalusC ?) мог подтвердить... - person Xavier Dury   schedule 30.04.2015