Struts2 を使用して 1 つのフォームと複数の入力 [Name,City,Country] のセッションを維持する方法を知る必要があり、最終的にデータは休止状態を使用してデータベースに保存されます。
このフォームには 2 つのボタンがあります。
- 追加 (セッションに保存);
- 送信 (データベースに保存)。
まず、フォームの詳細 [都市名と国名] を入力し、[追加] ボタンをクリックします。データはセッションに保存されます。
次に、同じ詳細を入力し、[追加] をクリックします。
3 番目に、同じフォームの詳細を入力しますが、送信ボタンをクリックすると、すべての詳細 (最初の 2 番目と 3 番目) が休止状態を使用してデータベースに保存されます。
plsは私が問題を解決するのを手伝ってくれます...
Person.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>
person.jsp:
<body>
<s:property value="#session.name"/>
</body>