对jquery的ajax的一个封装
2012-01-11 09:49
549 查看
package com.aegon_cnooc.oa.admin.action; import java.io.PrintWriter; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import net.sf.json.JSONSerializer; import net.sf.json.util.JSONUtils; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.aegon_cnooc.framework.base.action.BaseAction; import com.aegon_cnooc.framework.log.Log; import com.aegon_cnooc.oa.admin.service.LoginService; import com.aegon_cnooc.util.LogPathUtil; /** * * @Despcrition: * @Author: liuxinghui * @Version: 1.0 * @CreateDate: Jul 12, 2011 */ public class OnloadEmployeeAction extends BaseAction{ private LoginService loginService; Log logWrite=new Log(); /** * 组织架构定义中点击单选按钮获得相应的员工 */ public ActionForward executeAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logWrite.writeLog(LogPathUtil.getPath(), "start OnloadEmployeeAction...", "info"); String employeeType=request.getParameter("employee_type"); if("all".equals(employeeType)){ //Employees all of company List employeesAllOfCompany=loginService.getEmployeesAllOfCompany(); logWrite.writeLog(LogPathUtil.getPath(), "Load employeesAllOfCompany employeesAllOfCompany.size():"+employeesAllOfCompany.size(), "info"); JSONArray json = (JSONArray)JSONSerializer.toJSON(employeesAllOfCompany); response.setContentType("application/json;charset=gbk"); response.setCharacterEncoding("gbk"); PrintWriter pw = response.getWriter(); pw.write(JSONUtils.valueToString(json)); pw.flush(); }else{ //Employees not belong to any groupp List employeeNotBelongToAnyGroup=loginService.getEmployeesNotBelongToAnyGroup(); logWrite.writeLog(LogPathUtil.getPath(), "Load employeeNotBelongToAnyGroup employeeNotBelongToAnyGroup.size():"+employeeNotBelongToAnyGroup.size(), "info"); JSONArray json = (JSONArray)JSONSerializer.toJSON(employeeNotBelongToAnyGroup); response.setContentType("application/json;charset=gbk"); response.setCharacterEncoding("gbk"); PrintWriter pw = response.getWriter(); pw.write(JSONUtils.valueToString(json)); pw.flush(); } return null; } public void setLoginService(LoginService loginService) { this.loginService = loginService; } public static void main(String[] args) { String testStr = "{ \"employees\":[{\"user_id\": 841 , \"user_name\":\"EnidChen\"},{\"user_id\": \"1445\" , \"user_name\":\"JulieZhu\"},{\"user_id\": \"1447\" , \"user_name\":\"JasonMa\"}]}"; System.out.println(testStr); Map json = (Map) JSONSerializer.toJSON(testStr); List employees = (List) json.get("employees"); System.out.println(employees.size()); Map json2 = (Map) JSONSerializer.toJSON(employees.get(0)); System.out.println(json2.get("user_id")); System.out.println(json2.get("user_name")); } }
function load_allemployees(employee_type){ var url = "onLoadEmployee.do"; var p_data = "employee_type=" + employee_type; doAjaxSubmit(url, p_data, filSelect); } function filSelect(data){ $("#left_").empty(); var employeeArr = document.getElementById('left_'); for(var i=0;i<data.length;i++) { var op = document.createElement("OPTION"); op.value = data[i].user_id; op.innerHTML =data[i].user_name; employeeArr.appendChild(op); } } function doAjaxSubmit(p_url, p_data, p_callback) { $.ajax({ type:"POST", url: p_url, data: p_data, dataType:"json", success: function(data){ p_callback(data); } }); }
[/code]
相关文章推荐
- 封装一个类似jquery的ajax方法
- 像jQuery那样封装一个ajax
- jQuery封装一个方法实现监控页面所有ajax请求
- 在php中,如何判断一个请求是ajax请求还是普通请求? jquery
- 对JQuery的ajax进行二次封装
- 一个封装了在Ajax下弹出Alert、showModelessDialog、showModalDialog窗口的类(转)
- 对Jquery中的ajax再封装,简化操作
- 一个JQuery做Ajax提交的案例
- jQuery对Ajax的封装:load(),get(),post()
- ashx+jQuery,一个轻量级的asp.net ajax解决方案
- 仿照jquery封装一个自己的js库(一)
- 一个简单的ajax封装
- 一个封装了在Ajax下弹出Alert、showModelessDialog、showModalDialog窗口的类
- 原生Javascript封装的一个AJAX函数分享
- 开发一个适合Ajax+JSON+jQuery环境使用的多功能页码栏——jPagerBar-1.1.1
- 【原创】一个非常简洁基于jquery原创无限级联ajax异步请求下拉框插件
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个AJAX连接池封装
- 一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
- 发布一个JQuery的AjaxUpdater插件