AJAX +JSON=》JSP
AJAX
AJAX 是一種在無需重新加載整個網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)。
通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。
傳統(tǒng)的網(wǎng)頁(不使用 AJAX)如果需要更新內(nèi)容,必須重載整個網(wǎng)頁頁面。
JSON
JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數(shù)據(jù)交換格式。它基于 ECMAScript (w3c制定的js規(guī)范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。
利用Ajax將json數(shù)據(jù)傳值到JSP
第一步:在你的Action中創(chuàng)建一個json數(shù)據(jù)
public class AjaxAction extends ActionSupport{ /** * */ private static final long serialVersionUID = 1L; private String result; public String getResult() { return result; } public void setResult(String result) { this.result = result; }public String getjson() { JSONObject json = new JSONObject(); json.put("name","張三"); json.put("password","123456"); result=json.toString(); return SUCCESS;}
第二步:編寫struts.xml文件中的內(nèi)容
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <!-- 設(shè)置開發(fā)者模式 修改action中的名字可以不用重啟服務(wù)器 --> <constant name="struts.devMode" value="true"></constant> <!-- 只有在后綴中有(.do)的才經(jīng)過,這個value可以自己修改 --> <constant name="struts.action.extension" value="do"></constant> <!-- 開啟動態(tài)方法調(diào)用 --> <constant name="struts.enable.DynamicMethodInvocation" value="true"/> <package name="default" extends="json-default" namespace=""> <action name="ajax" class="com.action.AjaxAction" method="getjson"> <result name="success">/ajaxjson.jsp</result> <result type="json" ><!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --> <param name="root">result</param> </result> </action> </package> </struts>
凡是使用Struts2序列化對象到JSON的action,所在的package必須繼承自json-default,注意,這里唯一的result,沒有指定name屬性。parm設(shè)置name=“root”表示局部刷新,返回根目錄頁面.
第三步:首先先了解Ajax的原理:這是用jQuery做的,需要引 js
function testCheck(num){ $.ajax({ type:"post",//提交方式 url:"TestCheckServlet",//提交地址 async:true,//是否異步請求 dataType:"html",//返回類型 data:{"num":num},//傳過去的值 success:function(data,textStatus){//成功執(zhí)行的方法 var json=eval("("+data+")");//將傳過來的數(shù)據(jù)轉(zhuǎn)json,也可以傳過來就是json數(shù)據(jù)免得麻煩轉(zhuǎn) alert(json.name); }, error:function(){//失敗執(zhí)行的方法 alert("error"); } }) }
JSON的傳值方法還有很多,需要大家一點點的挖掘
以上這篇Struts2.5 利用Ajax將json數(shù)據(jù)傳值到JSP的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點
疑難解答