gpt4 book ai didi

java - 从动态创建的 inputText 中获取值

转载 作者:行者123 更新时间:2023-12-01 18:38:23 24 4
gpt4 key购买 nike

以下是我的 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: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 将生成用户将添加一些 文本到每个 inputText 所以我的问题是如何动态获取值 生成的输入框。

谢谢。

最佳答案

这可以通过 JSF 和 primefaces 的基础知识轻松完成。这是完整的工作示例:

XHTML 文件(我使用 p:panel 和 ui:repeater)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<f:view contentType="text/html">

<h:head>
<link rel=" stylesheet" type="text/css" href="css/style.css"></link>

</h:head>

<h:body>
<h:form>
<p:panel header="Panel">

<ui:repeat var="lbl" value="#{tBean.lblClassess}">
<p:row>
<p:column width="50%">
<p:outputLabel value="#{lbl.lbl} :" />
</p:column>
<p:column width="50%">
<p:inputText value="#{lbl.value}" />
</p:column>
</p:row>
</ui:repeat>

</p:panel>

<p:commandButton actionListener="#{tBean.submit}" value="Subtmi" update="values"></p:commandButton>

<p:outputPanel id="values">

<ui:repeat var="lbl" value="#{tBean.lblClassess}">
<p:row>
<p:column width="50%">
<p:outputLabel value="#{lbl.value} :" />
</p:column>

</p:row>
</ui:repeat>

</p:outputPanel>

</h:form>
</h:body>
</f:view>
<body>

</body>

</html>

托管 Bean

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;
}

}

输出

Before entering data

After data entered and submitted it displays the values

关于java - 从动态创建的 inputText 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20856339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com