Java 从动态创建的inputText获取值
以下是我的abc.xhtml页面中的代码片段:Java 从动态创建的inputText获取值,java,jsf,primefaces,Java,Jsf,Primefaces,以下是我的abc.xhtml页面中的代码片段: <p:panelGrid id="pnlGrd_numOfLbl" style="align:center; width:100%;" cellpadding="5"> <c:forEach var="i" begin="1" end="${specificationMB.numOfLbl}" > <p:row> <p:column width="50%"> <p:o
<p:panelGrid id="pnlGrd_numOfLbl"
style="align:center; width:100%;" cellpadding="5">
<c:forEach var="i" begin="1" end="${specificationMB.numOfLbl}" >
<p:row>
<p:column width="50%">
<p:outputLabel value="Label ${i}" />
</p:column>
<p:column width="50%">
<p:inputText id="inputTxt_${i}" style="width:150px;" />
</p:column>
</p:row>
</c:forEach>
</panelGrid>
这是我的panelGrid,我正在动态生成inputText
不可分割的。生成后说2将生成用户将添加一些
文本到每个输入文本,所以我的问题是,我如何才能获得动态的值
生成的输入框
谢谢。以便获取动态生成的InputExt的值。你可以这样做
<input type="text" id="inputTxt_${i}" name="inputTxt_${i}" style="width:150px;" />
以获取动态生成的InputExt的值。你可以这样做
<input type="text" id="inputTxt_${i}" name="inputTxt_${i}" style="width:150px;" />
您可以将该值绑定到bean value对象中:
<input type="text" id="inputTxt_${i}" value="${specificationMB.getValue(i).value}" />
您可以将值绑定到bean-value对象中:
<input type="text" id="inputTxt_${i}" value="${specificationMB.getValue(i).value}" />
这可以通过JSF和primefaces的基础知识轻松完成。以下是完整的工作示例: XHTML文件(我使用的是p:panel和ui:repeater) 输出
这可以通过JSF和primefaces的基础知识轻松完成。以下是完整的工作示例: XHTML文件(我使用的是p:panel和ui:repeater) 输出
您好,卡迪尔,谢谢您的rply。您建议我使用primefaces inputText组件,但我想使用primefaces inputText组件。您建议我使用primefaces inputText组件,但我想使用primefaces inputText组件。我建议使用CDI bean而不是JSF托管bean。CDI更加灵活,并且有更多的特性。这是基于用户的问题回答的。我建议使用CDIBeans而不是JSF管理的bean。CDI更加灵活,具有更多的功能。这是根据用户的问题回答的
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
@ManagedBean(name = "tBean")
@ViewScoped
public class TestBean {
private List<LabelClass> lblClassess;
public TestBean() {
lblClassess = new ArrayList<LabelClass>();
lblClassess.add(new LabelClass("First Label", ""));
lblClassess.add(new LabelClass("Second Label", ""));
lblClassess.add(new LabelClass("Third Label", ""));
}
public void submit(ActionEvent e) {
for (LabelClass lbl : lblClassess) {
System.out.println(lbl.getValue());
}
}
public List<LabelClass> getLblClassess() {
return lblClassess;
}
public void setLblClassess(List<LabelClass> lblClassess) {
this.lblClassess = lblClassess;
}
}
public class LabelClass {
private String lbl;
private String value;
public LabelClass(String lbl, String value) {
super();
this.lbl = lbl;
this.value = value;
}
public String getLbl() {
return lbl;
}
public void setLbl(String lbl) {
this.lbl = lbl;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}