我需要知道如何使用 Struts2 维护一个表单和多个输入 [Name,City,Country] 的会话,最后数据将使用休眠存储到数据库中。
此表单有两个按钮:
- 添加(存储到会话);
 - 提交(存储到数据库)。
 首先,输入表单详细信息[名称城市和国家],然后单击添加按钮数据将存储到会话。
其次,输入相同的详细信息,然后单击添加。
第三,输入相同的表单详细信息,但现在单击提交按钮,所有详细信息(第一个第二个和第三个)将使用 hibernate 存储到数据库中。
请帮我解决问题...
人.java:
 @Entity
    public class Person {
        @Id
        @GeneratedValue
        private int id;
        private String name;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
    }  
PersonAction.java:
public class PersonAction extends ActionSupport implements SessionAware {
      private Person person = new Person();
     // Database base=new Database();
      public Person getPerson() {
        return person;
      }
      public void setPerson(Person person){
        this.person = person;
      }
      private Map<String, Object> session;
      public void setSession(Map<String, Object> session){
        this.session = session;
      }
      public String execute() { //Create persons
        List<Person> personList = (List<Person>) session.get("personList");
        for (Person p : personList)
        Database.saveData(this);
        personList.clear();
        return SUCCESS;
      }
      public String add() { //Add person
        List<Person> personList = (List<Person>) session.get("personList");
        if (personList == null) {
          personList = new ArrayList<Person>();
          session.put("personList", personList);
          System.out.println("Successfully added");
        }
        personList.add(person);
        return SUCCESS;
      }
    } 
数据库.java:
public class Database {
public static int saveData(PersonAction personAction){
        SessionFactory sf=new AnnotationConfiguration().configure().buildSessionFactory();
        Session session=sf.openSession();
        Transaction tran=session.beginTransaction();
    int i=(Integer)session.save(personAction);
    tran.commit();
    session.close();
    return i;
    }
}   
struts.xml:
<struts>
    <package name="default" extends="struts-default">
        <action name="person" class="org.PersonAction">
            <result>/person.jsp</result>
        </action>
        <action name="person" class="org.PersonAction" method="add">
            <result>/person.jsp</result>
        </action>
    </package>
</struts> 
index.jsp:
<s:form action="person">
    <s:textfield label="Enter your name" name="name"/>
    <s:submit value="Add person" method="add"/>
    <s:submit value="Create persons"/>
</s:form> 
人.jsp:
<body>
<s:property value="#session.name"/>
</body>