在JSP中使用Ajax响应

tes*_*dtv 2 html java ajax jsp dwr

我有一个JSP页面,只有一个普通的HTML表,有五行五行.

现在我正在进行Ajax调用并得到回复.现在,一旦我得到回复,我需要将数据填入表格的适当单元格中.

所以我的问题是;

  1. 我应该使用JSON来构建响应吗?
  2. 如何在JSP级别处理数据.也就是说,一旦我收到服务器的回复?

就像附加信息一样,我使用的是DWR,它只是从JavaScript代码中调用Java方法(构建响应).

小智 6

让我们考虑一下这个Java类.

    class Employee
    {
        int id;
        String eName;
        // Setters and getters
    }
Run Code Online (Sandbox Code Playgroud)

在JavaScript中,JSON对象:

 var employee = {
     id   : null,
     name : null
 };
Run Code Online (Sandbox Code Playgroud)

这是从JavaScript函数调用Java方法:

   EmployeeUtil.getRow(employee,dwrData);
Run Code Online (Sandbox Code Playgroud)

在EmployeeUtil类的getRow()中,方法的返回类型将是Employee:

   Employee getRow();
Run Code Online (Sandbox Code Playgroud)

因此使用Employee的setter设置数据.dwrData是回调函数.

function dwrData(data) {
    employee=data;
}
Run Code Online (Sandbox Code Playgroud)

返回的数据(即Employee bean)将位于回调函数中.

只需在JavaScript JSON对象中初始化它.

相应地使用JSON对象来填充表.

编辑:

您可以使用List getRow()而不是将Employee getRow()行列表作为List而不是Bean返回.

现在响应包含列表作为数据.

请参阅使用DWR填充行.

检查这些示例以填充表中的数据:

我应该使用JSON来构建响应吗?

  • 无需传递JSON作为响应.而是返回如上所述的类的Bean.

  • 列表可以作为响应传递,也如上所述.

如何在JSP级别处理数据.也就是说,一旦我收到服务器的响应.

检查上面的解释和给定链接的示例以处理JSP中的响应并在表中显示响应数据.