Jsf 如何动态添加输入字段
我想动态添加输入字段。像Jsf 如何动态添加输入字段,jsf,primefaces,Jsf,Primefaces,我想动态添加输入字段。像 PF中是否有关于如何添加此类组件的好组件 请给我一个你将如何发展它的提示,因为我目前没有线索 我真的很感激你的回答 我的技术堆栈: Hibernate:4.0.1.1最终版本 弹簧:3.1.1.释放 基本面:3.5 jsf版本:2.2.0-m08 PrimefacesMobile版本:0.9.3 ApacheTomcat/7.0.12 也许下面的代码可以帮助您解决问题,我恐怕没有一个组件(至少据我所知): HTML <h:form> <ui
PF
中是否有关于如何添加此类组件的好组件
请给我一个你将如何发展它的提示,因为我目前没有线索
我真的很感激你的回答
我的技术堆栈:
- Hibernate:4.0.1.1最终版本
- 弹簧:3.1.1.释放
- 基本面:3.5
- jsf版本:2.2.0-m08
- PrimefacesMobile版本:0.9.3
- ApacheTomcat/7.0.12
<h:form>
<ui:repeat value=#{bean.values}
var="value">
<h:inputText value="#{value}" />
<br />
</ui:repeat>
<h:commandButton value="Extend">
<f:ajax listener="#{bean.extend}"
process="@form"
render="@form" />
</h:commandButton>
<h:commandButton action="#{bean.submit}"
value="Save" />
</h:form>
BEAN
@ManagedBean
@ViewScoped
public class Bean {
private List<String> values;
@PostConstruct
public void init() {
values = new ArrayList();
values.add("");
}
public void submit() {
// save values in database
}
public void extend() {
values.add("");
}
public void setValues(List<String> values) {
this.values = values;
}
public List<String> getValues() {
return values;
}
}
@ManagedBean
@视域
公共类Bean{
私有列表值;
@施工后
公共void init(){
值=新的ArrayList();
值。添加(“”);
}
公开作废提交(){
//在数据库中保存值
}
公共空间扩展(){
值。添加(“”);
}
公共void设置值(列表值){
这个值=值;
}
公共列表getValues(){
返回值;
}
}
也许下面的代码可以帮助您,我恐怕没有一个组件(至少据我所知):
HTML
<h:form>
<ui:repeat value=#{bean.values}
var="value">
<h:inputText value="#{value}" />
<br />
</ui:repeat>
<h:commandButton value="Extend">
<f:ajax listener="#{bean.extend}"
process="@form"
render="@form" />
</h:commandButton>
<h:commandButton action="#{bean.submit}"
value="Save" />
</h:form>
BEAN
@ManagedBean
@ViewScoped
public class Bean {
private List<String> values;
@PostConstruct
public void init() {
values = new ArrayList();
values.add("");
}
public void submit() {
// save values in database
}
public void extend() {
values.add("");
}
public void setValues(List<String> values) {
this.values = values;
}
public List<String> getValues() {
return values;
}
}
@ManagedBean
@视域
公共类Bean{
私有列表值;
@施工后
公共void init(){
值=新的ArrayList();
值。添加(“”);
}
公开作废提交(){
//在数据库中保存值
}
公共空间扩展(){
值。添加(“”);
}
公共void设置值(列表值){
这个值=值;
}
公共列表getValues(){
返回值;
}
}
再说一遍,您是如何做到这一点的?显示代码,而不仅仅是图像。此外,您的技术堆栈也无法帮助我们为您提供正确的方向。@maximus这里是一个简单的JSF 2.0示例,它可以根据您的需要进行修改。@AlexandreLavoie thx非常感谢您出色的回答!!!再说一次,你是如何做到这一点的?显示代码,而不仅仅是图像。此外,您的技术堆栈也无法帮助我们为您提供正确的方向。@maximus这里是一个简单的JSF 2.0示例,它可以根据您的需要进行修改。@AlexandreLavoie thx非常感谢您出色的回答!!!请参阅以了解在这种情况下使用
将是一个问题。相反,将其替换为
,以避免ajax渲染/更新问题。否则,请在发布之前测试您的答案。@LuiggiMendoza Good call,从一种情况开始,由于该阶段的原因,
是必要的。在这种情况下,
可以正常工作!关于测试,附近没有IDE。我尝试过这个,但是当你有一个列表时它不起作用。您无法更改列表上的字符串,因为它们是不可变的,因此新值不会到达支持bean。请参阅以了解在这种情况下使用
将是一个问题。相反,将其替换为
,以避免ajax渲染/更新问题。否则,请在发布之前测试您的答案。@LuiggiMendoza Good call,从一种情况开始,由于该阶段的原因,
是必要的。在这种情况下,
可以正常工作!关于测试,附近没有IDE。我尝试过这个,但是当你有一个列表时它不起作用。您不能更改列表上的字符串,因为它们是不可变的,所以新值不会到达支持bean。