使用JS实现Ajax请求Struts2 Action的详细教程

4星 · 超过85%的资源 需积分: 32 70 下载量 77 浏览量 更新于2024-09-23 1 收藏 2KB TXT 举报
"本资源主要介绍了如何使用JavaScript(js)进行AJAX请求来与Struts2框架中的Action交互。" 在Web开发中,JavaScript(js)的AJAX(异步JavaScript和XML)技术常常用于创建动态和交互性强的网页,而Struts2是一个流行的Java Web应用程序框架。这里我们将探讨如何利用AJAX技术向Struts2的Action发送请求并处理响应。 首先,我们来看Struts2 Action中的代码片段。这个Action方法名为`setYwzslb`,它接收四个参数:`ActionMapping mapping`, `ActionForm form`, `HttpServletRequest request`, 和 `HttpServletResponse response`。这个方法的主要目的是根据传入的请求参数获取数据,并以JSON格式返回给前端。 在Action中,首先获取了一个名为`ywzslxList`的列表,该列表可能包含了某些业务数据。然后,遍历这个列表,将每个元素的特定属性(如`qxdm`和`qxmc`)拼接成一个字符串,并在每个元素之间添加分隔符(这里使用的是逗号)。接着,设置响应的类型为`application/json`,以表明返回的数据是JSON格式,并确保字符编码为GBK,以适应中文字符。 在处理完数据后,通过`PrintWriter`对象将字符串写入到HTTP响应中,这样前端的AJAX请求就能接收到这些数据。如果在处理过程中出现IOException,Action会设置错误信息并记录日志。 现在,我们转向JavaScript部分。在给定的代码片段中,可以看到一个`createXmlHttpRequest`函数,这是用来创建一个XMLHttpRequest对象,它是AJAX请求的核心。这个函数首先检查浏览器是否支持原生的XMLHttpRequest对象,如果不支持,则尝试创建一个ActiveXObject,这是旧版IE浏览器使用的对象。 另一个函数`getXm`可能是发起AJAX请求的函数,但是代码不完整,只给出了`if(ch`这部分,这可能是检查某个条件的开始。完整的`getXm`函数应该包含调用`createXmlHttpRequest`创建XMLHttpRequest对象,然后设置请求方法(GET或POST),URL,以及请求完成后的回调函数。在回调函数中,可以解析返回的JSON数据并更新页面内容。 总结来说,这个资源讲述了如何使用JavaScript的AJAX技术与Struts2框架中的Action进行通信,包括在Action中处理请求、构建响应以及在JavaScript端创建和使用XMLHttpRequest对象进行异步请求。通过这种方式,可以实现前后端的数据交互,使得用户无需刷新整个页面就能获取和更新数据,提高了用户体验。