A. 同一个jsp页面中 局部刷新问题
文件一; GetUser.java
package ajax;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetUser extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userno=request.getParameter("no");
List<User> list=new ArrayList<User>();
User user1=new User();
User user2=new User();
User user3=new User();
user1.setNo("101");
user1.setUsername("wei");
user1.setSex("man");
user2.setNo("102");
user2.setUsername("xiang");
user2.setSex("man");
user3.setNo("103");
user3.setUsername("yang");
user3.setSex("women");
list.add(user1);
list.add(user2);
list.add(user3);
PrintWriter out=response.getWriter();
response.setContentType("text/xml");
response.setCharacterEncoding("GB2312");
response.setHeader("Cache-Control", "no-cache");
out.println("<?xml version='1.0' encoding='gb2312'?>");
out.println("<response>");
for(int i=0;i<list.size();i++){
if(list.get(i).getNo().equalsIgnoreCase(userno)){
out.print("<username>"+list.get(i).getUsername()+"</username>");
out.print("<sex>"+list.get(i).getSex()+"</sex>");
}
}
out.println("</response>");
out.close();
}
}
文件二: User.java
package ajax;
public class User {
private String no;
private String username;
private String sex;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
文件三: index.jsp
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=GB2312"%>
<%
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%>">
<script type="text/javascript" charset="GB2312">
var xmlHttp;
/**
*创建一个XMLHttpRequest对象
*/
function makeRequest(){
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
/**
*得到一页用户的信息
*/
function createAjax(no){
makeRequest();
var url="GetUser?no="+no;
xmlHttp.open('GET',url,true);
xmlHttp.onreadystatechange=callback;
xmlHttp.setRequestHeader("Content-Type","text/html;charset=UTF-8");
xmlHttp.send(null);
}
/**
*显示一页用户的信息
*/
function callback(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
xmlDom=xmlHttp.responseXML;
document.getElementById('username').value=xmlDom.getElementsByTagName('username')[0].firstChild.data;
document.getElementById('sex').value=xmlDom.getElementsByTagName('sex')[0].firstChild.data;
}else{
alert("xmlHttp status: "+xmlHttp.status);
}
}else{
}
}
</script>
<title>display</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>
<table cellpadding="0" cellspacing="0" bgcolor="#33CCFF" border="0">
<tr>
<td>
学号
</td>
<td>
<input id=no name=no onblur="createAjax(this.value);" />
</td>
</tr>
<tr>
<td>
姓名
</td>
<td>
<input id=username name=username />
</td>
</tr>
<tr>
<td>
性别
</td>
<td>
<input id=sex name=sex />
</td>
</tr>
</table>
</body>
</html>
文件四:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>GetUser</servlet-name>
<servlet-class>ajax.GetUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetUser</servlet-name>
<url-pattern>/GetUser</url-pattern>
</servlet-mapping>
</web-app>
以Java的一个集合类 ArrayList 对象存储的几条数据为一个数据库
伪数据库。。。 可以把上面的集合类里面的数据记录当成是从数据库
中取出来的。。。
然后用Ajax 把 list 转换成 xml 文件
然后再用 javascript 解析 xml 文件无刷新动态显示到页面上
祝你早日成功!!!
B. jsp+ajax+servlet实现局部刷新验证码的问题
你用的是responseText肯下不行啊,你返回的是一个图片流。而不是一段文本,我觉得你不需要用ajax,你只要重新改变一下img对象的src属性就行了吧,还是指向这个servlet,相当于刷新一下这个图片。改变图片州皮的知迹早src属性时,好搭雀像不刷新整个页面。
C. JSP页面如何实现ajax实现局部刷新,求实例。
用jquery吧,这样的功能很好实现。
这是我之前写的两个关联下拉选择框,第一个是省份,第二个是具体城市。
选中省份,第二个下拉框的选项实现改变。
$(document).ready(function(){
$("#big").change(function(){ //更改省份下拉框的选项时候触发
$("#detail").empty();
$.ajax({
type:"post",
url:"changeCitiesAction.do",//传入action来处理
data:"pid="+$("#big option:selected").val(),//传递的参数(父id-即省份id)
success:function(xml){
$(xml).find("bigList").find("type").each(function(){//解析jsp动态生成的xml
var name = $(this).find("cityName").text();
var id = $(this).find("id").text();
//把解析出来的书库写入页面 <!--EndFragment-->
$("#detail").append("<option value="+id+">"+name+"</option>");
})
}
});
});
});
原理都差不多,好好想想吧。
D. 一个页面的内容发生变化,如何刷新另一页面应该是用js或ajax吧,麻烦哪位热心人给出具体点的方法,谢了
你要刷新top。我的建议首唯是把整个框架全部load一遍,而不是单独敏亮的刷新top,这样不合适。
如果你要刷新top的话,你就桥芹宽用window.parent.parent.document.getElementById(top所在的frameset的id).src='';
就是把top的页面重新加载一次就好了
E. ajax如何跳转到新的jsp页面的实现方法
ajax 完成业务后在success 方法 或者then 方法里面 window.location.href = '新的jsp页面url'
F. 利用JS或者JSP如何实现DIV层内的网页刷新
首先上面的表单改变如果不提交下面的div就跟着变,那么这跟jsp没关系,因为jsp是服务器端的,客户端没提交,服务器端就不会运行,这是纯粹的javascript交互,连ajax都不是。
如果表单提交后div变,分几种,整个页面刷新jsp就能办到。只div刷新,ajax是首选,然后是ifream,其次是flash(和ajax实现方式雷同)。如果这三种你都不想用,那你可以问问上帝怎么办。
G. jsp ajax实现删除数据后刷新页面的问题
一楼说的不错,删除成功后调用加载数据方法
H. JSP中用ajax局部刷新问题
看这句:
document.getElementByName("form1").submit();
你未使用send函数,是用submit进行提交,不是Ajax提交,所以无租判法局弊稿改部刷新。
改成:
var url = document.getElementByName("form1").action + "?user="+user+"&usernm="+usernm+"敬哗&password="+password;
send(url);
return false;
I. jsp页面刷新后ajax失灵
刷新前后源代码笑灶有什么区别? 偶没用核稿过Struts2..
................抱歉 不清楚了...
顺便问一下 据说STRUTS2自带了AJAX 是么?
那就无能为力改升孝了...
J. jsp通过ajax返回的数据需要页面刷新后才能显示
不用刷新就能显示的,ajax本来就是为了避免刷新而产生的技术
http://blog.sina.com.cn/s/blog_14e31c8730102wxxu.html我写的,专你可以参考一下属