相关疑难解决方法(0)

如何动态添加JSF组件

我可以动态添加JSF组件吗?我需要一个带有按钮的表单,该按钮应该<h:inputText>在表单中添加一个.这可能吗?

我知道这应该可以在JavaScript中以某种方式实现.有人知道如何在JSF中这样做吗?我认为主要的问题是如何通过获取或设置新输入的值#{value}.

jsf dynamic-forms jsf-2

29
推荐指数
1
解决办法
3万
查看次数

如何创建动态JSF表单字段

我发现了一些像这样的类似问题,但是有很多方法可以做到这让我更加困惑.

我们正在获取XML正在阅读的文件.其中XML包含有关需要显示的某些表单字段的信息.

所以我创建了这个DynamicField.java包含我们需要的所有信息的自定义:

public class DynamicField {
  private String label; // label of the field
  private String fieldKey; // some key to identify the field
  private String fieldValue; // the value of field
  private String type; // can be input,radio,selectbox etc

  // Getters + setters.
}
Run Code Online (Sandbox Code Playgroud)

所以我们有一个List<DynamicField>.

我想迭代这个列表并填充表单字段,使它看起来像这样:

<h:dataTable value="#{dynamicFields}" var="field">
    <my:someCustomComponent value="#{field}" />
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

然后<my:someCustomComponent>将返回相应的JSF表单组件(即label,inputText)

另一种方法是只显示<my:someCustomComponent>,然后返回一个HtmlDataTable带有表单元素.(我认为这可能更容易).

哪种方法最好?有人可以告诉我一些链接或代码,它显示我如何创建这个?我更喜欢完整的代码示例,而不是像"你需要一个子类javax.faces.component.UIComponent" 这样的答案.

jsf components facelets dynamic-forms

21
推荐指数
2
解决办法
5万
查看次数

标签 统计

dynamic-forms ×2

jsf ×2

components ×1

facelets ×1

jsf-2 ×1