相关疑难解决方法(0)

在任何与Servlet相关的类中按名称获取JSF托管bean

我正在尝试编写一个自定义servlet(用于AJAX/JSON),我想在其中引用我@ManagedBeans的名字.我希望能够映射:

http://host/app/myBean/myProperty

至:

@ManagedBean(name="myBean")
public class MyBean {
    public String getMyProperty();
}
Run Code Online (Sandbox Code Playgroud)

是否可以从常规servlet中按名称加载bean?是否有我可以使用的JSF servlet或帮助程序?

我似乎被春天宠坏了,这一切都太明显了.

jsf servlets java-ee jsf-2 managed-bean

98
推荐指数
2
解决办法
15万
查看次数

如何创建动态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万
查看次数