h:selectOneRadio

HtmlSelectOneRadio is a UISelectOne component that renders radio buttons.

General Usage

The value attribute can be bound to a model bean property via EL.

Source Code

  1. <ui:composition xmlns="http://www.w3.org/1999/xhtml"
  2. xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:h="http://xmlns.jcp.org/jsf/html"
  3. xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
  4.  
  5. <h:form>
  6. <h:selectOneRadio id="selectOneRadio"
  7. required="#{showcaseModelBean.selectedComponent.required}"
  8. value="#{selectOneModelBean.favoriteId}" enabledClass="inline-label" layout="pageDirection">
  9. <f:selectItem itemLabel="Compatible" itemValue="1" />
  10. <f:selectItem itemLabel="Enterprise Ready" itemValue="2" />
  11. <f:selectItem itemLabel="Powerful Integration" itemValue="3" />
  12. <f:selectItem itemLabel="Lightweight" itemValue="4" />
  13. <f:selectItem itemLabel="Open Source" itemValue="5" />
  14. </h:selectOneRadio>
  15. <h:message for="selectOneRadio" />
  16. <hr />
  17. <h:commandButton action="#{selectOneBackingBean.submit}" value="#{i18n['submit']}">
  18. <f:ajax execute="@form" render="@form" />
  19. </h:commandButton>
  20. <h:outputText id="modelValue" value="#{selectOneModelBean.favoriteId}" />
  21. </h:form>
  22.  
  23. </ui:composition>
  1. @ManagedBean
  2. @RequestScoped
  3. public class SelectOneModelBean {
  4.  
  5. private Long favoriteId;
  6. private Long benefitId = 3L;
  7. private Date date;
  8. private String phase;
  9.  
  10. @ManagedProperty(name = "liferayBenefitService", value = "#{liferayBenefitService}")
  11. private LiferayBenefitService liferayBenefitService;
  12.  
  13. public Long getBenefitId() {
  14. return benefitId;
  15. }
  16.  
  17. public Date getDate() {
  18. return date;
  19. }
  20.  
  21. public Long getFavoriteId() {
  22. return favoriteId;
  23. }
  24.  
  25. public List<LiferayBenefit> getLiferayBenefits() {
  26. return liferayBenefitService.getLiferayBenefits();
  27. }
  28.  
  29. public String getPhase() {
  30. return phase;
  31. }
  32.  
  33. public void setBenefitId(Long benefitId) {
  34. this.benefitId = benefitId;
  35. }
  36.  
  37. public void setDate(Date date) {
  38. this.date = date;
  39. }
  40.  
  41. public void setFavoriteId(Long favoriteId) {
  42. this.favoriteId = favoriteId;
  43. }
  44.  
  45. public void setLiferayBenefitService(LiferayBenefitService liferayBenefitService) {
  46. this.liferayBenefitService = liferayBenefitService;
  47. }
  48.  
  49. public void setPhase(String phase) {
  50. this.phase = phase;
  51. }
  52. }
  1. @ManagedBean
  2. @RequestScoped
  3. public class SelectOneBackingBean {
  4.  
  5. private static final Logger logger = LoggerFactory.getLogger(SelectOneBackingBean.class);
  6.  
  7. @ManagedProperty(name = "selectOneModelBean", value = "#{selectOneModelBean}")
  8. private SelectOneModelBean selectOneModelBean;
  9.  
  10. public SelectItem[] getSelectItems() {
  11. SelectItem[] selectItems = new SelectItem[3];
  12.  
  13. for (int i = 0; i < 3; i++) {
  14. SelectItem item = new SelectItem();
  15. item.setLabel("Item " + (i + 1));
  16. item.setValue(i + 1);
  17. selectItems[i] = item;
  18. }
  19.  
  20. return selectItems;
  21. }
  22.  
  23. public void setSelectOneModelBean(SelectOneModelBean selectOneModelBean) {
  24. this.selectOneModelBean = selectOneModelBean;
  25. }
  26.  
  27. public void submit() {
  28. PhaseId phaseId = FacesContext.getCurrentInstance().getCurrentPhaseId();
  29. logger.info("submit: phaseId=[{0}] favoriteId=[{1}]", phaseId.toString(), selectOneModelBean.getFavoriteId());
  30. }
  31.  
  32. public void submitAnswer() {
  33.  
  34. Date selectedDate = selectOneModelBean.getDate();
  35.  
  36. TimeZone gmtTimeZone = TimeZone.getTimeZone("GMT");
  37. Calendar calendar = new GregorianCalendar(gmtTimeZone);
  38.  
  39. if (selectedDate != null) {
  40. calendar.setTime(selectedDate);
  41. }
  42.  
  43. FacesContext facesContext = FacesContext.getCurrentInstance();
  44. FacesMessage facesMessage;
  45.  
  46. if ((selectedDate != null) && (calendar.get(Calendar.MONTH) == 6) && (calendar.get(Calendar.DATE) == 4) &&
  47. (calendar.get(Calendar.YEAR) == 1776)) {
  48. facesMessage = new FacesMessage("Correct!");
  49. facesMessage.setSeverity(FacesMessage.SEVERITY_INFO);
  50. }
  51. else {
  52. facesMessage = new FacesMessage("Incorrect!");
  53. facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
  54. }
  55.  
  56. facesContext.addMessage(null, facesMessage);
  57. }
  58.  
  59. public void valueChangeListener(ValueChangeEvent valueChangeEvent) {
  60.  
  61. FacesContext facesContext = FacesContext.getCurrentInstance();
  62. PhaseId phaseId = facesContext.getCurrentPhaseId();
  63. logger.debug("valueChangeListener: phaseId=[{0}]", phaseId.toString());
  64.  
  65. String phaseName = phaseId.toString();
  66. FacesMessage facesMessage = new FacesMessage("The valueChangeListener method was called during the " +
  67. phaseName + " phase of the JSF lifecycle.");
  68. facesContext.addMessage(null, facesMessage);
  69. }
  70. }
Liferay Faces Bridge Implementation 5.0.0 + Showcase Common 3.1.1 + Liferay Faces Util 3.4.1 + Mojarra 2.2.20