Struts2.5 利用Ajax將json數(shù)據(jù)傳值到JSP的實(shí)例
AJAX +JSON=》JSP
AJAX
AJAX 是一種在無(wú)需重新加載整個(gè)網(wǎng)頁(yè)的情況下,能夠更新部分網(wǎng)頁(yè)的技術(shù)。
通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新。
傳統(tǒng)的網(wǎng)頁(yè)(不使用 AJAX)如果需要更新內(nèi)容,必須重載整個(gè)網(wǎng)頁(yè)頁(yè)面。
JSON
JSON(JavaScript Object Notation, JS 對(duì)象標(biāo)記) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于 ECMAScript (w3c制定的js規(guī)范)的一個(gè)子集,采用完全獨(dú)立于編程語(yǔ)言的文本格式來(lái)存儲(chǔ)和表示數(shù)據(jù)。簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語(yǔ)言。 易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。
利用Ajax將json數(shù)據(jù)傳值到JSP
第一步:在你的Action中創(chuàng)建一個(gè)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)過(guò),這個(gè)value可以自己修改 -->
<constant name="struts.action.extension" value="do"></constant>
<!-- 開啟動(dòng)態(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中必須有對(duì)應(yīng)的getter方法 -->
<param name="root">result</param>
</result>
</action>
</package>
</struts>
凡是使用Struts2序列化對(duì)象到JSON的action,所在的package必須繼承自json-default,注意,這里唯一的result,沒(méi)有指定name屬性。parm設(shè)置name=“root”表示局部刷新,返回根目錄頁(yè)面.
第三步:首先先了解Ajax的原理:這是用jQuery做的,需要引 js
function testCheck(num){
$.ajax({
type:"post",//提交方式
url:"TestCheckServlet",//提交地址
async:true,//是否異步請(qǐng)求
dataType:"html",//返回類型
data:{"num":num},//傳過(guò)去的值
success:function(data,textStatus){//成功執(zhí)行的方法
var json=eval("("+data+")");//將傳過(guò)來(lái)的數(shù)據(jù)轉(zhuǎn)json,也可以傳過(guò)來(lái)就是json數(shù)據(jù)免得麻煩轉(zhuǎn)
alert(json.name);
},
error:function(){//失敗執(zhí)行的方法
alert("error");
}
})
}
JSON的傳值方法還有很多,需要大家一點(diǎn)點(diǎn)的挖掘
以上這篇Struts2.5 利用Ajax將json數(shù)據(jù)傳值到JSP的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JDBCTM 指南:入門6-PreparedStatement
JDBCTM 指南:入門6-PreparedStatement...2006-10-10
jsp+servlet+jdbc實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查
本篇文章主要介紹了jsp+servlet+jdbc實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
JSP經(jīng)典學(xué)習(xí)筆記(包含各種入門常用語(yǔ)法)
這篇文章主要介紹了JSP經(jīng)典學(xué)習(xí)筆記,涉及JSP的注釋、聲明、變量、表達(dá)式、腳本、指令等各種入門概念及基本語(yǔ)法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-09-09

