struts里错误信息的返回 我有一个用户名和密码的登录程序,我现在想修改密码,我想在台的ACTION里和数据库验证原密码是否相等,如果不相同,就在密码修改的是页面上显示“原密码不相同,重新输入原密码‘,请问这个信息怎么返回啊,代码该怎么写啊?我用的是STRUTS 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 导入<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>用这标签<html:errors property="name"/> STRUTS有验证机制 在Form中的直接用errors.add("pwwrong",new ActionMessage("password.wrong"));就可以保存,然后在页面中用<html:errors/>输出就可以了 在Action中要添加错误信息的话需要 ActionMessages errors来新建errors,在用errors.add("pwwrong",new ActionMessage("password.wrong"));把需要添加的错误都添加完成后需要用super.save(request,errors)来保存,否则用<html:errors/>输出的时候就不会输出action中保存的错误信息 试下 举个例子:ActionForm中的validate方法 public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) { ActionErrors errors=new ActionErrors(); if(name==null||name.length()==0){ errors.add("name",new ActionError("system.errors.null","name")); } if(password==null||password.length()==0){ errors.add("password",new ActionError("system.errors.null","password")); } if(sex==null||sex.length()==0){ errors.add("sex",new ActionError("system.errors.null","sex")); } if(age==0){ errors.add("age",new ActionError("system.errors.null","age")); } return errors; }在jsp页面,用<html:errors/>显示,当然你得先引入struts的标签库另外,struts1.2中不建议使用ActionError类而直接用它的父类ActionMessage代替 你可以在bean中定义一个字符窜,当发生错误时在action中给这个字符串赋值(就是你要打出来的消息),再用request返回到页面,jsp用<logic:present>来判断是否有这个值,有值的话就把消息打出来。没有值的话消息就不不打出来。 不一定要在validate里抛ActionMessages,业务逻辑的消息和错误信息也可以抛 Struts中ActionForm的验证机制一般来讲是不要用来验证业务逻辑的,如果把业务逻辑代码写在了ActionForm里面是违背了Struts的初衷。根据楼主的需求最好是用ajax来处理。这个即可以传回验证信息,也不会刷新页面。 楼上说的才是王道!!AJAX验证!! java 初学者..过来看看..顶下 1楼 3楼 4楼说得很详细还要在ApplicationResources.properties中进行配置可以上网搜搜主要是使用ActionErrors(在ActionForm中)和ActionMessages(在Action中)抛出错误,然后用标签在前台显示 可以用STRUTS自带的错误返回 也可以用AJAX提交用户名和密码判断完之后返回个结果再由JS提示错误。。 struts的验证机制 好好学下 就知道怎么整了一句两句说不清楚 你在Action中加这么个方法,(或者写个AbstractAction,加入这个方法,让Action继承AbstractAction)protected void saveDirectlyError(HttpServletRequest request, String message) { ActionMessages errors = new ActionMessages(); errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(message,false)); saveErrors(request, errors); }然后在你Action的方法判断中加入:this.saveDirectlyError(request, "您已经处理登陆状态,请不要再次登陆!");页面上:<html:messages id="msg" message="false"> <bean:write name="msg"/></html:messages> 最简单的,做一个判断,放request里面返回jsp页面 呵呵 ,那如果使用struts2呢,怎么使用? 关于正则表达式与java函数结合使用的问题 jsp 如何调用ireport生成的jrxml文件 下拉 struts找不到index.do? 我开发struts遇到的问题 怎么在客户端地址栏中显示正确的URL <jsp:include >小问题?请各位大虾指教 servlet读取xml,xml放在哪? 用什么技术可以预览一个html的网页? 初学,请问JSWDK是否也是一种应用服务器呢? 求个带预览功能的上传控件!!! 关于一个ognl的一简单问题
用这标签<html:errors property="name"/>
STRUTS有验证机制
ActionMessages errors来新建errors,在用errors.add("pwwrong",new ActionMessage("password.wrong"));把需要添加的错误都添加完成后需要用super.save(request,errors)来保存,否则用<html:errors/>输出的时候就不会输出action中保存的错误信息
试下
ActionForm中的validate方法
public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
ActionErrors errors=new ActionErrors();
if(name==null||name.length()==0){
errors.add("name",new ActionError("system.errors.null","name"));
}
if(password==null||password.length()==0){
errors.add("password",new ActionError("system.errors.null","password"));
}
if(sex==null||sex.length()==0){
errors.add("sex",new ActionError("system.errors.null","sex"));
}
if(age==0){
errors.add("age",new ActionError("system.errors.null","age"));
}
return errors;
}在jsp页面,用<html:errors/>显示,当然你得先引入struts的标签库另外,struts1.2中不建议使用ActionError类而直接用它的父类ActionMessage代替
还要在ApplicationResources.properties中进行配置
可以上网搜搜
主要是使用ActionErrors(在ActionForm中)和ActionMessages(在Action中)抛出错误,然后用标签在前台显示
一句两句说不清楚
protected void saveDirectlyError(HttpServletRequest request, String message) {
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(message,false));
saveErrors(request, errors);
}
然后在你Action的方法判断中加入:
this.saveDirectlyError(request, "您已经处理登陆状态,请不要再次登陆!");
页面上:
<html:messages id="msg" message="false">
<bean:write name="msg"/>
</html:messages>