Struts 2.0向Bean对象请求getparameter值

时间:2014-06-19 11:45:06

标签: java jsp struts2

我有一个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;
    }
 }

一旦我的HTML表单从JSP提交,我希望所有字段都设置为DAO,并将直接调用控制器内的DAO,而是手动定义控制器中的每个字段。任何人都可以帮忙吗? Thx提前。

P.S:我是struts 2.0的新手。

更新1: 谢谢大家为您的回复。我对你的知识感到嫉妒。

我尝试方式,这就是我想要的结果。 我接受回复作为答案。 你可以告诉我们实施的概念的名称,我想学习并了解我们的朋友建议的ModelDriven Logic的好处。

任何人都可以用一些简单的例子说明吗?

2 个答案:

答案 0 :(得分:3)

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>

答案 1 :(得分:0)

你必须为你的动作类实现Model ModelDriven接口。它具有方法getModel()方法来返回Employee的对象。请参阅此链接:http://struts.apache.org/release/2.3.x/docs/model-driven.html

使用ModelDriven方法时,需要初始化Model对象((Employee)),因此框架会自动将表单数据传输到Employee类