Action中返回提示信息 AJAX效果的

在Action中做完处理之后,返回一个是否成功的信息,下面我是用JS简单输出的,很难看,还需要用户点击下确定才行!
看到很多系统的提示都是执行之后,提示信息一闪而过,还带有渐淡效果直至自动消失,请问是怎么做的,求源码~~~~~~~

下面是小弟写的代码,为了更好的让大家了解我的意思:
String msg="没有更新";
for(int i=0;i<idArray.length;i++){
try {
s.updateLink(link);
msg="更新成功";
} catch (HibernateException e) {
msg="更新失败";
e.printStackTrace();
}
}
MyForward(response, "toLink.do", msg);

/*
*提示信息
*/
public void MyForward( HttpServletResponse response,String url,String msg) {
response.setContentType(CONTENT_TYPE);
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException ex) {
ex.printStackTrace();
}
//添加HTML跳转
out.println(
"<meta http-equiv=\"refresh\" content=\"0;url="+url+"\">");
out.println("<script>alert('"+msg+"');</script>");
out.close();
}
兄弟们,AJAX的书我倒是有,但远水救不了近火啊,我还是想看看源码,就是返回来,JS怎么处理的

简单的来说一下,这里你想使用Ajax并且使用Java开发的话可以选择DWR来实现基本功能,可以达到你想要的效果,这对于产品开发是足够的。
简单的写一下应用:
1. 安装DWR的Jar包到WEB-INF/lib目录下
http://getahead.ltd.uk/dwr/download
2.配置web.xml
<!--配置名称以及调试模式-->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<!--地址映射-->
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
3.创建dwr.xml
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
<!--这里是注册自定义类,这里为Demo-->
<create creator="new" javascript="Demo">
<param name="class" value="your.java.Demo"/>
</create>
</allow>
</dwr>
4.访问http://localhost:8080/xxx/dwr/
这里的路径取决于web.xml配置的映射路径
5.在前端网页中加入下列脚本
<script src='/xxx/dwr/interface/Demo.js'></script>
<script src='/xxx/dwr/engine.js'></script>
6.在网页中使用Demo.method(callback);来使用Demo的方法。
如Demo.showMsg(1,callback);
function callback(text){
alert(text);
}
这样就是在客户端异步调用了服务端的Java代码(Demo类在服务端),具体你可以参考一下DWR文档。
另外,如果你是处于测试开发阶段,那么建议你了解一下Ajax的核心,就是Javascript代码,这方便于你在代码出问题的时候做一些调试,也可以使自己的技术含量更高:
<script type="text/javascript">
var xhr = new ActiveXObject("Microsoft.XMLHTTP");//只针对IE做一个演示,其他浏览器的兼容你自己加
var postString = "value1=value&value2=value";//POST方法中传递的值
xhr.open("POST|GET","method.do?action=xxx");//提交类型和action
xhr.send(postString|null);//post中的字符串值或get(为null)
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
doShow(xhr.responseText);//一个展现函数,你也可以自己创意
}
}
function doShow(msg){
document.getElementById('msg').visibility = visible;//显示信息框
document.getElementById('msg').innerText = msg;//显示信息
setTimeout(function(){document.getElementById('msg').visibility = hidden;document.getElementById('msg').innerText=""},1000);//实现1000毫秒后隐藏信息框且清除信息
}
</script>
更多的展现函数你可以去网上找一下javascript库等等
希望对你有所帮助。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-03-27
在发出请求的html里面适当位置加一个div标签,用这个div的innerHTML显示由XMLHttpRequest返回的responseText,就是你的那个msg。渐变的效果,不知道你要怎么渐变,你可以自己想想用js实现。
第2个回答  2008-03-27
你JS基础不错的 直接去看AJAX的资料吧 对你来说应该很简单 不用己天 你要的效果你自己就可以作出来了

不需要COPY别人的代码

要代码的话 去蓝色理想去看下 哟很多
第3个回答  2008-03-31
xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");

xmlHttpObj.open('GET', URL, true);

//侦听HTTPXML状态,当状态改变的时候执行,比如404,200等状态,
xmlHttpObj.onreadystatechange = function(){
//调用函数
};本回答被提问者采纳
第4个回答  2008-04-17
这个类似<meta http-equiv=refresh content="1; url=index.asp">
加在<head>与</head>之间,修改content的值就可以了

Action中返回提示信息 AJAX效果的
6.在网页中使用Demo.method(callback);来使用Demo的方法。如Demo.showMsg(1,callback);function callback(text){ alert(text);} 这样就是在客户端异步调用了服务端的Java代码(Demo类在服务端),具体你可以参考一下DWR文档。另外,如果你是处于测试开发阶段,那么建议你了解一下Ajax的核心,就是Javasc...

ajax如何实现页面局部跳转与结果返回_javascript技巧
通过代码示例分析给大家介绍ajax实现页面局部跳转与结果返回,具体内容如下:1、带有结果返回的提交过程这里用一个提交按钮来演示,HTML代码为:点击提报按钮后,通过ajax来实现跳转到action中处理,JavaScript代码为:action处理完成后,将返回的结果放到result中,在页面弹出提示信息;当然这里的action跳转是需要...

action返回一个jasn, 如何取值?
的href设置为#,增加onclick事件,在方法中调用jquery的ajax来读取上面那个连接地址,并在读取完后处理返回的结果,这些结果就是你上面截图的json数据。

怎么在Action里返回到JPS页面的function()方法里
不能,你可以用AJAX,返回一个回调函数,这个回调函数你就可以写成验证函数了

我用JQuery 的Ajax 中调用后台的Action方法进行邮箱是否注册过的验证...
1. 先检查你的url是否正确? 2. 是否有json返回,看你的返回类型为json。将data输出查看内容。检查是否在success回调函数中有内容出错。

如何在struts1.2中返回xml数据岛字符串给ajax,在ajax中如何获取...
如果你只是想传递字符窜的话在action中要加入下面两行代码 response.setContentType("text\/text;charset=UTF-8");response.setHeader("Cache-Control", "no-cache");然后用:response.getWriter().print("XXX");要使用xml文件传递数据的话在action中加入另外两行代码:response.setContentType("text\/...

如何在js中写代码调用action中的方法返回结果集合,并注入到包含该js的j...
你说的应该是ajax技术.在浏览器中有一个对象xmlhttpRequest,他可以实现异步请求而不用刷新页面.只要指定一个url,可以包含参数,像你这个,就是怎么访问action,就怎么写这个url,然后执行时会自动从这个action返回结果,你所说的"注入"是js对页面元素的操作范畴.你可以从网上搜索ajax,有很多的例子,你可以借鉴...

...+ dojo 执行完ACTION后,返回到JSP页面的错误信息怎么以消息框(如...
executeScript = true javascriptTooltip = true (按钮等)需要加上这2个属性

ajax执行action,怎么没有刷新页面数据,要自己刷新一下页面数据才出来...
ajax就是为了让页面不刷新,因为刚才的ajax执行了,你对数据库的操作成功了·所以界面上的内容变化了·他刷新了。如果想ajax执行完了还要刷新,用$("#a").load();用jqeray取到这个你想刷新的div的jq对象,可以让他单个区域刷新。Ajax是:AJAX = Asynchronous JavaScript and XML(异步的 JavaScript ...

你的问题“在struts2的action中执行一个修改后弹出修改成功的消息框该...
一般来说修改完成以后应该跳转到修改后的页面 如果你一定要修改成功后alert出修改成功的话建议你用jquery的 ajax 提交的时候调用一个js js中通过ajax方式调用后台action方法完成修改操作 然后接受修改操作返回数据 如果返回成功alert('修改成功');否则做其他处理 具体实现自己网上搜一下代码改改就行啦 自己...

相似回答
大家正在搜