ajax+servlet+fastjson+js非同期リフレッシュを実現
4867 ワード
1.08年ごろからajax技術が流行し始め、
そのhtml静的ページがバックグラウンドとデータを対話できる場合
今日はajaxの基礎の極速の入門を探究します
2. まずfastjsonをインポートする.jar包------アリのオープンソースプロジェクト、ネット上でダウンロードすることができます
3. 次にservlet javaコードを書きます.
@WebServicelet("/ss")注記
public ss{
dopost( req ,resp ){
response.setContentType("text/html;charset=UTF-8");dept dd1=new dept(1,"nima");dept dd2=new dept(2,"nimad");List ddlist=new ArrayList();ddlist.add(dd1);ddlist.add(dd2);PrintWriter out = response.getWriter();//このfastjso.JArが持参したメソッドは、オブジェクトとlistのセットをすべて
Json文字列toJSONString();String jsonstr = JSON.toJSONString(ddlist);out.println(jsonstr);
}}
——————————————————————————
2. それからhtmlページかjspページを直接書きます
簡単にscriptの中のコード<
function fun(){
var ajax=newXMLHttpRequest();そう書かなければならない(IE 5.6を受験しない)
ajax.onreadystatechange=function(){if(ajax.readystate!=4){document.getElementById("msg").innerHTML="データをロード中.....";}else{これがservletのout.print(jsonstr);var html=ajax.responseText;var json=eval('('+html+');//
json文字列をjsonオブジェクトに変換するために必要な書き込み
//document.getElementById("msg").innerHTML =html_json.deptId+" "+html_json.deptName; jsonオブジェクトの値の取得方法(オブジェクト)
var deptObj = document.all.dept; deptObj.length=0;//複数のJsonオブジェクトfor(var i=0;i{var opt=new Option(json[i].deptName,json[i].deptId)の乱発防止; deptObj.options.add(opt); }
}}--匿名のfunction{} };//リクエストデータの設定--これがservletのrequestです.getpramar("deptid") ajax.open("post", "DeptSvt?deptId=101", true); --//ajaxのリクエストを開始します.send(null);
}
4. 完全なコードservletの
そのhtml静的ページがバックグラウンドとデータを対話できる場合
今日はajaxの基礎の極速の入門を探究します
2. まずfastjsonをインポートする.jar包------アリのオープンソースプロジェクト、ネット上でダウンロードすることができます
3. 次にservlet javaコードを書きます.
@WebServicelet("/ss")注記
public ss{
dopost( req ,resp ){
response.setContentType("text/html;charset=UTF-8");dept dd1=new dept(1,"nima");dept dd2=new dept(2,"nimad");List ddlist=new ArrayList();ddlist.add(dd1);ddlist.add(dd2);PrintWriter out = response.getWriter();//このfastjso.JArが持参したメソッドは、オブジェクトとlistのセットをすべて
Json文字列toJSONString();String jsonstr = JSON.toJSONString(ddlist);out.println(jsonstr);
}}
——————————————————————————
2. それからhtmlページかjspページを直接書きます
簡単にscriptの中のコード<
function fun(){
var ajax=newXMLHttpRequest();そう書かなければならない(IE 5.6を受験しない)
ajax.onreadystatechange=function(){if(ajax.readystate!=4){document.getElementById("msg").innerHTML="データをロード中.....";}else{これがservletのout.print(jsonstr);var html=ajax.responseText;var json=eval('('+html+');//
json文字列をjsonオブジェクトに変換するために必要な書き込み
//document.getElementById("msg").innerHTML =html_json.deptId+" "+html_json.deptName; jsonオブジェクトの値の取得方法(オブジェクト)
var deptObj = document.all.dept; deptObj.length=0;//複数のJsonオブジェクトfor(var i=0;i{var opt=new Option(json[i].deptName,json[i].deptId)の乱発防止; deptObj.options.add(opt); }
}}--匿名のfunction{} };//リクエストデータの設定--これがservletのrequestです.getpramar("deptid") ajax.open("post", "DeptSvt?deptId=101", true); --//ajaxのリクエストを開始します.send(null);
}
4. 完全なコードservletの
package com;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
public class svt extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
dept dd1=new dept(1,"nima");
dept dd2=new dept(2,"nimad");
List ddlist=new ArrayList();
ddlist.add(dd1);
ddlist.add(dd2);
PrintWriter out = response.getWriter();
String jsonstr = JSON.toJSONString(ddlist);
out.println(jsonstr);
out.flush();
out.close();
}
}
jspページの
My JSP 'index.jsp' starting page
function ff(){
var ajax=new XMLHttpRequest();
alert(ajax);
ajax.onreadystatechange = function(){
if(ajax.readyState!=4){
document.getElementById("msg").innerHTML = " ..";
}else{
// json ,
var html = ajax.responseText;
var json = eval('('+html+')');// json json
for(var i=0;i<json.length;i++){
alert(',.a dfs,.'+json[i].id);
}
document.getElementById("msg").innerHTML = "chengg";
}
};
ajax.open("post", "svt", true);
ajax.send();
}
jqs