向JSF面板网格添加重复组件
我对Java/JSF开发(以前是大型机遗留)相当陌生,所以我希望有人能让我知道我要问的问题是否可行以及如何做。或者至少给我指出正确的方向 我正在尝试创建一个portlet,在这里我可以反复添加相同的组件,最多添加30次。最终,这些组件背后的数据在每个组件中都会有所不同,但来自同一个数据库。到目前为止,我所做的是创建一个容器组件和一个按钮,该按钮调用一个方法来向容器添加内容。具体如下:向JSF面板网格添加重复组件,jsf,components,containers,Jsf,Components,Containers,我对Java/JSF开发(以前是大型机遗留)相当陌生,所以我希望有人能让我知道我要问的问题是否可行以及如何做。或者至少给我指出正确的方向 我正在尝试创建一个portlet,在这里我可以反复添加相同的组件,最多添加30次。最终,这些组件背后的数据在每个组件中都会有所不同,但来自同一个数据库。到目前为止,我所做的是创建一个容器组件和一个按钮,该按钮调用一个方法来向容器添加内容。具体如下: <h:body> <h:form> <ice:pane
<h:body>
<h:form>
<ice:panelGrid binding="#{simpleBean.containerComponent}"/>
<br/>
<ice:commandButton value="add new section" action="#{simpleBean.addComponent}" />
</h:form>
</h:body>
我可以让代码在第一次单击按钮时呈现一些内容,但随后什么也没有发生。在理想情况下,我会在屏幕上显示30个相同的组件
有人能提供一些建议吗
先谢谢你
克里斯你的菜豆的范围是什么?你看起来像什么?我想是的。我来看看是否有用。我基本上想做的是一次又一次地添加相同的组件(具有不同的id)。我收集了我需要更改id的信息,因为当我没有得到一个组件时,它已经存在错误。
private HtmlPanelGrid containerComponent;
private int i = 1;
public void addComponent() {
UIColumn uiColumn = new UIColumn();
uiColumn.setId("UIColumn_"+i);
HtmlOutputText htmlOutputText = new HtmlOutputText();
htmlOutputText.setId("HtmlOutputText_"+i);
htmlOutputText.setValue("HtmlOutputText_1_Value");
HtmlInputText htmlInputText = new HtmlInputText();
htmlInputText.setId("HtmlInputText_"+i);
htmlInputText.setValue("HtmlInputText_1_Value");
uiColumn.getChildren().add(htmlOutputText);
uiColumn.getChildren().add(htmlInputText);
if (containerComponent == null) {
containerComponent = new HtmlPanelGrid();
}
containerComponent.getChildren().add(uiColumn);
i++;
}