jquery的ajax返回json数据另外一个例子(不继承json-default)
来源:互联网 发布:新东方swf播放器 mac 编辑:程序博客网 时间:2024/05/21 14:59
package org.lsy.test.ajax.action;import java.io.PrintWriter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import org.lsy.test.ajax.service.AjaxService;import org.lsy.test.ajax.service.AjaxServiceImpl;import org.rd.framework.common.container.ContainerManager;import org.rd.framework.struts.action.BodyListAction;import org.rd.framework.struts.action.CommonAction;import org.rd.framework.util.ContextUtil;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class CompareDateAction extends CommonAction {//private AjaxService ajaxService = (AjaxService)ContainerManager.getComponent(AjaxService.AJAX_BEAN_ID);private AjaxService ajaxService = new AjaxServiceImpl();private String result; public String execute() throws Exception{return SUCCESS;}public String isRightDate() throws Exception{//ContextUtil.put("dd","df", ContextUtil.SCOPE_SESSION);ActionContext ctx = ActionContext.getContext();HttpServletRequest req=(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);HttpServletResponse resp=(HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);resp.setContentType("text/xml");req.setCharacterEncoding("UTF-8");resp.setCharacterEncoding("UTF-8");PrintWriter pw = resp.getWriter(); String datefrom = ""; String dateto = ""; if(req.getParameter("datefrom")!=null){datefrom=req.getParameter("datefrom").toString();}if(req.getParameter("dateto")!=null){dateto=req.getParameter("dateto").toString();}//"[{'jj':'jjaa'}]"if(datefrom.trim().equals("")||dateto.trim().equals("")){pw.println("Y");this.result="{'re':'Y'}";}else if(ajaxService.isRightDate(datefrom, dateto)){pw.println("Y");//this.result="Y";this.result="{'re':'Y'}";}else{pw.println("N");//this.result="N";this.result="{'re':'N'}";}return NONE;}public String getResult() {return result;}public void setResult(String result) {this.result = result;}}
<?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="ajaxutil" extends="struts-default" namespace="/ajaxutil"><!-- ajaxutil begin --><action name="isrightdate" class="org.lsy.test.ajax.action.CompareDateAction" method="isRightDate"> </action><!-- ajaxutil end --></package></struts>
<%@ page contentType="text/html; charset=UTF-8"%><%@ taglib uri="/WEB-INF/crm_taglist.tld" prefix="crm"%><%@ taglib uri="/WEB-INF/component.tld" prefix="cx"%><%@ taglib uri="/struts-tags" prefix="s"%><%@ page import="java.util.*,org.lsy.test.work.model.Work"%><%String path = request.getContextPath(); String basepath=request.getScheme()+"://"+ request.getServerName()+":"+request.getServerPort()+ request.getContextPath()+"/";%><input type="hidden" id="basepath" value="<%=basepath %>" /><script src="<%=basepath %>work/jquery-1.7.1.min.js"></script><%-- --%><!-- data start --><script src="<%=basepath %>work/ui/jquery.ui.core.js"></script><script src="<%=basepath %>work/ui/jquery.ui.widget.js"></script><script src="<%=basepath %>work/ui/jquery.ui.datepicker.js"></script><link rel="stylesheet" href="<%=basepath %>work/themes/base/jquery.ui.all.css"><link rel="stylesheet" href="<%=basepath %>work/demos/demos.css"><!-- data end --><!-- tabs start --> <link rel="stylesheet" href="<%=basepath %>work/themes/base/jquery.ui.all.css"><script src="<%=basepath %>work/ui/jquery.ui.tabs.js"></script><!-- tabs end --><script>$(function() {$( "#reviewdate" ).datepicker({showOn: "button",buttonImage: "<%=basepath %>work/demos/images/calendar.gif",buttonImageOnly: true});$( "#reviewdate" ).datepicker( "option", "dateFormat", 'yy-mm-dd');});$(function() {$( "#reviewdatefrom" ).datepicker({showOn: "button",buttonImage: "<%=basepath %>work/demos/images/calendar.gif",buttonImageOnly: true});$( "#reviewdatefrom" ).datepicker( "option", "dateFormat", 'yy-mm-dd');});$(function() {$( "#reviewdateto" ).datepicker({showOn: "button",buttonImage: "<%=basepath %>work/demos/images/calendar.gif",buttonImageOnly: true});$( "#reviewdateto" ).datepicker( "option", "dateFormat", 'yy-mm-dd');});//////////////////////////////////////////$(function() {$( "#tabsquery" ).tabs({collapsible: true});});////////////////////////////////////////////////////////////////////////////////////</script><% List res=new ArrayList(); if(session.getAttribute("worklist")!=null){ res=(ArrayList)session.getAttribute("worklist"); }%><input type="hidden" id="thelen" value="" /><input type="hidden" id="" value="" /><input type="hidden" id="" value="" /><table> <tr width="100%"> <td width="50%"> <table border="1"> <tr> <td> <form id="lsy_test_work" name="lsy_test_work" method="post" action=""> <!-- 查询区 start --> <div class="demo"> <div id="tabsquery"> <ul><li><a href="tabsquery-1">关闭查询区</a></li></ul> <div id="tabsquery-1"> <p><strong>打开查询区</strong>11</p> <p>22 <table> <tr> <td> 作业标题:<input type="text" id="worktitle" value=""/> <br> 老师: <input type="text" id="teacher" value=""/> <br> 课程名称:<input type="text" id="course" value=""> <br> 学生姓名:<input type="text" id="student" value=""> <br> 批改日期:从<input type="text" id="reviewdatefrom" value=""> <br> 到:<input type="text" id="reviewdateto" value=""> <br> <br> <input type="button" onclick="querywork()" value="查询"/> </td> </tr> </table> </p> </div> </div> </div><!-- End demo --> <!-- 查询区 end --> </form> </td> </tr> <tr> <td> <table id="maindatatable" border="1"> <tr><th>作业标题</th><th>老师 </th><th>课程名称</th><th>内容</th><th>学生姓名</th><th>班级名称</th><th>id</th> </tr> <% if(res!=null){ for(int i=0;i<res.size();i++){ Work ww=(Work)res.get(i); %> <tr onclick="f1(<%=i+1%>)"><td><%=ww.getWorktitle() %></td><td><%=ww.getTeacher() %></td><td><%=ww.getCourse() %></td><td><%=ww.getWorkcontent() %></td><td><%=ww.getStudent() %></td><td><%=ww.getClassname() %></td><td><%=ww.getId() %></td> </tr> <%} }%> </table> </td> </tr> </table> </td> <td> <table> <form name="addform" id="addform" action="<%=path%>/work/addwork.action" method=post> <table><tr> <td width="30%" align="right">作业标题:</td> <td><input type="text" id="eworktitle" name="work.worktitle" value=""></td> <td width="30%" align="right">老师:</td> <td><input type="text" id="eteacher" name="work.teacher" value=""></td></tr><tr> <td width="30%" align="right">课程名称:</td> <td><input type="text" id="ecourse" name="work.course" value=""></td> <td width="30%" align="right">内容:</td> <td><input type="text" id="eworkcontent" name="work.workcontent" value=""></td></tr><tr> <td width="30%" align="right">学生姓名:</td> <td><input type="text" id="estudent" name="work.student" value=""></td> <td width="30%" align="right">班级名称:</td> <td><input type="text" id="eclassname" name="work.classname" value=""></td></tr><tr> <td width="30%" align="right">批改日期:</td> <td><input type="text" id="reviewdate" value=""></td> <td width="30%" align="right"></td> <td></td></tr><tr> <td width="30%" align="right"></td> <td><input type="button" id="exinzeng" onclick="addwork()" value="新增"></td> <td><input type="button" id="exinzeng" onclick="delwork()" value="删除"></td> <td><input type="button" id="eedit" onclick="editwork()" value="提交修改"></td></tr><input type="hidden" id="eid" value="" /> </table> </form> </table> </td> </tr></table><% String actiontype=""; if(request.getAttribute("actiontype")!=null){ actiontype=(String)request.getAttribute("actiontype"); }%><input type="hidden" id="actiontype" value="<%=actiontype %>" /><script>//var basepath=$("#basepath").val();var basepath=document.getElementById("basepath").value;//alert(basepath);var len = $("#maindatatable tr td").length;var thelen=len/6;function f1(rownum){//alert("dddddd");var str="#maindatatable tr:eq("+rownum+")";document.getElementById("eid").value=$("#maindatatable tr:eq("+rownum+")").children().eq(6).html();document.getElementById("eworktitle").value=$("#maindatatable tr:eq("+rownum+")").children().eq(0).html();document.getElementById("eteacher").value=$("#maindatatable tr:eq("+rownum+")").children().eq(1).html();document.getElementById("ecourse").value=$("#maindatatable tr:eq("+rownum+")").children().eq(2).html();document.getElementById("eworkcontent").value=$("#maindatatable tr:eq("+rownum+")").children().eq(3).html();document.getElementById("estudent").value=$("#maindatatable tr:eq("+rownum+")").children().eq(4).html();document.getElementById("eclassname").value=$("#maindatatable tr:eq("+rownum+")").children().eq(5).html();//alert($("#maindatatable tr:eq(1)").children().eq(1).html());//alert($("#maindatatable tr:eq(1)").children().eq(2).html());//alert($("#maindatatable tr:eq(1)").children().eq(3).html());//alert($("#maindatatable tr:eq(1)").children().eq(4).html());//alert($("#maindatatable tr:eq(1)").children().eq(5).html());//alert($("#maindatatable tr:eq(1)").children().eq(6).html());//alert($(this).html()); //alert($(this).text());}function addwork(){var eworktitle=document.getElementById("eworktitle").value;var eteacher=document.getElementById("eteacher").value;var ecourse=document.getElementById("ecourse").value;var eworkcontent=document.getElementById("eworkcontent").value;var estudent=document.getElementById("estudent").value;var eclassname=document.getElementById("eclassname").value;/*var url=basepath+"work/addwork.do?worktitle="+eworktitle+"&teacher="+eteacher+"&course="+ecourse+"&workcontent="+eworkcontent+"&student="+estudent+"&classname="+eclassname;*///document.getElementById("tt").value=url;//window.location.href=url;document.addform.submit();}function delwork(){var worktitle=document.getElementById("eworktitle").value;var teacher=document.getElementById("eteacher").value;var course=document.getElementById("ecourse").value;var student=document.getElementById("estudent").value;var workcontent=document.getElementById("eworkcontent").value;var classname=document.getElementById("eclassname").value;var id=document.getElementById("eid").value;var url=basepath+"work/delwork.action?worktitle="+worktitle+"&teacher="+teacher+"&course="+course+"&student="+student+"&workcontent="+workcontent+"&classname="+classname+"&id="+id;//alert("del--"+url);window.location.href=url;}function editwork(){var worktitle=document.getElementById("eworktitle").value;var teacher=document.getElementById("eteacher").value;var course=document.getElementById("ecourse").value;var student=document.getElementById("estudent").value;var workcontent=document.getElementById("eworkcontent").value;var classname=document.getElementById("eclassname").value;var id=document.getElementById("eid").value;var url=basepath+"work/editwork.action?worktitle="+worktitle+"&teacher="+teacher+"&course="+course+"&student="+student+"&workcontent="+workcontent+"&classname="+classname+"&id="+id;window.location.href=url;} function querywork(){var worktitle=document.getElementById("worktitle").value;var teacher=document.getElementById("teacher").value;var course=document.getElementById("course").value;var student=document.getElementById("student").value;var url=basepath+"work/querywork.action?worktitle="+worktitle+"&teacher="+teacher+"&course="+course+"&student="+student;//alert("查询--"+url);window.location.href=url;} var actiontype=document.getElementById("actiontype").value; if(actiontype=='otherquery'){ var url=basepath+"work/querywork.action";window.location.href=url; }////////////////////////////////////////////////$(document).ready(function(){//hideCol(1);//隐藏第二列//$('table td').find('td:eq(1)').hide();//$('table tr').find('td:eq(1)').hide();//$('#maindatatable td').find('td:eq(0)').hide();//$('#maindatatable tr').find('td:eq(0)').hide();var len = $("#maindatatable tr td").length;var thelen=len/6;//var len = $("#mm tr td").length;//alert(len/6);//alert("表行数"+thelen);$("#thelen").val(thelen);$("#reviewdatefrom").change( function () { var date1=$("#reviewdatefrom").val();var date2=$("#reviewdateto").val();var url=basepath+"ajaxutil/isrightdate.action?reviewdatefrom="+date1+"&reviewdateto="+date2;alert($("#reviewdatefrom").val()+"\r"+url); jQuery.ajax( { url:url, type:'post', async:false, dataType: "text", //data:'sql='+'hkhkhhhkhk', success:function(result){ alert("from-----333----"+result); if(""!=result){ alert("from---------"+result); } } }); });//end blur$("#reviewdateto").change( function () { var date1=$("#reviewdatefrom").val();var date2=$("#reviewdateto").val();var url=basepath+"ajaxutil/isrightdate.action?reviewdatefrom="+date1+"&reviewdateto="+date2;alert($("#reviewdateto").val()+"\r"+url);$.get(url, function(result){ alert("Data hhss: " + result);});//end get});//end blur});//end ready/////////////////////////////////////////</script>
在这个例子中private String result;其实是没有用的,我们一般会这样配置
<struts>
<package name="ajaxutil" extends="json-default" namespace="/ajaxutil">
<!-- ajaxutil begin -->
<action name="isrightdate" class="org.lsy.test.ajax.action.CompareDateAction" method="isRightDate">
<result name="success" type="json">
<param name="root">result</param>
</result>
</action>
<!-- ajaxutil end -->
</package>
</struts>
并且ajax这样写:
jQuery.ajax( {
url:url,
type:'post',
async:false,
dataType: "json",
//data:'sql='+'hkhkhhhkhk',
success:function(result){
alert("from-----333----"+result);
if(""!=result){
alert("from---------"+result);
}
}
});
这样我们把要返回的值指定放到java类的resuest变量中,在xml指定返回成功后去这个参数的值给ajax的
回调函数。
而在我这个例子中,我们继承的是extends="struts-default",没有返回,在java类中返回NONE。
ajax中dataType: "text",这样返回的内容就不是到private String result;了,而是pw.println("Y");
(pw是PrintWriter pw = resp.getWriter();),返回结果用PrintWriter输出给回调函数。
- jquery的ajax返回json数据另外一个例子(不继承json-default)
- Action继承 json-default返回JSON类型的数据
- 本文简单讲诉jQuery处理json与ajax返回的Json的一个例子
- jquery遍历ajax返回的json数据
- jQuery/Ajax/PHP/Json 的一个综合例子
- jQuery/Ajax/PHP/Json 的一个综合例子
- jQuery、Ajax、PHP、Json的一个综合例子
- jQuery/Ajax/PHP/Json 的一个综合例子
- jQuery/Ajax/PHP/Json 的一个综合例子
- jQuery/Ajax/PHP/Json 的一个综合例子
- jQuery/Ajax/PHP/Json 的一个综合例子
- jQuery/Ajax/PHP/Json 的一个综合例子
- jquery实现ajax,返回json数据
- jQuery Ajax调用WebService返回JSON数据
- Struts2-jquery-操作ajax返回json数据
- php+jquery+ajax+json没有数据返回
- Struts2使用jquery ajax返回json数据
- jQuery.ajax异步变成同步的请求JSON数据例子
- ios pdf相关的知识,先贴个链接,正在做这方面项目,等有些成果后回来完成这文章。
- 百度地图中的一段js,随机回调函数。
- 10年打工总结了6句话(转)
- 三大数学博弈:巴什博奕 威佐夫博奕 尼姆博奕
- The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010
- jquery的ajax返回json数据另外一个例子(不继承json-default)
- substr summary
- iphone开发过程中的本地化
- TCP/IP、Http、Socket的区别
- JAVA异常设计
- Myeclipse下载地址及注册码
- 如何编写linux下nand flash驱动-1
- DB2视图VIEW使用
- Output parameter not allowed as argument list prevents use of RPC.