gla*_*ill 5 jsf facelets composite-component jsf-2 managed-bean
有没有办法在复合组件中设置托管bean参数,然后让使用类来决定使用哪个实际托管bean?
类似的东西: comp.xhtml
<cc:interface>
<cc:attribute name="price" />
<cc:param name="pageBean" value="#{superBean}" />
<cc:interface>
<cc:implementation>
<h:outputText value="#{cc.attrs.price}"/>
</cc:implementation>
Run Code Online (Sandbox Code Playgroud)
然后,在使用页面中
<ezcomp:comp pageBean="actualBean"
price="#{actualBean.price}" >
</ezcomp:comp>
Run Code Online (Sandbox Code Playgroud)
在我的例子中,ActualBean是SuperBean的子类型.
我甚至不确定这是可能的,但我们只是说如果有人证明我错了会很棒.
先感谢您
Bal*_*usC 11
基本上要删除重复的代码.我有很多需要在复合组件中设置的属性.使用页面唯一不同的是托管bean的名称,都是超大的子类型.
您无需指定所有属性.只是单独指定bean就足够了.您可以直接在复合组件中引用其属性.
<cc:interface>
<cc:attribute name="pageBean" type="com.example.SuperBean" required="true" />
<cc:interface>
<cc:implementation>
<h:outputText value="#{cc.attrs.pageBean.price}"/>
</cc:implementation>
Run Code Online (Sandbox Code Playgroud)
同
<ezcomp:comp pageBean="#{actualBean}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4694 次 |
| 最近记录: |