0 Replies Latest reply on Mar 3, 2009 11:14 AM by Igor Jacy Lino Campista

    Extending CDK example for additional input value

    Igor Jacy Lino Campista Newbie

      Hi RichFaces experts :)

      I trying to understand what to do to get an additional attribute that could be binded to a managed bean property.

      The target attribute is valueTime, as seen below:

      <rf:inputDate value="${mybean.date}" valueTime="${mybean.time}">

      Following the CDK example:


      FACELET: I declare the inputDate with extra attribute that needs binding. The AJAX should update the outputText onchange.

      <rf:inputDate value="#{bean.date}" timeValue="#{bean.time}">
      <a4j:support event="onchange" reRender="text1" />

      <h:outputText id="text1" value="#{bean.time}"/>

      XML: I added a property to the inputDate.xml

      Time in ms

      JSPX: I added the respective/another inputfield with a modified getValueAsString, pointing to the binding attribute timeValue

      <input id="#{clientId}time"
      value="#{this:getValueAsString(context, component,'timeValue')}"
      class="my-inputDate-input #{component.attributes['inputClass']}"

      JAVA: Modified the DateTimeRenderBase to add the extra method

      public String getInputValue(FacesContext context, UIInput component, Object property){
      UIInput input = (UIInput) component;
      String value = (String) input.getSubmittedValue();
      if(value == null){
      Object curVal = input.getValue();
      Converter converter = SelectUtils.getConverterForProperty(context, input, 'timeValue');
      if(converter != null){
      value = converter.getAsString(context, input, curVal);
      } else {
      if(curVal == null){
      value = "";
      } else {
      value = curVal.toString();
      if(value == null){
      value = "";
      return value;

      It does not work since the String value = (String) input.getSubmittedValue();

      is always null. (The original value for mybean.time is "1300" )

      I'm totally lost, what else I need to modify to make the binding work so that the outputlabel is updated.

      Thanks in advance,


      I previously read, which I could not get anything understandable.