Jsf 使用Omnifaces传递自定义HTML5属性

Jsf 使用Omnifaces传递自定义HTML5属性,jsf,omnifaces,Jsf,Omnifaces,如中所述,为了传递自定义HTML5属性,我们必须声明上下文参数org.omnifaces.HTML5\u RENDER\u KIT\u PASSTHROUGH\u attributes,将类的完全限定名作为键传递,将值作为PASSTHROUGH属性名称的逗号分隔字符串传递 我所做的是: org.omnifaces.HTML5_呈现_工具包_传递_属性 javax.faces.component.html.HtmlForm=data-parsley-validate; javax.faces.c

如中所述,为了传递自定义HTML5属性,我们必须声明上下文参数
org.omnifaces.HTML5\u RENDER\u KIT\u PASSTHROUGH\u attributes
,将类的完全限定名作为键传递,将值作为PASSTHROUGH属性名称的逗号分隔字符串传递

我所做的是:


org.omnifaces.HTML5_呈现_工具包_传递_属性
javax.faces.component.html.HtmlForm=data-parsley-validate;
javax.faces.component.html.HtmlInputText=数据欧芹类型;
我还注册了
渲染工具包工厂


org.omnifaces.renderkit.Html5RenderKitFactory
当然,所有这些都会进入下一个阶段。 不幸的是,我没有运气让它工作,我不知道缺少什么

我已经创建了一个非常基本的项目,只包含一个表单和一个inputText

我在三个环境中对此进行了测试:

第一个

  • GlassFish版本4.0(build 89)-我也有一些
  • 莫哈拉2.2.0
  • Omnifaces 1.8.1
第二个

  • JBoss应用服务器7.1.1
  • 莫哈拉2.1.11
  • Omnifaces 1.8.1
第三个

  • 码头9.1.1
  • 莫哈拉2.2.0
  • Omnifaces 1.8.1

我的第一个假设是Mojarra的2.2版本,但我也在2.1上测试了相同的结果,似乎我在这里遗漏了一些东西,因为我有一个非常清晰的示例/项目

我已经通过实现不同的渲染器成功地传递了这些自定义属性,但是使用Omnifaces对我来说不那么麻烦,它还测试了将
autocomplete
传递到表单,表单最初由该渲染器支持,并且工作良好

注意:我知道在JSF2.2中,我们可以轻松地通过HTML5,在我的情况下,应用程序应该可以在2.2或2.1上工作。

属于
web.xml
,而不是
faces config.xml


我澄清了javadocs的问题。

也许我应该删除这个问题?文档中提到的不够明确。我借此机会更新了文档。另一个初学者可能会在未来遇到同样的问题,因为没有消化足够的咖啡因。我的意思是,我的项目中已经有了大量的上下文参数,但我已经将其放在了faces配置中,我今天感觉自己像一个初学者--。。无论如何,谢谢你,我会把这个问题当作一个耻辱:)顺便说一句,当我在
faces config.xml
中尝试
时,Eclipse抱怨了一个带有红色下划线的未知元素。Netbeans不是这样做的吗?这也可以归咎于Netbeans:)这是对损坏的渲染器(旧PrimeFaces版本中的渲染器)的解决方法的结果。我决定在OmniFaces2.0中删除它,因为这确实太混乱了。请不要删除这个问题。这解决了我正在解决的问题。