我正在尝试编写一个自定义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或帮助程序?
我似乎被春天宠坏了,这一切都太明显了.
我发现了一些像这样的类似问题,但是有很多方法可以做到这让我更加困惑.
我们正在获取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" 这样的答案.