码迷,mamicode.com
首页 > 编程语言 > 详细

[JavaWeb基础] 017.Struts2 和 ajax交互简介

时间:2015-09-13 22:56:27      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

在网页开发中,我们为了只对网页的某块内容进行实时更新,而不对其他不需要更新的内容进行刷新,从而提高响应速度和节省流量,我们采用了页面的异步刷新技术Ajax,那么我们的Struts2框架在这一方面是如何实现的呢,其实也很简单,下面我带大家一起了解下。

1.首先我们需要导入两个依赖包json-libstruts2-json-plugin,这是对json支持的解析包。

2.我们需要创建一个Action类,和其他的都一样

package com.babybus.sdteam.action;

import java.util.List;

import com.babybus.sdteam.bo.ManageServlet;
import com.babybus.sdteam.vo.Student;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

public class QueyUserAjaxAction extends ActionSupport implements Action {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String searchname;
	private List<Student> resultList;

	
	public String getSearchname() {
		return searchname;
	}

	public void setSearchname(String searchname) {
		this.searchname = searchname;
	}

	public List<Student> getResultList() {
		return resultList;
	}

	public void setResultList(List<Student> resultList) {
		this.resultList = resultList;
	}

	public String loadUserInfo() throws Exception {
		
		Student querystudent = new Student();
		querystudent.setStudentname(searchname);
		ManageServlet manageServlet = new ManageServlet();
		// 查询结果集合
		this.resultList = manageServlet.getStudentByCondition(querystudent);
		
		return "userInfo";  
	}
	
}

 2.配置struts.xml,首先要注意的是package中的extends要改成json-default,返回的result要是json格式的

<package name="MyWebProject1" namespace="/" extends="json-default">   
  <action name="queyuserajax" class="com.babybus.sdteam.action.QueyUserAjaxAction" method="loadUserInfo">  
      <result name="userInfo" type="json" ></result>  
  </action> 
</package>

 3.前端页面的ajax调用方法

function queryUserInfo()
  {
    var queryName = $("#searchText").val();

      $.ajax({  
          url:‘queyuserajax.action‘,  
          type:‘post‘,  
          data:"searchname=" + queryName,  
          dataType:‘json‘,  
          success:function (data) {  
                var innerhtml = "<tr><th>uid</th><th>学生姓名</th><th>年龄</th><th>班级</th><th>操作</th></tr>";
                if(data.resultList && data.resultList.length > 0)
                {
                    $("#resultTable").html("");
                    $(data.resultList).each(function (i, value) {  
                      innerhtml += "<tr>";
                      innerhtml += "<td>" + value.id + "</td> ";
                      innerhtml += "<td>" + value.studentname+ "</td> ";
                      innerhtml += "<td>" + value.age+ "</td> ";
                      innerhtml += "<td>" + value.classname+ "</td> ";
                      innerhtml += "<td><a href=‘AddUser.jsp?id=" + value.id + "‘>修改</a>|";
                      innerhtml += "<a href=‘Mangage?method=del&userid=" + value.id + "‘ onclick=‘return confirm(‘确定要删除么?‘)‘ }>删除</a></td>";
                      innerhtml += "</tr> ";
                    }); 
                }
                $("#resultTable").html(innerhtml);
          }  
      }); 
  }

 4.从以上几步我们就可以完成ajax和struts2的交互了。

 

 

 技术分享

本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 

转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4805790.html

 

[JavaWeb基础] 017.Struts2 和 ajax交互简介

标签:

原文地址:http://www.cnblogs.com/superdo/p/4805790.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!