将bean方法传递给复合

时间:2011-02-03 21:18:38

标签: jsf jsf-2 composite-component

我想知道是否存在某种方式将某些webbean传递给JSF 2.0中的组件的列表? webbean getList应返回组件的客户端列表。例如:

组件:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:composite="http://java.sun.com/jsf/composite">
<head>
  <title>This will not be present in rendered output</title>
</head>
<body>

<composite:interface>
  <composite:attribute name="list" required="true"/>
</composite:interface>

<composite:implementation>
  <h:dataTable id="clients" value="#{list}" var="client">
    <h:column>
      <f:facet name="header">
        <h:outputText value="Client"></h:outputText>
      </f:facet>
      <h:outputText value="#{client.username}"></h:outputText>
    </h:column>
    ....
  </h:dataTable>
</composite:implementation>
</body>
</html>

用户页面应传递返回List对象的webBean的位置。

....
<components:list-client list="webBean.getList"/>
....

你能给我一个例子吗?

祝你好运

1 个答案:

答案 0 :(得分:2)

只需要改变两件事。

访问该值应“照常”:

<components:list-client list="#{webBean.list}" />

实施需要通过#{cc.attrs.attributeName}访问属性:

<h:dataTable id="clients" value="#{cc.attrs.list}" var="client">

有关更多用法示例,请查看tag documentation