我有一个jsp页面,具有以下员工详细信息的形式。
AddEmp.jsp
<th>First Name :</th> <td><input type = "text" id ="firstName" name = "firstName" value= ""></td> <th>Middle Name :</th> <td><input type = "text" id ="middleName" name = "middleName" value= ""></td> <th>Last Name :</th> <td><input type = "text" id ="lastName" name = "lastName" value= ""></td>
提交表格后,我得到了控制器中的值
public class contTest extends ActionSupport{ public String firstName; public String lastName; public String execute(){ System.out.println("firstName-->>>"+firstName); System.out.println("lastName-->>>"+lastName); return SUCCESS; } }
Struts 2.0会自动设置值(定义为Public)并可以访问它。
我的问题是-!! 我有一个员工的DAO,具有以下所有详细信息。
public class Employee implements java.io.Serializable{ public String firstName; public String lastName; public String getFirstName(){ return firstName; } public void setFirstName(String firstName){ this.firstName = firstName; } public String getLastName(){ return lastName; } public void setLastName(String lastName){ this.lastName = lastName; } }
从JSP提交HTML表单后,我希望将所有字段设置为DAO,并将直接在控制器内部调用DAO,而不是在控制器中手动定义每个字段。有人可以帮忙吗?提前谢谢。
PS:我是Struts 2.0的新手。
更新1: 谢谢你们的回应。我嫉妒你的知识。
我尝试了MSR方式,那就是我真正想要的结果。我接受msr答复作为答案。 msr能否请您说出我们实现的概念的名称,我想学习并了解我们的朋友亚历山大( Alexander)建议的ModelDriven Logic的好处。
有人可以举一个简单的例子吗?
public class contTest extends ActionSupport{ public Employee emp1; public String execute(){ System.out.println("firstName-->>>"+emp1.getFirstName()); System.out.println("lastName-->>>"+emp1.getLastName()); return SUCCESS; } //Create Setter and Getter of emp1 object }
和在AddEmp.jsp中
<th>First Name :</th> <td><input type = "text" id ="firstName" name = "emp1.firstName" value= ""></td> <th>Last Name :</th> <td><input type = "text" id ="lastName" name = "emp1.lastName" value= ""></td>