struts2如何实现弹出action返回的错误信息

struts2如何实现弹出action返回的错误信息

方法1:

在跳转的页面写入如下代码:

<script type="text/javascript">
//错误提示信息
var msg=""+'${request.tipMessage}';
if(msg!=""){
alert(msg);
}
//-->
</script>

在对应的action中写入如下代码:

message = "课程已结束无法报名!";
request.setAttribute("tipMessage", message);

这样就完成了。

方法2:

直接在action中写入如下代码:

PrintWriter outjs = response.getWriter();
outjs.print("<script>alert('成功');window.location.reload();</script>");
return null;

首先,response.getWriter()需要try,catch;而且有编码问题。

window.location.reload();如果发现页面一直刷新不跳转;请把这句话去掉。

本人一直就讨厌编码问题;虽然都可以解决。推荐第一种方法。

方法3:

是用jQuery;进行ajax验证;

(1)页面写入如下代码:

function checkName(name) {
var userMessage = document.getElementById("userMessage");
if (name == "") {
userMessage.innerHTML = "<font color=red>请输入用户名</font>";
} else {
//检查用户名是否存在
jQuery.get('findPasswordAction_validateUsername?username=' + name, null, callback);
}
username = name;
nameChecked = true;
}

function callback(data) {
var userMessage = document.getElementById("userMessage");
if(data == 1){
userMessage.innerHTML = "";
Bname = true;
if(type == "cryptoguard"){
validateCryptoguard();
}
}else if(data == 0){
userMessage.innerHTML = "<font color=red>该用户名不存在!</font>";
Bname = false;
}
}
(2)action写入如下代码:

/**
* ajax校验用户名是否存在
* 存在该用户,向页面返回1
* 不存在该用户,想页面返回0
*/
public void validateUsername(){
String username = request.getParameter("username");
Boolean flag = false;
try {
flag = userFacade.exsitUser(username);
} catch (BaseAppException e) {
Response response = HandleExceptionUtil.handleException(e, e
.getMessage(), null, null);
} catch (BaseAppRuntimeException e) {
Response response = HandleExceptionUtil.handleException(e, e
.getMessage(), null, null);
} finally {
}
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
int i = 0;
if(flag){
i=1;
}
out.println(i);
out.flush();
out.close();
}

解释一下:

首先;页面填写用户名;如果不填写;直接提示;如果填写;会执行

jQuery.get('findPasswordAction_validateUsername?username=' + name, null, callback);

第一个参数是请求的url;第二个可选。规定连同请求发送到服务器的数据;第三个可选,是回调方法;这里就是下面的callback;

action中方法返回值flag就是页面callback方法中的data参数;然后执行alert();个人觉得ajax更慢……推荐第一种,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值