您的位置:首页 > Web前端 > JQuery

Struts1.x下使用jquery的Ajax获取后台数据

2013-09-09 15:10 956 查看
    jquery中有多种Ajax方法来获取后台数据,我使用的是$.get()方法,具体的理论我不解释太多,要解释也是从别的地方copy过来的。下面就介绍我的项目中的实现方法。

    前台页面:

首先导入jquery的包,这个不解释,自己下载,自己引用。
<script language="JavaScript" src="<%=request.getContextPath()%>/js/jquery/jquery-1.3.2.min.js"></script>


    在js中加入如下代码,根据我的项目,为了简便,我使用的回调函数传递回来的后台数据是String型的,例子中传递str参数:

function getJQueryAjax(){
str = "130410113121461017210";
var url = "<%=request.getContextPath()%>/yourAction.do?actionCode=getYourFun&str="
+ encodeURI(encodeURI(str))";
$.get(url, function(data) {
$("input[name='jquery']").val(data);
});
}


    后台代码的实现方式,就是构建url中的路径,使得Struts1.x在jsp页面中能够访问到该方法的路径,代码如下:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;

import java.io.PrintWriter;

public class YourAction extends DispatchAction {

public ActionForward getYourFun(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) throws Exception {

PrintWriter out = null;
try{
request.setCharacterEncoding("GB2312");
response.setContentType("text/html;charset=GB2312");
String icNo = java.net.URLDecoder.decode(request.getParameter("str"), "UTF-8");
out = response.getWriter();
out.print("测试回调返回字符串" + icNo);
out.close();
} catch(Exception e){
e.printStackTrace();
out.close();
}
return null;
}
}


    其他有关xml的配置,我就不赘述了,各位按自己项目来配置就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: