对通过ajax调用访问的JSP页面进行分区

时间:2011-06-06 09:10:34

标签: javascript jsp

我有一个页面,我在其中进行ajax调用,然后转发到jsp页面并返回在此jsp中构造的表。

直到现在这个jsp用于返回原始页面(表)用于附加到特定div中的html。但是现在,我们要求这个jsp和表一起返回关于查询的元数据的其他信息。

有了这个改变,我理想情况下不想改变一些客户端的现有行为,他们只是附加了html。但是,有没有办法,进行此调用的新页面可以同时包含html表(可以附加)以及返回的元数据(可以处理)。

如果问题不够明确,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单且破坏性最小的变化是将其作为响应头发送。

在servlet中,您可以使用HttpServletResponse#setHeader()设置响应标头:

response.setHeader("X-Metadata", metadata);
// ...

(使用前缀为X-的标头名称recommended为自定义标头)

在JS中,您可以使用XMLHttpRequest#getResponseHeader()来获取响应标头:

var metadata = xhr.getResponseHeader('X-Metadata');
// ...

您甚至可以在其中设置一些JSON字符串,以便(de)序列化很容易。