1. jsp怎麼用ajax做分頁
利用ajax實現,和沒有使用ajax,技術難度上差不多。我是這樣實現的:
首先,做一個javabean主要是用來存儲你要查詢的數據,就是getxx和setxx
二 做一個,裡麵包括了getTotalSize()//總個數,getPages(int pageSize)//總頁數和List transferPagination(int currPage,int pageSize)//數據列表
在數據列表的函數中是調用了一個存儲過程來是實現分頁查詢的,存儲過程如下:
create proc procPagination
@currPage int,--當前頁
@pageSize int,--每頁大小
@tableName varchar(50),--表名
@tableId varchar(50)--查詢欄位
as
begin
declare @sql varchar(8000)
set @sql = 'select top '+convert(char(5),@pageSize)+' * from '+@tableName+' where '+@tableId+' not in '
set @sql = @sql +'(select top '+convert(char(5),@pageSize*(@currPage-1))+' '+@tableId+' from '+@tableName
set @sql = @sql + ' order by '+@tableId+')'
exec(@sql)
end
三 在一個b.jsp頁面中調用上面的方法,得到要顯示頁碼的數據列表
四 在另外一個a.jsp中利用ajax發送請求到b.jsp中得到其中的數據列表,在ajax中主要負責的是:
得到當前的頁數,得到總頁數,得到每頁要顯示的數據條數等
如果你用jsp做過分頁的話 應該就明白了,如果不明白,把郵箱留下,發給你..
2. 在jsp頁面上改變頁面的數據,但頁面不刷新的方法有哪些
使用Ajax實現,單純的使用JavaScript不可以與後台進行數據交互。 jquary是JavaScript框架,可以簡化Ajax的操作,原始的Ajax方法不再詳述, 這里給給使用jquary的Ajax方法: 一:前台頁面: <script type="text/javascript"> function checkUserName(){ $.ajax({ type: "POST",//請求的方式,有「GET」、「POST」 url: "User.do?method=jqueryAjax",//請求的URL,這里使用了struts框架 data: "name=hejiyuan",//發送的數據 dataType: "xml",//返回的數據格式 success: callback //交互完成後,並且正確響應的回調函數 }); } function callback(data){ //首先將DOM對象轉換成jQuery對象 var jquaryOBJ = $(data); var city = jquaryOBJ.children(); var text = city.text(); } </script> <body> <input id="name" type="text" /> <input type="button" value="驗證" onclick="checkUserName()"> <div id="returnValue"></div> </body> 二、後台action方法代碼 public ActionForward jqueryAjax2(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { response.setCharacterEncoding("GBK"); // 注意返回的數據類型設置為XML類型 response.setContentType("text/xml"); PrintWriter out = response.getWriter(); StringBuffer buffer = new StringBuffer(); buffer.append("<?xml version=\"1.0\" encoding=\"GBK\"?>"); buffer.append("<citys><city><name>永安</name><value>7</value></city>" + "<city><name id='2'>沙縣</name><value>8</value></city></citys>"); out.println(buffer.toString()); out.flush(); out.close(); return null; }
3. jsp中,用ajax獲取數據
jsp中用ajax獲取數據的例子如下:
jsp代碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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>
<TITLE>留學生系統</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<SCRIPT language=JavaScript type=text/JavaScript>
var XMLHttpReq = false;
//ajax介面
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
XMLHttpReq = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
XMLHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Mircsoft.XMLHTTP");
}catch(e1){}
}
}
}
function sendRequest(url){
createXMLHttpRequest();
XMLHttpReq.open("GET",url,true);
XMLHttpReq.onreadystatechange = processResponse;
XMLHttpReq.send(null);
}
function processResponse(){
if(XMLHttpReq.readyState == 4){
if(XMLHttpReq.status == 200){
var res = XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data;
window.alert(res);
document.myform.userid.value="";
document.myform.pwd.value="";
}else{
window.alert("你請求的頁面有異常1");
}
}
}
function userCheck(){
var userid = document.myform.userid.value;
var pwd = document.myform.pwd.value;
if(userid == ""){
window.alert("用戶名不能為空");
document.myform.pwd.value="";
document.myform.userid.focus();
return false;
}else{
sendRequest("login?userid="+userid);
}
}
function pwdCheck(){
var pwd = document.myform.pwd.value;
var pwd2 = document.myform.pwd2.value;
if(pwd!=pwd2){
window.alert("密碼不一致");
document.myform.pwd.value="";
document.myform.pwd2.value="";
document.myform.pwd.focus();
return false;
}
}
</SCRIPT>
<LINK href="css/css.css" type=text/css rel=stylesheet>
</HEAD>
<body>
<table width="778" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" >
<tr>
<td width="17%"><img src="images/logo.jpg" width="124" height="101"></td>
<td width="558" height="101" background="images/banner.jpg"><div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="558" height="101">
<param name="movie" value="images/2.swf">
<param name="quality" value="high">
<embed src="images/2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="558" height="101"></embed>
<param name="wmode" value="transparent">
</object>
</div></td>
<td width="11%"><table width="100%" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td height="30" class="style1"><div align="center">設為首頁</div></td>
</tr>
<tr>
<td height="30" class="style1"><div align="center">收藏本站</div></td>
</tr>
<tr>
<td height="30" class="style1"><div align="center">聯系我們</div></td>
</tr>
</table></td>
</tr>
</table>
<form method="post" action="control.jsp?action=register" name="myform">
<table width="300" border="0" align="center" bgcolor="#F0F0F0">
<tr>
<td align="center">用戶名</td>
<td><input name="userid" type="text" size="20" onblur="userCheck()"></td>
</tr>
<tr>
<td align="center">真實姓名</td>
<td><input name="username" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">性別</td>
<td>
<input type="radio" name="sex" value="0" checked="checked">男
<input type="radio" name="sex" value="1">女
</td>
</tr>
<tr>
<td align="center">密碼</td>
<td><input name="pwd" type="password" size="20"/></td>
</tr>
<tr>
<td align="center">密碼確認</td>
<td><input name="pwd2" type="password" size="20" onblur="pwdCheck()"/></td>
</tr>
<tr>
<td align="center">電子郵箱</td>
<td><input name="email" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">學校</td>
<td><input name="school" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">電話號碼</td>
<td><input name="phonenum" type="text" size="20"/></td>
</tr>
<tr>
<td align="center"><img border=0 src="image.jsp"></td>
<td><input type=text name=in maxlength=4 size="8"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="確定" /></td>
</tr>
</table>
</form>
</body>
</html>
4. Jsp問題:如何點擊一個頁面元素,或發起了一個Ajax 請求,但不刷新頁面,就能使session
jsp radio button點擊時要通過觸發ajax介面進行非同步獲取檢索數據並展示在jsp頁面,頁面進行局部刷新。
例如,頁面上有radio,需要綁定change事件:
radio change事件
$('input:radio[name="role"]').change( function()
當一個元素,或者其內部任何一個元素失去焦點的時候會觸發這個事件。這跟blur事件區別在於,他可以在父元素上檢測子元素失去焦點的情況。
$("#username").focusout(function()
var roles = document.getElementsByName("role");
此處進行ajax調用:
$.ajax({
type: "GET",
url: "test.json",
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json",
success: function(data){
$('#resText').empty(); //清空resText裡面的所有內容
var html = '';
$.each(data, function(commentIndex, comment){
html += '<div class="comment"><h6>' + comment['username']
+ ':</h6><p class="para"' + comment['content']
+ '</p></div>';
});
$('#resText').html(html);
}
});
5. 我想在我的jsp頁面中用ajax
Ajax其實非常簡單,樓上列舉的是封裝了Ajax的第三方包,不適合初學者,只會讓Ajax看起來更復雜。
Ajax就是對象XMLHttpRequset的使用。
XMLHttpRequest 簡介
要真正實現這種絢麗的奇跡,必須非常熟悉一個 JavaScript 對象,即 XMLHttpRequest。這個小小的對象實際上已經在幾種瀏覽器中存在一段時間了,它是本專欄今後幾個月中要介紹的 Web 2.0、Ajax 和大部分其他內容的核心。為了讓您快速地大體了解它,下面給出將要用於該對象的很少的幾個 方法和屬性。
open():建立到伺服器的新請求。
send():向伺服器發送請求。
abort():退出當前請求。
readyState:提供當前 HTML 的就緒狀態。
responseText:伺服器返回的請求響應文本。
<script language="javascript" type="text/javascript">
var request = new XMLHttpRequest();
var url = "a.jsp?paramName=paramValue"; //你要訪問的伺服器端的地址和參數。
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
function updatePage() {
if (request.readyState == 4)
if (request.status == 200)
alert(request.responseText);
}
</script>
這就是一個最簡單的Ajax的例子。
這里有適合初學者學習Ajax的文章:
http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/
6. jsp作為後台,用ajax,怎麼往另一個jsp提交數據
jsp中用ajax提交到另外一個表單數據:
jsp/ajax提交成功後採用以下方式跳轉專:
1、本頁面跳轉:"window.location.href"、"location.href"
2、上一層頁面跳轉:"parent.location.href"
3、最外層的頁屬面跳轉:"top.location.href"
舉例說明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js這樣寫
"window.location.href"、"location.href":D頁面跳轉
"parent.location.href":C頁面跳轉
"top.location.href":A頁面跳轉
如果D頁面中有form的話,
<form>: form提交後D頁面跳轉
<form target="_blank">: form提交後彈出新頁面
<form target="_parent">: form提交後C頁面跳轉
<form target="_top"> : form提交後A頁面跳轉
7. 怎麼使用js或ajax讓jsp頁面及頁面所包含的xml等靜態文件不緩存
還有一種方法就是
在請求url的後面加上隨機數
比如說請求a.aspx
那麼可以寫成$.get("a.aspx?"+Math.random(),function(data){});
這種就不會被緩存
8. 在jsp中怎麼運用ajax
使用Ajax的主要過程包括
1、創建XMLHttpRequest對象,
2、設置回發函數,
3、指定信息發送位置、提交的方式和非同步與否,
4、發送請求。
javaScript代碼如下所示:
1:<scripttype="text/javascript">
2:varXMLHttpRequestIns=null;
3:
4:functionAjaxF(){
5://創建Ajax核心對象並傳遞參數
6:CreateXMLHttpRequest();
7://設置參數
8:XMLHttpRequestIns.onreadystatechange=handleStateChange;//設置回發函數
9://獲取內容的位置
10:XMLHttpRequestIns.open("GET","XMLFile1.xml",true);
11://發送
12:XMLHttpRequestIns.send(null);
13:}
14:functionCreateXMLHttpRequest(){
15:if(window.ActiveObject){
16:XMLHttpRequestIns=newActiveXObject("Microsoft.XMLHTTP");
17:}
18:elseif(window.XMLHttpRequest)
19:{
20:XMLHttpRequestIns=newXMLHttpRequest();
21:}
22:}
23://對返回數據進行處理
24:functionhandleStateChange(){
25:if(XMLHttpRequestIns.readyState==4){
26:
27:if(XMLHttpRequestIns.status==200){
28:alert("伺服器消息"+XMLHttpRequestIns.responseText);
29:}
30:}
31:}
32:</script>
9. jsp+ajax實現 注冊、登錄功能。
一、處理ajax請求的jsp文件:auto.jsp , 你按照這樣就沒問題了
<%@ page contentType="text/html; charset=gb2312" %>
<%
//設置輸出信息的格式及字元集
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control","no-cache");
out.println("<response>");
for(int i=0;i<2;i++){
out.println("<name>"+(int)(Math.random()*10)+
"型筆記本</name>");
out.println("<count>" +(int)(Math.random()*100)+ "</count>");
}
out.println("</response>");
out.close();
%>
二、發送ajax請求的html文件:autoRefresh.html
<head>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
</head>
<script language="javascript">
var XMLHttpReq;
//創建XMLHttpRequest對象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 瀏覽器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE瀏覽器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
//發送請求函數
function sendRequest() {
createXMLHttpRequest();
var url = "auto.jsp";
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定響應函數
XMLHttpReq.send(null); // 發送請求
}
// 處理返回信息函數
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判斷對象狀態
if (XMLHttpReq.status == 200) { // 信息已經成功返回,開始處理信息
DisplayHot();
setTimeout("sendRequest()", 1000);
} else { //頁面不正常
window.alert("您所請求的頁面有異常。");
}
}
}
function DisplayHot() {
var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;
var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;
document.getElementById("proct").innerHTML = name;
document.getElementById("count").innerHTML = count;
}
</script>
<body onload =sendRequest()>
<table style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=0 width=200 bgColor=#f5efe7 border=0>
<TR>
<TD align=middle bgColor=#dbc2b0 height=19 colspan="2"><B>正在熱賣的筆記本</B> </TD>
</TR>
<tr>
<td height="20"> 型號:</td>
<td height="20" id="proct"> </td>
</tr>
<tr>
<td height="20"> 銷售數量:</td>
<td height="20" id="count"> </td>
</tr>
</body>
</table>