❶ jquery 調用 java 後台方法
jquery可以通來過ajax調用後台源。
ajax請包含
$.ajax(url,[settings])
load(url,[data],[callback])
$.get(url,[data],[fn],[type])
$.getjsON(url,[data],[fn])
$.getScript(url,[callback])
$.post(url,[data],[fn],[type])
這些種
具體使用方法可以參照jquery的api
jquery 在線 api http://jquery.cuishifeng.cn/
❷ (function($){...})(jQuery)是什麼意思
(function($){...})(jQuery),這意味著定義並執行一個使用參數jQuery並通過形式參數$接收匿名函數的匿名函數。
分析:
1,匿名函數定義:javasript函數(arg){...},這種形式在javascript中稱為匿名函數。 Arg是匿名函數的參數。
2,匿名函數調用:調用函數時,括弧和參數寫在函數之後。由於運算符的優先順序,函數本身需要使用括弧,即:(function(arg){...})(Param)這等效於使用參數arg定義匿名函數並使用param調用此匿名函數作為參數。
3,(function($){...})(jQuery)是使用實際參數jQuery定義和執行匿名函數,原因是在正式參數中使用$,以免與其他庫沖突,因此實際參數使用jQuery。
4,等效形式:var fn = function($){....}; fn(jQuery);實際上,這是可以理解的,但是應該注意,fn不存在,直接定義函數,然後運行。只需「壓縮」為以下(function($){...})(jQuery)。
(2)jquery調用java函數擴展閱讀:
匿名函數的聲明和使用:
首先,聲明一個直接分配給事件的匿名函數;
Window.onload = function(){};
使用匿名函數表達式。將匿名函數分配給變數。
聲明:var func = function(){};
呼叫:func();
自我執行功能:
可以從各種運算符開始但是普遍使用! ,如:!函數(參數列表){}(參數列表)。
使用()包裝函數和函數後的括弧,例如:(function(){}());
使用()值包裝函數值,例如:(function(){})();
❸ jquery中有類似java中的map方法嗎
可以通過以下實現:
var map = {}; // Map map = new HashMap();
map[key] = value; // map.put(key, value);
var value = map[key]; // Object value = map.get(key);
var has = key in map; // boolean has = map.containsKey(key);
delete map[key]; // map.remove(key);
❹ jquery中有類似java中的map方法嗎
可以通過以下實現:x0dx0avar map = {}; // Map map = new HashMap();x0dx0amap[key] = value; // map.put(key, value);x0dx0avar value = map[key]; // Object value = map.get(key);x0dx0avar has = key in map; // boolean has = map.containsKey(key);x0dx0adelete map[key]; // map.remove(key);
❺ jquery 如何調用java中的session 或者request
session對象用於在會話范圍內,記錄每個客戶端的訪問狀態,以便於跟蹤每個客戶端的操作狀態。在會話中存儲的信息,在瀏覽器發出後續請求時可以獲取這些會話的有效數據。
在jsp頁面中可以直接使用session對象,也可以通過pageContext.getSession()或request.getSession()方法重新獲取session對象。
session對象可以保存用戶的登錄信息,實現購物車功能等。
HTTP協議是一種無狀態協議。客戶向伺服器發出請求request,然後伺服器返回響應response,連接就被關閉了。在伺服器端不保留連接的有關信息,因此當下一次連接時,伺服器端已沒有以前的連接信息了,無法判斷這一次連接和以前的連接是否屬於同一個客戶。因此,必須使用會話記錄有關連接的信息。
從客戶打開瀏覽器連接到伺服器,到客戶關閉瀏覽器離開這個伺服器,稱做一個會話。當客戶訪問伺服器是,可能會反復連接這個伺服器上的幾個頁面、反復刷新一個頁面或不斷地向一個頁面提交信息等,伺服器應當通過某種方法知道這是同一個客戶,這時就需要session對象。
Jquery Json調用在日常工作中非常好用,只需要Json數據就可以了。
session的工作原理如下:
1.客戶首次訪問伺服器的一個頁面時,伺服器就會為該客戶分配一個session對象,同時為該session對象指定一個唯一的ID,並且將該ID號發送到客戶端並寫入到cookie中,使得客戶端與伺服器端的session建立一一對應關系。
2.當客戶繼續訪問伺服器上的其他資源時,伺服器不再為該客戶分配新的session對象,直到客戶端瀏覽器關閉、超時或調用session的invalidate()方法使其失效,客戶端與伺服器的會話結束。
3.當客戶重新打開瀏覽器訪問網站時,伺服器會重新為客戶分配一個session對象,並重新分配sessionID。
session對象主要用於屬性操作和會話管理,常用方法如下:
1.public void setAttribute(Sting
name, Object
value),設定指定名字的屬性的值,並將它添加到session會話范圍內,如果這個屬性是會話范圍內存在,則更改該屬性的值。
2.public Object getAttribute(String
name),在會話范圍內獲取指定名字的屬性的值,返回值類型為object,如果該屬性不存在,則返回null。
3.public void removeAttribute(String
name),刪除指定名字的session屬性,若該屬性不存在,則出現異常。
4.public void
invalidate(),使session失效。可以立即使當前會話失效,原來會話中存儲的所有對象都不能再被訪問。
5.public String getId(
),獲取當前的會話ID。每個會話在伺服器端都存在一個唯一的標示sessionID,session對象發送到瀏覽器的唯一數據就是sessionID,它一般存儲在cookie中。
6.public void setMaxInactiveInterval(int interval),設置會話的最大持續時間,單位是秒,負數表明會話永不失效。
7.public int getMaxInActiveInterval(),獲取會話的最大持續時間。
8.使用session對象的getCreationTime()和getLastAccessedTime()方法可以獲取會話創建的時間和最後訪問的時間,但其返回值是毫秒,一般需要使用下面的轉換來獲取具體日期和時間。
Date creationTime = new
Date(session.getCreationTime());
Date accessedTime = new
Date(session.getLastAccessedTime());
<%@ page language="java" import="java.util.*" contentType="text/html;charset=GBK"%>
<%
String
path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<base
href="<%=basePath%>">
<title>session對象方法</title>
<meta
http-equiv="pragma" content="no-cache">
<meta
http-equiv="cache-control" content="no-cache">
<meta
http-equiv="expires" content="0">
<meta
http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta
http-equiv="description" content="This is my
page">
<!--
<link rel="stylesheet" type="text/css"
href="styles.css">
-->
</head>
<body>
<b>
會話ID:<%=session.getId() %>
<br>
是否新會話:<%=session.isNew()
%><br>
設置和獲取屬性對象:用戶名 =
<%session.setAttribute("用戶名","陳寧");
%>
<%=session.getAttribute("用戶名")
%><br>
<%
Date creationTime = new
Date(session.getCreationTime());
Date accessedTime = new
Date(session.getLastAccessedTime());
%>
會話創建時間:<%=creationTime
%><br>
上次訪問時間:<%=accessedTime
%><br>
會話持續時間(s):<%=session.getMaxInactiveInterval()
%><br>
<%session.setMaxInactiveInterval(12);
%>
修改後的會話持續時間(s):<%=session.getMaxInactiveInterval()
%><br>
<%session.invalidate();
%>
</b>
</body>
</html>
Jquery Json調用在日常工作中非常好用,只需要Json數據就可以。
❻ java 、JQuery問題,$.ajax()、$.post()、$.get(),各在什麼情況下使用它們的區別
jQuery Ajax 實例 全解析
jQuery確實是一個挺好的輕量級的JS框架,能幫助我們快速的開發JS應用,並在一定程度上改變了我們寫JavaScript代碼的習慣。
廢話少說,直接進入正題,我們先來看一些簡單的方法,這些方法都是對jQuery.ajax()進行封裝以方便我們使用的方法,當然,如果要處理復雜的邏輯,還是需要用到jQuery.ajax()的(這個後面會說到).
1. load( url, [data], [callback] ) :載入遠程 HTML 文件代碼並插入至 DOM 中。
url (String) : 請求的HTML頁的URL地址。
data (Map) : (可選參數) 發送至伺服器的 key/value 數據。
callback (Callback) : (可選參數) 請求完成時(不需要是success的)的回調函數。
這個方法默認使用 GET 方式來傳遞的,如果[data]參數有傳遞數據進去,就會自動轉換為POST方式的。jQuery 1.2 中,可以指定選擇符,來篩選載入的 HTML 文檔,DOM 中將僅插入篩選出的 HTML 代碼。語法形如 "url #some > selector"。
這個方法可以很方便的動態載入一些HTML文件,例如表單。
示例代碼:
$(".ajax.load").load("http://www.cnblogs.com/yeer/archive/2009/06/10/1500682.html .post",
function (responseText, textStatus, XMLHttpRequest){
this;//在這里this指向的是當前的DOM對象,即$(".ajax.load")[0]
//alert(responseText);//請求返回的內容
//alert(textStatus);//請求狀態:success,error
//alert(XMLHttpRequest);//XMLHttpRequest對象
});
這里將顯示結果。
註:不知道為什麼URL寫絕對路徑在FF下會出錯,知道的麻煩告訴下。下面的get()和post()示例使用的是絕對路徑,所以在FF下你將會出錯並不會看到返回結果。還有get()和post()示例都是跨域調用的,發現傳上來後沒辦法獲取結果,所以把運行按鈕去掉了。
2. jQuery.get( url, [data], [callback] ):使用GET方式來進行非同步請求
參數:
url (String) : 發送請求的URL地址.
data (Map) : (可選) 要發送給伺服器的數據,以 Key/value 的鍵值對形式表示,會做為QueryString附加到請求URL中。
callback (Function) : (可選) 載入成功時回調函數(只有當Response的返回狀態是success才是調用該方法)。
這是一個簡單的 GET 請求功能以取代復雜 $.ajax 。請求成功時可調用回調函數。如果需要在出錯時執行函數,請使用 $.ajax。示例代碼:
$.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){
//返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等.
this; // 在這里this指向的是Ajax請求的選項配置信息,請參考下圖
alert(data);
//alert(textStatus);//請求狀態:success,error等等。
當然這里捕捉不到error,因為error的時候根本不會運行該回調函數
//alert(this);
});
點擊發送請求:
jQuery.get()回調函數裡面的 this ,指向的是Ajax請求的選項配置信息:
3. jQuery.post( url, [data], [callback], [type] ) :使用POST方式來進行非同步請求
參數:
url (String) : 發送請求的URL地址.
data (Map) : (可選) 要發送給伺服器的數據,以 Key/value 的鍵值對形式表示。
callback (Function) : (可選) 載入成功時回調函數(只有當Response的返回狀態是success才是調用該方法)。
type (String) : (可選)官方的說明是:Type of data to be sent。其實應該為客戶端請求的類型(JSON,XML,等等)
這是一個簡單的 POST 請求功能以取代復雜 $.ajax 。請求成功時可調用回調函數。如果需要在出錯時執行函數,請使用 $.ajax。示例代碼:
Ajax.aspx:
Response.ContentType = "application/json";
Response.Write("{result: '" + Request["Name"] + ",你好!(這消息來自伺服器)'}");
jQuery 代碼:
$.post("Ajax.aspx", { Action: "post", Name: "lulu" },
function (data, textStatus){
// data 可以是 xmlDoc, jsonObj, html, text, 等等.
//this; // 這個Ajax請求的選項配置信息,請參考jQuery.get()說到的this
alert(data.result);
}, "json");
點擊提交:
這里設置了請求的格式為"json":
如果你設置了請求的格式為"json",此時你沒有設置Response回來的ContentType 為:Response.ContentType = "application/json"; 那麼你將無法捕捉到返回的數據。
注意一下,alert(data.result); 由於設置了Accept報頭為「json」,這里返回的data就是一個對象,並不需要用eval()來轉換為對象。
❼ java後台的方法在jquery中怎麼通過url獲取(這個在js中獲取)
如果你用jquery,那麼就只能通過ajax的方式 來獲取,前後台代碼要配合好。
還是用dwr吧 ,js可以直接調用後台java方法獲取返回值