项目actionmessage中添加的message如何消失

下次自动登录
现在的位置:
& 综合 & 正文
struts2中关于ActionMessage在redirect传递时丢失问题的解决方案
@ParentPackage(value="noneedlogin")
public class AdminLoginAction extends ActionSupport
implements SessionAware,ModelDriven&AdminUser&{
value="/admin/adminlogin",
@Result(name="success", location="/admin/admin-login-ok.jsp", type="redirect"),
@Result(name="login-failed", location="/admin/login", type="redirect")
public String login() throws IOException{
if(validatecaptchaCode()){
AdminUser adminUser = adminUserManager.findByUserName(entity.getUserName());
String md5String = DigestUtils.md5Hex(entity.getPassword());
if(adminUser==null ||(!md5String.equals( adminUser.getPassword() )) ){
log.error("用户名或密码有误,请重请登录");
addActionMessage("用户名或密码有误,请重请登录");
return "login-failed";
("login ok!add to session-------------");
SessionFactory.addAdminUserSession(session,adminUser);
String lastVisitUrl = SessionFactory.getLastAdminVistedUrl(session);
if(lastVisitUrl!=null && lastVisitUrl.length()&2){
("last visited :"+lastVisitUrl);
ServletActionContext.getResponse().sendRedirect(lastVisitUrl);
return null;
return this.SUCCESS;
log.error("验证码有误,请重请登录");
addActionMessage("验证码有误,请重请登录");
return "login-failed";
这里我们只关注ActionMessage,看到没有无论是成功还是失败都是redirect方式的跳转,我们这里所说的redirect传递丢失ActionMessage问题指的是@Result(name="login-failed", location="/admin/login", type="redirect")这种
方式,这种方式不会直接转换到一个xx.jsp上,而是中间经过了一个其他的Action,大家都知道redirect方式传递关于保存在request请求域中的数值都会丢失,多以我们要做的就是使这个值保存到SESSION中去
具体解决方案
上边的Action类是在noneedlogin包类,我们要做的就是在struts.xml中noneedlogin包的默认拦截器中加入store拦截器
name="noneedlogin" extends="convention-default"
name="storeStack"
name="store"
name="operationMode"AUTOMATIC
name="paramsPrepareParamsStack"
name="storeStack"
当然这不是唯一的写法,以一种写法还可以是下面这样的
name="struts.convention.default.parent.package" value="crud-default"
name="struts.convention.package.locators" value="web"
name="struts.convention.package.locators.basePackage" value="com.javacrazyer.demo"
name="crud-default" extends="convention-default, json-default"
&!-- 基于paramsPrepareParamsStack,
增加store interceptor保证actionMessage在redirect后不会丢失 --
name="crudStack"
name="store"
name="operationMode"AUTOMATIC
name="paramsPrepareParamsStack"
name="crudStack"
好了上面说到本解决方案是针对@Result(name="login-failed", location="/admin/login", type="redirect")而
不是针对@Result(name="success", location="/admin/admin-login-ok.jsp", type="redirect"),这是因为在
直接以redirect方式跳转到JSP页面的这种,本方案是解决不了问题的,所以如果是直接跳转到JSP页面type类型就要改成是dispatcher,即如下方式
@Action(value="/admin/login",results={@Result(name="login", location="/admin/login.jsp", type="dispatcher")}
public String execute(){
return "login";
&&&&推荐文章:
【上篇】【下篇】struts2 中的 addActionError 、addFieldError、addActionMessage的方法 -
- ITeye技术网站
博客分类:
一、addActionError("错误内容"):Action级别的错误消息
this.addActionError("错误信息1");
this.addActionError("错误信息2");
显示消息的标签是:&s:actionerror /&显示全部的 Action级别的错误消息,可以加CSS
二、addFieldError("字段名","错误信息")给一个字段(属性)添加错误消息
this.addFieldError("pwd", "错误信息1");
this.addFieldError("pwd", "错误信息2");
显示消息的方法1:
标签是:&s:fielderror /&显示全部的错误消息;
显示消息的方法2:
&s:fielderror&
&&& &s:param&field1 &/s:param& 显示指定的 field1字段的 错误消息
&&& &s:param&field2 &/s:param& 显示指定的 field2字段的 错误消息
&/s:fielderror&
显示消息的方法3:
如果什么都不写,则默认显示在相应字段上方
三、addActionMessage("相关信息")
需要在action中重写父类的validate方法,对参数进行校验,如果校验失败。则直接写错误信息
this.addActionMessage("信息1");
this.addActionMessage("信息2");
显示消息的标签是:&s2:actionmessage/&可以显示全部的消息
注:
&& 1、在添加第一个信息之前加上this.clearErrorsAndMessages();用来清空之前加载的错误信息
&& 2、如果&head&&/head&之间加上&s:head/&,&s:actionerror /&和&s:fielderror /&会自动加上CSS
&&&&& &s:actionmessage/&则不会加载.
浏览: 26031 次
来自: 大连
更新哪些jar包啊?能否把jar包给我发来一下?谢谢了!334 ...
增加下面那几个参数有什么作用?
你们这俩个写法有什么区别
说的很正确,但是我是这么配的
&Context&s:actionmessage/&标签展示Action信息 - 编程当前位置:& &&&&s:actionmessage/&标签展示Action信息&s:actionmessage/&标签展示Action信息&&网友分享于:&&浏览:209次&s:actionmessage/&标签显示Action信息
用&s:actionmessage/&标签显示Action信息时,有一个要注意的地方,就是相应Action的配置&!-- 修改帐号密码 --&
&action name="updatePassword" class="userAction" method="updatePassword"&
&result name="input"&/account/updatePassword.jsp&/result&
&result name="success" type="redirect" &/account/updatePassword.jsp&/result&
注意:如果将result标签的type属性设置为redirect则在Action即使使用了addActionMessage(getText("updatePassword.success"));
addActionMessage(super.getText(e.getMessage()));
在jsp页面也不能显示相应的信息
ActionMessage里的值怎么在jsp页面alert出来?
首先得明白一点,ActionMessage是struts后台的对象,而alert是网页前台的东西最方便的方法是直接把ActionMessage的值使用标签输出到页面中的某一个div或span元素中(注意,要隐藏)
然后在需要alert的地方,得到这个div的innerHTML即可。
&span id="message" style="display:"&
&s:actionmessage /&
&/span&&/body&
var msg=document.getElementById("message").innerHTML
alert(msg);
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有ActionMessage如何在JSP页面中弹出错误提示框(JS···)
ActionMessage如何在JSP页面中弹出错误提示框(JS···) 15
不区分大小写匿名
this.addActionMessage("&script&alert('系统繁忙,请稍候再试!');&/script&");用这样试试吧。。。
不行···
你是不是想到页面跳转成功以后alert一条信息啊???
我现在就是用alert,不过按浏览器的后退键后仍然出现一条alert信息,这效果让我不爽,有没有其他方法···结合validator验证框架的最好
在action里用request保存错误信息
然后在JSP页面使用javascript和el表达式
比如request.setAttribute("errorMSG","密码错误!");
if(!${emty errorMSG}){
alert(${errorMSG});
//就弹出错误信息了
我用的是ActionMessage对象来保存错误
网上查到的在前台都是直接网页提示的,没有看到有JS提示··
不晓得你是不是用的struts2是的话,可以使用this.addFieldError(&birthday&,&birthday invalid&);还可以使用request.setAttribute(&errorMSG&,&密码错误!&);再在前天页面使用逻辑标签判断下,就可以了;你要是硬要使用actionmessage,这个我用的少,但原来应该和addFieldError是一样的,没显示出来,你可以先调试,看是不是有执行。要是有说明已经装进去了,那就是你的前台页面的问题了
struts1.3````
怎么提示错误我知道,只是不知道怎么用js弹出框的形式提示
1.3你要想用js里面那种alert的方式弹出来吗?恩。这个我没写过,但是据我所知,ext可以做到。但是一般我用ext用的少,因为ext太大了。我建议你再前台用一个隐藏的文本域先接受后台的信息,在在JS里面区内容弹出。你觉得怎么样呢?
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号Struts2项目action clas-中国学网-中国IT综合门户网站
> 信息中心 >
Struts2项目action clas
来源:互联网 发表时间: 15:54:05 责任编辑:鲁晓倩字体:
为了帮助网友解决“Struts2项目action clas”相关的问题,中国学网通过互联网对“Struts2项目action clas”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:Struts2项目action class 一旦extends ActionSupport就会在第一行报错,具体解决方案如下:解决方案1:jdk版本是哪个java ee换成6解决方案2:嗯 我已经知道了 我刚开始用的1.8 刚刚偶然在同学U盘里看到他的jdk安装包是1.6的 突然想到会不会是jdk版本问题 然后我就换成1.6 就好了 不过我想知道为什么。。。解决方案3:这不是很明显吗 struts2版本与jdk版本不适用 你可以考虑把strtus2版本提高下解决方案4:我这是昨天刚下的 struts2.3.16.1的 我一想这是最新的应该不会不兼容的。。。解决方案5:这我就不清楚了 我一直用jdk1.6、1.7的,能开发够用了! 1.8的我还没用过。struts2和jdk1.8能不能一起用只是时间问题。
2个回答6个回答2个回答2个回答1个回答1个回答4个回答3个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号}

我要回帖

更多关于 actionbar 添加搜索框 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信