JSF2 HTML5输入(电子邮件)不更新模型

时间:2012-06-12 09:41:19

标签: ajax html5 jsf-2 renderer

如果值绑定到html5输入类型=电子邮件,我在考虑在JSF2应用程序中的ajax-roundtrip中更新我的backing-bean时遇到了问题。

  1. 首先,我创建了一个“Html5InputRenderer”,以便JSF-runtime可以为a创建html5-markup,以便编写

  2. “Html5InputRenderer”的核心“魔力”是:

    markup.replaceAll("type=\"text\"", "type=\"email\"");
    

    在javax.faces.renderer.Renderer的重写方法encodeEnd(..)中。

  3. 将此h:输入放入表单并使用f:ajax进行丰富:

    <h:form id="form">                      
      <f:ajax render="testOut">
        <h:inputText id="test" renderedType="email" value="#{testBean.value}" />
      </f:ajax>
      <h:outputText id="testOut" value="#{testBean.value}" />
    </h:form>
    
  4. 属性'renderedType'是JSF-“Html5InputRenderer”提示为h:input

  5. 呈现html5标记的提示
  6. 测试代码段。尽管JSF-runtime调用了ajax往返,但它不会更新#{testBean.value}。

  7. 测试代码段删除属性'renderedType',一切都按预期工作。

0 个答案:

没有答案