Struts2 Action 成功、失败跳转页面弹出提示
在Action中执行完 里面有If判断如果成功在页面弹出提示,如果失败也要提示,应该怎么写,最好有详细代码!! --------------------编程问答-------------------- .jsp页面上添加一个标签<s:property value="alterstr" />Action类中添加如下代码:
private String alterstr;//定义一个变量
你自己的代码
if(你的代码success){
alterstr="success提示信息";
}else{
alterstr="error提示信息";
}
你试试看看这样行不行。 --------------------编程问答-------------------- 1.你可以用JS进行判断
function XX(){
var alertConten = <s:property value="alert" />;
if(alertConten!=null)
alert(alertConten);
}
缺点是:每个页面都要写
2.统一跳到一个页面 那个页面专门负责弹出提示 弹出后再转发到一个地址
这个是通用的
缺点是:在Action中要指定提示完后的链接地址 --------------------编程问答-------------------- 如果你讲的在Action里执行完是对数据库的操作,那么你可以在DAO层进行判断,因为每执行一个SQL操作都会返回一个int值,然后在Action里获到返回的值。
public int updateUser(User user) {
try {
ps=con.prepareStatement(sql);
mark=ps.executeUpdate();
}catch(SQLException ex) {
throw new RuntimeException(ex.getMessage());
}finally {
freeCon();
}
}
Action里获取
public String edit() throws Exception {
int mark=userpermitdao.updateUserPermit(userpermit);
if(mark>0) {
this.statusCode="200";
this.message="修改用户权限成功!";
this.callbackType="closeCurrent";
this.navTabId="modify_userpermit";
}else {
this.statusCode="300";
this.message="修改用户权限失败,请与系统管理员联系!";
}
return "edit";
}
我的开发环境是:Myeclipse7.5+Struts2
--------------------编程问答-------------------- action类须继承ActionSupport
java代码
if(true)
addFieldError("message", " 操作完成 !");
else
addFieldError("message", "出错咯 !");
jsp页面引入标签
<%@ taglib prefix="s" uri = "/struts-tags"%>
这个标签必须放在jsp页面前几行最好是在<%@ page contentType="text/html; charset=GBK"%>之后
在需要提醒的地方使用标签
<s:fielderror/>
OK。 --------------------编程问答-------------------- 建议直接使用out.print("<script>alert('成功');</script>");
注意这里不是System.out.print();方法
而是java.io.PrintWriter对象
案例:
PrintWriter outjs = response.getWriter();
outjs.print("<script>alert('成功');window.location.reload();</script>");
return null;
这样就能弹出信息,并且刷新。
这是我目前的做法,应该还有更好地,讨论一下,大家。 --------------------编程问答-------------------- yong js jiu keyi --------------------编程问答-------------------- 5楼的最简单 --------------------编程问答-------------------- 我就是想要5楼这种方法,但是在stuts.xml文件中还要配result吗?若想让它只显示提示框,页面不跳转,怎么办? --------------------编程问答-------------------- 利用回调函数 传一个值前台的js接受 前台根据这个值进行判断给出相应的提示
ajax提交可以实现 --------------------编程问答-------------------- 建议直接使用out.print("<script>alert('成功');</script>");
注意这里不是System.out.print();方法
而是java.io.PrintWriter对象
案例:
PrintWriter outjs = response.getWriter();
outjs.print("<script>alert('成功');window.location.reload();</script>");
return null;
这样就能弹出信息,并且刷新。
这是我目前的做法,应该还有更好地,讨论一下,大家。
不错 --------------------编程问答-------------------- 在action 中 request.setAttribute("Message", "成功");
然后再跳转的页面中加入这样一段js
<script type="text/javascript">
var msg="${requestScope.Message}";
if(msg!=""){
alert(msg);
}
</script>
这样就可以了 --------------------编程问答-------------------- 不错 --------------------编程问答-------------------- 向10楼,11楼学习了,为了给出简单的提示,不必再进行struts配置和新建页面了。 --------------------编程问答-------------------- 学习学习 --------------------编程问答--------------------
同意9楼,不想跳转就用ajax
具体看这:
http://bbs.csdn.net/topics/390149124 --------------------编程问答-------------------- 学习! 谢谢这么多人给出不同解决办法!
补充:Java , Java EE