如何在jsf中为自定义组件添加自定义属性?

时间:2017-06-06 11:09:29

标签: jsf jsf-2 custom-component

我正在JSF中的taglib.xml中创建自定义组件,如下面的代码

     <tag-name>CustomComponent</tag-name>
   <component>
            <component-type>javax.faces.Input</component-type> 
    </component>
      </tag>

xhtml 呈现组件,如下所示

<h:body bgcolor="white">
<cs:CustomComponent></cs:CustomComponent>       
            </h:body>

我想为此组件添加自定义属性。并且如果除了我指定之外给出任何其他参数,则想要发出警告。这可能与jsf。

1 个答案:

答案 0 :(得分:1)

看这里

<tag>
<tag-name>training</tag-name>
<attribute>
    <name>style</name>
</attribute>
<attribute>
    <name>action</name>
    <method-signature>java.lang.String action()</method-signature>
</attribute>
<component>
    <component-type>training</component-type>
    <renderer-type>pl.spiid.app.spiidcharts.beans.training.Training</renderer-type>
</component>

在xhtml中,我可以使用<libtag:training style="blabla" />,我可以在Renderer中检索它:

    Map<String, Object> attrMap = component.getAttributes(); // to 
    String style = (String) attrMap.get("style");