js中的ajax请求方法
function query(){
var stuName = $("#stuName").val();
var requestUrl = "/s2sh/student/query.action";
var currentPageIndex = $("span[class='currentPageIndex']").val();
var pageSize =$("input[class='pageSize']").val();
$.ajax( {
url :requestUrl,
type : 'post',
dataType:'json',
data: "stuName="+escape(escape(stuName))+"¤tPageIndex="+currentPageIndex+"&pageSize="+pageSize,
success : function(result){
var stus = result.students;
$("#stuBody").html("");
for(var i=0;i<stus.length;i++){
$("#stuBody").append("<tr><td>"+stus[i].stuName+"</td><td>"+stus[i].stuSex+"</td><td>"+
stus[i].stuBir+"</td><td>"+stus[i].stuAdd+"</td><td><a href='#' onclick='editItem("+stus[i].stuId+");'"+
">修改</a> <a href='#' onclick='deleteItems("+stus[i].stuId+");' >删除</a></td></tr>");
}
$("span[class='totalCount']").html(result.totalCount);
$("span[class='currentPageIndex']").html(result.currentPage).val(result.currentPage);
$("span[class='totalPage']").html(result.totalPage).val(result.totalPage);
},error:function(err){
alert( '系统内部错误'+err);
}
});
}
Action的接受及封装
public class StudentAction {
public StudentService studentService;
private String stuName;
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public StudentService getStudentService() {
return studentService;
}
public void setStudentService(StudentService studentService) {
this.studentService = studentService;
}
public void query() {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
String tempName = unescape(request.getParameter("stuName"));
try {
students=studentService.queryStuByName(tempName,currentPageIndex,pageSize);
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(getStudentListJSON(students));
} catch (Exception e) {
e.printStackTrace();
}
}
public String getStudentListJSON(List<Student> students)
{
StringBuffer retVal=new StringBuffer("{'students':[");
int i=0;
for(Student t:students){
if(i!=0)
{
retVal.append(",");
}
retVal.append("{");
retVal.append("\"stuId\":\""+t.getStuId()+"\"");
retVal.append(",\"stuName\":\""+t.getStuName()+"\"");
retVal.append(",\"stuSex\":\""+t.getStuSex()+"\"");
retVal.append(",\"stuBir\":\""+t.getStuBir()+"\"");
retVal.append(",\"stuAdd\":\""+t.getStuAdd()+"\"");
retVal.append("}");
i=i+1;
}
retVal.append("],\"totalPage\":\""+10+ "\"}");
return retVal.toString();
}
@SuppressWarnings("unused")
private String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src
.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src
.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
}
分享到:
相关推荐
现在主流的javascript框架非jQuery莫属.jQuery对ajax请求也作了封装,这里就以jQuery为例来写个.demo是获取后台json串,并且用each处理.代码大部分是从jqapi搞来的,准确也方便. $.ajax({ url: "/test/json",//test...
3.使用jfinal-web实现根据ajax请求返回json数据,其他返回默认数据,支持继承JFController使用getModels获取对象列表,继承Model封装,避免写大量重复的sql代码,使用ehcache缓存等多个特性 4.使用jfinal-sqlinxml...
最近闲来没事,写了个小的Demo巩固了下自己的ASP.NET知识。 采用了简单的三层:Entity(表字段的get/set方法)、BLL(表增、删、改、查方法封装)、Pages(页面展示)。 自己封装了SQLClass类,采用ADO.NET操作SQL...
实现传值常用的是Jquery以及内部封装的ajax。首先看一下jquery的get()和post()语法。get()方法是从服务器获得数据,其主要参数就是获得后台请求地址,以及负责处理的回调函数: $.get(URL,callback); $...
(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。 (4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android...
自己写的一个JQueryUI,给大家分享一下,封装了一些常用Ajax功能,报表、Excel编辑下载、table展示、repeater(与.net的repeater控件使用方式类似数据源是json)、form表单提交加载还原,combobox的示例我忘记写上去...
封装一些Javascript 函数,更方便地使用ajax、消息框、通知组件、忙状态的遮罩层等等 除ABP框架项目以外,还开发了名叫“Zero”的模块,实现了以下功能: 身份验证与授权管理(通过ASP.NET Identity实现的) 用户&...
前后通信前端使用ajax发送请求, 端使用jackson以结果类的形式将请求的数据封装为json返回。 缺点 购物车功能来不及实现了,也未设计表存储商品,就考虑或者用cookie来假装存到库里了,或者只是用js只做视觉效果。 ...
由于jQuery 1.5的Ajax模块内置使用了延迟对象,因此现在通过jQuery编写Ajax程序将自动获得这一功能。 开发人员借此可以使用无法立即获得的返回值(如异步Ajax请求的返回结果),而且第一次能够附加多个事件处理器。 ...
不像其他一些框架只提供一个 blog 的粗糙 demo。 wojilu framework 希望自己是一个真正从实战中来,到实战中去的框架。 4、从整体上考虑各子框架的设计,比如前端 ajax 部分和 mvc 框架的结合;比如IOC依赖注入和mvc...
7.4.3. 子类化请求对象 7.5. 标准路由器:Zend_Controller_Router_Rewrite 7.5.1. 简介 7.5.2. 使用路由器 7.5.3. 基本的Rewrite路由器操作 7.5.4. 缺省路由 7.5.5. 基本 URL 和子目录 7.5.6. Route Types ...
4.jquery封装Tab标签选项卡,内含动画版选项卡及滑动门 5.jQuery实现flash动感切换选项卡TAB插件示例 6.jquery制作自动播放的TAB切换特效 7.基于jQuery简单的Tab滑动门菜单代码(jQuery MoveTab) 8.简单...