代码之家  ›  专栏  ›  技术社区  ›  Daniel Szalay

在JSF中处理复杂的Bean树

  •  0
  • Daniel Szalay  · 技术社区  · 17 年前

    让我们来看看这个bean结构,例如:

    public class Abean {
       private Bbean b;
    }
    
    public class Bbean {
       private ArrayList<Cbean> c;
    }
    
    public class Cbean {
       private ArrayList<Dbean> d;
    }
    
    public class Dbean {
        ....
    }
    

    所以基本上 Abean 包含一切。现在我想为所有这些bean创建JSP,例如,用户可以知道有多少个 Cbean 他/她想进来 Bbean Dbean 内部 Cbeans

    我试着嵌入 <h:dataTable> -s、 没有任何成功。任何帮助或想法都将不胜感激。我希望我的解释清楚。

    提前感谢,, 丹尼尔

    3 回复  |  直到 15 年前
        1
  •  1
  •   Damo    17 年前

    我假设既然您使用的是JSP,那么您就没有使用Facelets了?

    <table> 
    <ui:repeat value="#{myCBEan.d}" var="myDBean">
       <tr>
          <td><h:outputText value="#{myDBean.someText}"/></td>
       </tr>
    </ui:repeat>
    </table>
    

    或者,Richfaces具有 a4j:重复 这也做了同样的事情,毫无疑问可以与JSP一起使用。Richfaces也有一个 丰富的:微妙的 可用于嵌套表的。

        2
  •  1
  •   McDowell rahul gupta    17 年前

    master/detail 设计或编写自定义树控件。由于编写自定义控件需要详细了解JSF体系结构,因此您可能首先要查看第三方JSF库,看看是否可以找到一个适合您需要的库。

        3
  •  0
  •   Cyrille Ka    17 年前

    我不确定这是否回答了您的问题,但例如,在您的CBean中,如果您有列表“d”的getter,您可以使用JSTL在您的CBean中迭代DBean。

    <c:forEach items="#{myCBean.d}" var="myDBean">
        <h:form>
            <!-- example form content -->
            <h:outputText value="#{myDBean.someText}"/>
            <h:inputText value="#{myDBean.exampleInput}"/>
            <h:commandButton value="#{myDBean.anAction}"/>
        </h:form>
    </c:forEach>
    
    推荐文章