Rating
Rating component provides a star based rating input.
Documentation
<h:form>
<p:growl id="messages" showDetail="true" />
<h:panelGrid columns="2" cellpadding="5">
<h:outputText value="Basic:" />
<p:rating value="#{ratingView.rating1}" />
<h:outputText value="Callback:" />
<p:rating value="#{ratingView.rating2}" stars="10" cancel="false" onRate="alert('You rated ' + value)" />
<h:outputText value="Ajax Rate:" />
<p:rating value="#{ratingView.rating3}">
<p:ajax event="rate" listener="#{ratingView.onrate}" update="messages" />
<p:ajax event="cancel" listener="#{ratingView.oncancel}" update="messages" />
</p:rating>
<h:outputText value="Readonly:" />
<p:rating value="#{ratingView.rating4}" readonly="true" />
<h:outputText value="Disabled"/>
<p:rating value="#{ratingView.rating4}" disabled="true" />
</h:panelGrid>
<p:commandButton value="Submit" update="display" oncomplete="PF('dlg').show()" style="margin:5px" />
<p:dialog header="Values" widgetVar="dlg" showEffect="fade" hideEffect="fade">
<h:panelGrid id="display" columns="2" cellpadding="5">
<h:outputText value="Rating 1:" />
<h:outputText value="#{ratingView.rating1}" />
<h:outputText value="Rating 2:" />
<h:outputText value="#{ratingView.rating2}" />
<h:outputText value="Rating 3:" />
<h:outputText value="#{ratingView.rating3}" />
</h:panelGrid>
</p:dialog>
</h:form>
@Named
@RequestScoped
public class RatingView {
private Integer rating1;
private Integer rating2;
private Integer rating3;
private Integer rating4 = 3;
public void onrate(RateEvent<Integer> rateEvent) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Rate Event", "You rated:" + rateEvent.getRating());
FacesContext.getCurrentInstance().addMessage(null, message);
}
public void oncancel() {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Cancel Event", "Rate Reset");
FacesContext.getCurrentInstance().addMessage(null, message);
}
public Integer getRating1() {
return rating1;
}
public void setRating1(Integer rating1) {
this.rating1 = rating1;
}
public Integer getRating2() {
return rating2;
}
public void setRating2(Integer rating2) {
this.rating2 = rating2;
}
public Integer getRating3() {
return rating3;
}
public void setRating3(Integer rating3) {
this.rating3 = rating3;
}
public Integer getRating4() {
return rating4;
}
public void setRating4(Integer rating4) {
this.rating4 = rating4;
}
}