如何将对象从前端传递给Struts2?

J88*_*888 5 javascript java ajax jquery struts2

我试图通过JavaScript向Struts2后端发送一个字段的值,但它返回NullpointerException.

<input type="hidden" id="employee.payslip.id" name="employee.payslip.id" value="5"/>
....
Run Code Online (Sandbox Code Playgroud)

提交表单后,请求将被发送到以下JavaScript方法以发送到后端.

 function payslipPayment(){

     var formValues = $('#myform').serialize();
     ....
     xmlhttp.open("get","../payslip/pay?"+formValues,false);
     xmlhttp.send();

 }
Run Code Online (Sandbox Code Playgroud)

请求将被创建并发送如下

http://localhost/payslip/pay/employee.payslip.id=5&employee.payslip.year=2013&....
Run Code Online (Sandbox Code Playgroud)

但在后端,当我试图显示它返回的值NullPointerException.

Java的

public class payslip {

 private Employee employee;

 public String pay{
    System.out.println("Id:"+employee.payslip.id):
    System.out.println("Year:"+employee.payslip.year;
    ...
 }

 getter and setter 

}
Run Code Online (Sandbox Code Playgroud)

public class Employee {
   private Payslip payslip;
   ....
   getter and setter
}

public class Payslip{
  private long id;
  ...
  getter and setter
}
Run Code Online (Sandbox Code Playgroud)

小智 1

您需要使用 ModelDriven 接口。实现 ModelDriven 并重写其方法,然后使用 modelDriven 的方法返回您的对象。

Struts2 文档