在struts2中使用Ajax的json和request/response两种方式

来源:互联网 发布:mac灰色和银色那个好 编辑:程序博客网 时间:2024/04/30 22:15

一、准备工作

   ①ajax使用Jquery:jquery-min.js    

   ②struts2与json的依赖包:struts2-json-plugin-xxx.jar

二、jsp页面内容

姓名:<input type="text" name="name" id="nameId"/><label></label>

三、javascript的内容

<script type="text/javascript">$(function(){var value = $("#nameId").val();//id选择器$("#nameId").blur(function(){alert(value);  $.ajax({  //javascript中双引号{}表示对象,ajax共有7个参数。url:"/jquerytest/ajaxAction_get",//要求请求的服务器的urldata:{name:value},//这是一个对象,它表示请求参数,两个参数:method=ajax&value=xxx,//这两个参数服务器端可以通过request.getParameter()来获取。async:true,//是否是异步请求,默认为truecache:false,//是否在浏览器端缓存type:"POST",//请求方式dataType:"json",//服务器返回的结果类型,json是javascript中的对象和数组success:function(result){//这个结果会在服务器返回成功时调用,参数result就是返回的结果。$("label").text(result.name);}});  });});</script>
下面分情况介绍:

1.用json时

1)在action中

private String result;private String  name;public String getResult() {return result;}public void setResult(String result) {this.result = result;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String get() throws Exception {if (name.equals("swj")) {result = "{\"name\":\"好人\"}";}else{result = "{\"name\":\"坏人\"}";}return SUCCESS; 

2)在xml中

<package name="ajax" namespace="/" extends="json-default"><action name="ajaxAction_*" class="cn.songwenju.ajax.AjaxAction" method="{1}">  <result type="json"></result></action></package>

2.用response/request时

1)在action中

HttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String name = request.getParameter("val");System.out.println("AjaxAction");if (name.equals("swj")) {String str = "{\"name\":\"好人\"}";response.getWriter().print(str);}else{String str = "{\"name\":\"坏人\"}";response.getWriter().print(str);}

2)在xml中

<package name="ajax" namespace="/" extends="struts-default"><action name="ajaxAction_*" class="cn.songwenju.ajax.AjaxAction" method="{1}"></action></package>


0 0
原创粉丝点击