0

I want the checkbox only to be rendered, if the label is not empty.

<tr:panelCaptionGroup>
...
    <tr:selectBooleanCheckbox 
        id="XField1"
        render="#{!empty myController.form.model.XField1}"
        value="#{myController.form.model.XFieldChecked1}"
        text="#{myController.form.model.XField1}"
        simple="false" />
</tr:panelCaptionGroup>

XField1 is a String, XFieldChecked1 is a Boolean. It does not work, it always shows the checkbox, even if the string is null or "".

In that case, the output is (removed some attributes for clarity):

<table border="0" summary="" class="af_selectBooleanCheckbox" id="modelXField3__xc_">  
<tbody><tr>
  <td nowrap="" class="af_selectBooleanCheckbox_label"></td>
  <td valign="top" nowrap="" class="AFContentCell">
    <span id="modelXField3__xc_c" class="af_selectBooleanCheckbox_content">
      <input type="checkbox" value="t" name="modelXField3" id="modelXField3">
      <label for="modelXField3"></label>
    </span>
  </td>
</tr></tbody>
</table>
stracktracer
  • 1,862
  • 5
  • 24
  • 37

1 Answers1

1

As for every other JSF UI component, the attribute name is rendered, not render.

See also:

Community
  • 1
  • 1
BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555