在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;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-03-08
在jsp页面上改变页面的数据,只要不跟服务器有交互,都不会刷新数据的。
屏蔽刷新的方法:

public String reSave(){
     if(this.token != null && this.token.equals(this.getSessionToken())){
       /**设置新标识**/
       this.setSessionToken();
      
       /**业务代码**/
       ..............
       return "toAdd";
     }else{
       printWriter out = null;
       try{
         httpServletResponse.setContentType("text/html;charset=UTF-8");
         out = httpServletResponse.getWriter();
         out.println("<script>alert('刷新提交表单!');</script>");
         out.flush();
        
}catch(IOException e){
e.printStackTrace();
}finally{
if(out != null){
out.close();
}
}本回答被网友采纳
第2个回答  2013-08-10
jquery,ext,都可以轻松的实现。
第3个回答  2013-08-10
ajax传值啊
相似回答