当前位置:编程学习 > JAVA >>

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>
这样就可以了 --------------------编程问答--------------------
引用 11 楼  的回复:
在action 中 request.setAttribute("Message", "成功");
然后再跳转的页面中加入这样一段js
<script type="text/javascript"> 
var msg="${requestScope.Message}";
if(msg!=""){
alert(msg);
}
</script>
这样就可以了
  不错 --------------------编程问答-------------------- 向10楼,11楼学习了,为了给出简单的提示,不必再进行struts配置和新建页面了。 --------------------编程问答-------------------- 学习学习 --------------------编程问答--------------------
引用 8 楼 wujuanhong 的回复:
我就是想要5楼这种方法,但是在stuts.xml文件中还要配result吗?若想让它只显示提示框,页面不跳转,怎么办?

同意9楼,不想跳转就用ajax
具体看这:
http://bbs.csdn.net/topics/390149124 --------------------编程问答--------------------   学习! 谢谢这么多人给出不同解决办法! 
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,