Primefaces额定值,额定值不传递给支持bean
我有以下评级代码:Primefaces额定值,额定值不传递给支持bean,primefaces,Primefaces,我有以下评级代码: <h:form> <p:growl id="messages" showDetail="true"></p:growl> <h:outputLabel value="Rating:" /> <p:rating value = "#{ratingBean.rating}" stars="5" rendered="true"> <p:ajax event
<h:form>
<p:growl id="messages" showDetail="true"></p:growl>
<h:outputLabel value="Rating:" />
<p:rating value = "#{ratingBean.rating}" stars="5" rendered="true">
<p:ajax event="rate" listener="#{ratingBean.onrate}" update="messages" />
</p:rating>
</h:form>
我得到的信息消息我已经评级,但在控制台中,该值被评级为null。在我的xhtml页面上显示信息以及评级,但bean没有读取值。RequestScope不够宽,无法满足您的要求。对于发出新请求的每一个速率,都会将其发送到Web服务器,从而创建新的请求范围bean。尝试查看作用域beanRequestScoped不够宽,无法实现您想要实现的目标。对于发出新请求的每一个速率,都会将其发送到Web服务器,从而创建新的请求范围bean。尝试查看作用域bean好的,因为您是新来的,请不要忘记标记“已接受”答案,它对解决问题最有帮助。如果您是新来的,请不要忘记标记“已接受”答案,它对解决问题最有帮助
import java.io.Serializable;
import javax.enterprise.context.RequestScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import org.primefaces.event.RateEvent;
@Named
@RequestScoped
public class RatingBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
public Integer getRating() {
System.out.println("You Rated: "+ rating);
return rating;
}
public void setRating(Integer rating) {
this.rating = rating;
System.out.println("You Rated re:");
}
public void onrate(RateEvent rateEvent) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Rate Event", "You rated:" + ((Integer) rateEvent.getRating()).intValue());
FacesContext.getCurrentInstance().addMessage(null, message);
}
// public void oncancel() {
// FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Cancel Event", "Rate Reset");
//
// FacesContext.getCurrentInstance().addMessage(null, message);
// }
private Integer rating;
}