一、创建domain对象:
public class MyAjax { private String name; private int pwd; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPwd() { return pwd; } public void setPwd(int pwd) { this.pwd = pwd; } }
二、创建Action
import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.google.gson.Gson; import com.supinfo.core.web.struts2.BaseActionSupport; import com.supinfo.jieneng.domains.MyAjax; /** * 测试ajax * @author * */ public class TestAjaxAction extends BaseActionSupport { public String testAjax() throws IOException{ MyAjax myAjax =new MyAjax(); myAjax.setName("zhangsan"); myAjax.setPwd(123445); Gson gson=new Gson(); String js=gson.toJson(myAjax); HttpServletRequest request=ServletActionContext.getRequest() ; HttpServletResponse response=ServletActionContext.getResponse(); System.out.println("进入"); Object name=request.getParameter("name"); System.out.println("name:"+name); System.out.println("json:"+js); response.getWriter().write(js); return SUCCESS; } }
三、修改 applicationContext-actions.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="TestAjaxAction" class="com.supinfo.jieneng.manager.action.TestAjaxAction"/> </beans>
四、修改 struts.xml 配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="default" namespace="/" extends="struts-default"> <result-types> <result-type name="gson" class="com.supinfo.core.web.struts2.gson.GsonResult" /> </result-types> </package> <package name="testAjax" namespace="/manager/testAjax" extends="manager"> <action name="testAjax" class="TestAjaxAction" method="testAjax"> <result name="success" type="gson">/TestAjax.jsp</result> </action> </package> </struts>
jsp内容:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="common.jsp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ajax</title> <script type="text/javascript" src="<%=basePath %>/jsx/jquery.min.js"></script> <script type="text/javascript"> function testAjax(){ $.ajax({ type:"post", url:"<%=basePath%>/manager/testAjax/testAjax", dataType:"json", data:{ "name":"username" }, success:function(msg){ alert(msg.name); alert(msg.pwd); } }); } </script> </head> <body> <a href="<%=basePath%>/manager/testAjax/testAjax?name=zj">ajax</a> <button onclick="testAjax()">提交</button> </body> </html>
相关推荐
在本示例中,Struts2将处理来自jQuery的Ajax请求,并返回JSON格式的响应数据。 jQuery则是一个轻量级的JavaScript库,简化了DOM操作、事件处理和Ajax交互。在本例中,jQuery的`$.ajax()`方法用于发起异步请求,获取...
1. 配置Struts2:在struts.xml配置文件中,为Action添加一个JSON结果类型,这样Struts2将会返回JSON响应。 2. 接收JSON数据:在Action类的setter方法中,使用@Param注解接收JSON参数。 3. 处理业务逻辑:在Action中...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON数据的处理。 ### 第一种方式:使用`response.getWriter().print...
在Struts2中,创建一个名为`Struts2Action.java`的Action类,处理Ajax请求并返回JSON。需要添加Struts2的JSON插件支持,然后定义一个方法,如`execute()`,返回`json`结果类型: ```java @Action(value = ...
使用`@Result`注解或struts.xml配置文件,可以指定一个结果类型为`json`,这样Struts2会将Action的返回对象转换成JSON格式并返回给前端。 **Ajax请求与JSON数据** 前端JavaScript代码使用XMLHttpRequest对象或现代...
在本例中,jQuery会发送一个Ajax请求到Struts2的Action,以获取JSON数据。 **Struts2** 是一个基于MVC(Model-View-Controller)架构的Java Web框架,它简化了Web应用的开发。Struts2提供了一种处理HTTP请求并返回...
在后端,我们需要创建一个Struts2 Action类,用于处理Ajax请求并返回JSON数据。例如,创建一个名为`AjaxAction.java`的类: ```java import com.opensymphony.xwork2.ActionSupport; import org.apache.struts2....
在前端,我们需要创建一个JSON数组并使用XMLHttpRequest对象或者更现代的fetch API来发送AJAX请求。以下是一个使用jQuery库的例子: ```javascript var data = [ { "name": "item1", "value": "1" }, { "name": ...
以上就是使用Struts2和jQuery实现Ajax请求并返回JSON数据的基本流程。通过这种方式,我们可以在不刷新整个页面的情况下,实现数据的异步加载和动态更新,提高用户体验。在实际项目中,可能还需要考虑错误处理、数据...
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
在ZTree与Struts2的交互中,JSON被用作数据传输的载体,服务器返回的权限树结构数据以JSON格式表示,前端JavaScript可以轻松解析并渲染到界面上。 在提供的资源中,我们可以看到以下几个文件: 1. **test_if_in_...
总结,Struts2和jQuery的Ajax JSON数据交换涉及以下几个关键步骤:配置Struts2的JSON插件,编写返回JSON数据的Action,使用jQuery发起Ajax请求并处理返回的JSON数据。通过这种方式,可以实现客户端与服务器之间的...
总结,使用Ajax和Struts框架,我们可以构建一个高效的Web应用,实现在不刷新整个页面的情况下,获取和处理服务器返回的JSON数据,从而提升用户体验。通过实践和研究这个项目实例,你将能深入掌握这一技术的运用。
2. **配置Action**:在你的Action类中,你需要定义一个方法来处理请求并返回JSON响应。这个方法应该有`@Action`注解,并设置`resultType`为`json`。例如: ```java @Action(value = "getJSON", results = { @...
在Struts2中,处理Action类的结果通常会重定向到一个JSP页面或发送一个简单的文本响应。然而,在现代Web应用中,JSON(JavaScript Object Notation)格式的数据交换变得越来越普遍,因为它能轻松地在服务器和客户端...
Struts2 JSON插件是官方提供的一个扩展,它使Struts2可以轻松地生成和处理JSON响应。在集成此插件之前,你需要在项目中引入`jsonplugin-0.1.34.jar`这个依赖包。该插件提供了几个关键组件和配置: 1. **struts-...
本实例展示了如何在Struts2框架下,通过Ajax发送请求获取JSON数据,并将数据返回到JSP页面,以填充下拉列表(`<s:select/>`标签)。 1. **Struts2配置**: 在`struts.xml`配置文件中,我们需要定义一个Action,...
在"strutsdemo12"这个项目中,可能包含了一个使用Struts2、Ajax、jQuery和JSON的示例应用。开发者可能创建了Action类来处理请求,返回JSON数据,同时在前端使用jQuery的Ajax方法来发送请求并处理响应。这些文件可能...
在“Struts2 Jquery ajax Json实现的一个完整案例”中,这些技术结合使用,以提高用户体验并优化服务器通信。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了开发过程,提供...
- **配置Struts2 XML**:在`struts.xml`中定义一个包`ajax`,并扩展`json-default`,设置`result`类型为`json`,这样处理的动作类会返回JSON格式的结果。 4. **AjaxAction.java**: 这是一个Struts2动作类,负责...