我定义了以下形式:
<ui:define name="body">
<h:form
id="posForm"
styleClass="well span12">
....
<o:commandScript
id="createTransactionCommandScript"
rendered="#{multiTenantBean.currentAccount.stripePublishableKey != null}"
name="createTransaction"
actionListener="#{posMB.createTransaction}"
execute="@form"
render="@form" />
</h:form>
</ui:define>
当我加载页面时,我会反复向 Stdout 发送此错误:
Apr 11, 2013 6:31:53 PM org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNING: Unsupported component-family/renderer-type: org.omnifaces.component.script/javax.faces.Button
Apr 11, 2013 6:31:53 PM javax.faces.component.UIComponentBase getRenderer
WARNING: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /pos.xhtml][Class: javax.faces.component.html.HtmlBody,Id: j_id_m][Class: javax.faces.component.html.HtmlForm,Id: posForm][Class: org.omnifaces.component.script.CommandScript,Id: createTransactionCommandScript]} (component-family=org.omnifaces.component.script, renderer-type=javax.faces.Button)
Apr 11, 2013 6:31:53 PM org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNING: Unsupported component-family/renderer-type: org.omnifaces.component.script/javax.faces.Button
Apr 11, 2013 6:31:53 PM javax.faces.component.UIComponentBase getRenderer
WARNING: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /pos.xhtml][Class: javax.faces.component.html.HtmlBody,Id: j_id_m][Class: javax.faces.component.html.HtmlForm,Id: posForm][Class: org.omnifaces.component.script.CommandScript,Id: createTransactionCommandScript]} (component-family=org.omnifaces.component.script, renderer-type=javax.faces.Button)
Apr 11, 2013 6:31:53 PM org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNING: Unsupported component-family/renderer-type: org.omnifaces.component.script/javax.faces.Button
Apr 11, 2013 6:31:53 PM javax.faces.component.UIComponentBase getRenderer
WARNING: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /pos.xhtml][Class: javax.faces.component.html.HtmlBody,Id: j_id_m][Class: javax.faces.component.html.HtmlForm,Id: posForm][Class: org.omnifaces.component.script.CommandScript,Id: createTransactionCommandScript]} (component-family=org.omnifaces.component.script, renderer-type=javax.faces.Button)
Apr 11, 2013 6:31:53 PM org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNING: Unsupported component-family/renderer-type: org.omnifaces.component.script/javax.faces.Button
Apr 11, 2013 6:31:53 PM javax.faces.component.UIComponentBase getRenderer
WARNING: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /pos.xhtml][Class: javax.faces.component.html.HtmlBody,Id: j_id_m][Class: javax.faces.component.html.HtmlForm,Id: posForm][Class: org.omnifaces.component.script.CommandScript,Id: createTransactionCommandScript]} (component-family=org.omnifaces.component.script, renderer-type=javax.faces.Button)
我在这里做错了什么?
最佳答案
你没有做错什么。 CommandScript
从 UICommand
继承了 javax.faces.Button
的渲染器类型它继承自的类,而它应该 actually当 CommandScript
自行渲染时已设置为 null
。 MyFaces 只是警告关联的渲染器实现无法解析。此问题已在 OmniFaces 1.5 中修复。
关于jsf-2 - 警告 : Unsupported component-family/renderer-type: org.omnifaces.component.script/javax.faces.Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960700/