Struts:为什么在Form里不显示登录失败时返回的ActionErrors 信息,这个问题让我困扰了好几天,试过了网上提的各种方法,都无法显示,真快要让我疯狂了~~~~然而今天突然发现,其实,很简单的原因,没有在WEB.XML里配置~~~~~~
我以前以为这些都是要struts配置文件里配置的,网上的人也都一样在说这个,却几乎没人提到,还要在WEB.XML里设置applicationresources,具体就是在WEB.XML里加上一个参数配置:
在<servlet>里加下以下内容
<init-param>
<param-name>application</param-name>
<param-value>applicationresources</param-value> ==>这里就是applicationresources资源文件的路径
</init-param>在struts里也要配置,一般人都知道了,和上面的内容相似,如下:在<struts-config>里加下 以下内容
<message-resources
parameter="ApplicationResources" />如果要验证,还要加下验证的配置文件,也是在<struts-config>里,如下:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" ==>这个是验证的配置文件,多个之间用逗号分开
property="pathnames" />
</plug-in>然后,就可以在Form 的validate()方法里通过
ActionErrors errs = new ActionErrors();
errs.add("uname", new ActionMessage("资源文件里的资源名字", "资源里的参数值"));
return errs;
来验证表单,如果出错,就返回到来源JSP页面,JSP页面里就会通过 <html:errors property="uname" /> 这样的东西来显示出来
这个问题,是来自我做的登录时,想通过JSP显示登录失败的信息,可是后来发现在Form里的验证函数里validate()使用return errs;后,在JSP页面里不能得到相关的信息 于是到网上找了好几天,都没找到解决问题的办法.今天,想试一下多国语言开发,使用多国资源文件时,发现也不能显示ApplicationResources里的信息,而且还报错误: Missing message for key 为此才真正找到了原因,就是没有在WEB.XML里配置ApplicationResources,狂晕~~~~~~
Tags: struts JSP 框架 |
原创文章如转载,请注明:转载自:巴士飞扬-技术BLOG : http://www.busfly.net/
本文链接地址:http://www.busfly.net/post/Struts-Form-ActionErrors-validate.html
如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。
好东西需要分享,快把本文发给你的朋友吧~!~