Java jsf提交动态生成的多个表<;h:输入文本>;
我有一个动态生成的表,其中包含动态生成的Java jsf提交动态生成的多个表<;h:输入文本>;,java,jsf-2,Java,Jsf 2,我有一个动态生成的表,其中包含动态生成的字段 我的问题是如何将所有发布到支持bean 我的桌子是这样的: <table class="table table-bordered table-hover"> <ui:repeat value="#{mainWorkerMB.showAvailableEventDetailTypes()}" var="eventDetail"> <tr> <td> <h:outputText value="#{ev
字段
我的问题是如何将所有
发布到支持bean
我的桌子是这样的:
<table class="table table-bordered table-hover">
<ui:repeat value="#{mainWorkerMB.showAvailableEventDetailTypes()}" var="eventDetail">
<tr>
<td>
<h:outputText value="#{eventDetail.edtyName}"></h:outputText>
</td>
<td>
h:inputText styleClass="form-control" value="#{mainWorkerMB.edtyId}" />
</td>
</tr>
</ui:repeat>
</table>
h:inputText styleClass=“表单控制”值=“#{mainWorkerMB.edtyId}”/>
我知道默认情况下,我必须在我的支持bean中创建字段,使用getter和setter,但现在我不知道我将有多少字段
很抱歉,我还没开始解决这个问题
你知道吗?请帮助我。是的,您可以,您需要迭代集合以生成每个对象的表和输入字段,这是一个示例: 在这种情况下,集合中的对象是Person的实例:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Name: " + name + ", age: " + age;
}
}
在托管bean中(在本例中,我使用的是CDI),您需要填充集合:
@Named
@ViewScoped
public class SampleBean implements Serializable {
private static final long serialVersionUID = 1L;
private List<Person> dataSample;
@PostConstruct
private void init() {
dataSample = new ArrayList<>();
for (int i = 0; i < 5; i++) {
Person person = new Person();
dataSample.add(person);
}
}
public void process() {
dataSample.forEach(System.out::println);
}
public List<Person> getDataSample() {
return dataSample;
}
}
是的,您可以,您需要迭代集合以生成每个对象的表和输入字段,例如: 在这种情况下,集合中的对象是Person的实例:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Name: " + name + ", age: " + age;
}
}
在托管bean中(在本例中,我使用的是CDI),您需要填充集合:
@Named
@ViewScoped
public class SampleBean implements Serializable {
private static final long serialVersionUID = 1L;
private List<Person> dataSample;
@PostConstruct
private void init() {
dataSample = new ArrayList<>();
for (int i = 0; i < 5; i++) {
Person person = new Person();
dataSample.add(person);
}
}
public void process() {
dataSample.forEach(System.out::println);
}
public List<Person> getDataSample() {
return dataSample;
}
}
非常感谢,我的问题有点误导,但你的回答帮助我解决了问题。非常感谢,我的问题有点误导,但你的回答帮助我解决了问题。