我一直在尝试使用 Java Server Faces 将 Student 对象添加到 arrayList,但我可以弄清楚如何做到这一点,这是我到目前为止所得到的。我需要使用什么方法,我把它放在哪里?
索引
<h:body>
<h:form >
<h:panelGrid columns="2" >
<h:outputText value="Name"/>
<p:inputText value="#{student.name}" required="true">
<h:outputText value="Age"/>
<p:inputText value="#{student.age}" required="true">
<p:commandButton value="Add" action="#{student.showGo()}"><!--go to another JSF page-->
<!-- ActionListener needed-->
</p:commandButton>
</h:panelGrid>
</h:form>
</h:body>
学生 bean
@Named(value = "student")
@RequestScoped
public class StudentBean {
private String name;
private int age;
public StudentBean(String name, int age) {
this.name = name;
this.age = age;
}
public StudentBean() {
}
public String showGo(){
return "show";
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
列表bean
@Named(value = "list")
@RequestScoped
public class List {
private ArrayList<StudentBean> studentList = new ArrayList<>();
public List() {
}
public void addStudent()
{
StudentBean student = new StudentBean();
studentList.add(student);
}
最佳答案
我不确定我是否理解你的意思。但是,如果您的目的只是将 name
和 age
保存在对象中并将其添加到列表中,则以下内容应该可以达到目的:
SessionScope
中的托管 bean,以便您可以在下一页中访问它(`show.xhtml??):@Named(value = "student") @SessionScoped public class StudentBean { private ArrayList<Student> studentList = new ArrayList<>(); private String name; private int age; public StudentBean(String name, int age) { this.name = name; this.age = age; } public StudentBean() { } public String showGo(){ Stundent student = new Student(name, age); studentList.add(student); return "show"; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Student> getStundentList() { return studentList; } }
仅定义一个简单的
Sundent
类作为 JavaBean:public class Stundent { private String name; private int age; public Stundent() { } public Stundent(String name, int age) { this.name = name; this.age = age; } // getters and setters }
如果您还有疑问,请给我留言。
关于java - JSF 将对象添加到 arrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37500886/