Struts学习:理解result的type属性与AJAX应用

需积分: 9 2 下载量 191 浏览量 更新于2024-08-23 收藏 330KB PPT 举报
"Struts学习总结,讲解了Struts中result的type属性以及AJAX的核心概念和技术应用" 在Struts框架中,`result`的`type`属性是一个关键配置,它决定了Action执行后的处理方式。以下是关于`result`的`type`属性的详细解释: 1. `dispatcher`:这是默认的`type`值,它使用请求转发机制。当设置为`dispatcher`时,Action执行完成后,请求会被转发到指定的JSP页面或Action,同时保留请求中的所有参数。 2. `redirect`:重定向类型。它会导致浏览器发起一个新的请求,因此,任何请求参数都会丢失。你可以重定向到一个JSP页面或另一个Action,但因为是新请求,所以无法保留之前的状态信息。 3. `redirectAction`:这个类型用于重定向到另一个Action,与`redirect`类似,它也是新的请求,但目标是内部的Action,而不是外部URL。 4. `chain`:Action链式处理。在这种情况下,请求被转发到另一个Action,而不是结束请求。这使得可以连续处理多个Action,而不需要用户进行额外的操作。 5. `json`:当需要对AJAX请求返回JSON响应时,可以设置`type`为`json`。这样,Action的执行结果将以JSON格式返回给客户端,便于前端JavaScript处理。 除了这些,Struts还支持全局结果配置,例如,在`<global-results>`标签内定义的`<result>`,如`<result name="error">/error.jsp</result>`,这是一个公共错误页面配置,当发生错误时,无论哪个Action执行,都会转向这个错误页面。 接下来,我们来看一下AJAX的相关知识。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它的核心是JavaScript和XMLHttpRequest对象。XMLHttpRequest对象允许我们在后台与服务器进行通信,从而实现异步数据交换。 - AJAX的核心对象:XMLHttpRequest对象,它是实现异步请求的关键,可以通过JavaScript创建并使用。 - AJAX的作用:通过异步请求,只更新页面的部分区域,提高用户体验,避免页面完全刷新。 XMLHttpRequest对象的方法和属性包括: - `open()`:初始化请求,设置请求类型(GET或POST)、URL和异步标志。 - `send()`:发送请求,对于GET请求,数据为空;对于POST请求,数据不能为空。 - `readyState`:表示请求的当前状态,从0到4,分别代表请求的不同阶段。 - `status`:返回HTTP状态码,200表示成功,404表示未找到资源。 - `responseText`和`responseXML`:分别用于获取响应的文本和XML格式数据。 - `onreadystatechange`:设置当`readyState`改变时调用的回调函数。 AJAX的使用通常涉及以下几个步骤: 1. 创建XMLHttpRequest对象。 2. 设置`open()`方法,指定请求类型、URL和异步性。 3. 发送请求,使用`send()`方法。 4. 监听`readyState`和`status`变化,处理响应数据。 以上就是关于Struts的`result`的`type`属性和AJAX技术的详细解析,希望对你理解这两个概念有所帮助。