我根据我之前的帖子创建了一个面板(参考 - Help on JSF 2.0 Custom Components and Primefaces),使用后端的自定义组件,并在面板中填充了标签,如inputtext,listbox,下拉菜单,selectoneradio。如何在按钮单击时保存这些值?我在视图上无所事事 - (前端)所有处理都必须在后端完成。一个相同的例子将非常有用。
这就是我所做的 -
private Panel myPanel;
public Panel getMyPanel() {
return myPanel;
}
public void setMyPanel(Panel myPanel) {
this.myPanel = myPanel;
if (myPanel.getChildCount() <= 1) {
InputText input = new InputText();
input.setValue("my dynamic text");
myPanel.getChildren().add(input);
}
}
提前致谢
答案 0 :(得分:1)
您需要为所有动态创建的UIForm
,UIInput
和UICommand
组件提供固定 ID。
input.setId("someId");
// ...
否则JSF无法在视图状态中找到它们来处理提交的值。