1.ActionMessage是不是ActionError?2.(username == null || username.equals(""))
解决方案 »
- Jtabbedpane指定选项卡中添加一个新的panel
- struts2 子目录jsp File "/struts-tags" not found,根目录就没错这是为什么啊?
- 对Java一无所知,两周内能弄明白SSH框架吗?
- 如何在jtable 中添加右键弹出菜单
- 初学hibernate编程,我的第一个例程,自己不会调试,请高手指点一下
- 请问谁有J2EE的(2合1)的帮助文档,就是整全J2SE和J2EE的文档,中英文都可是,最好是英文的
- log4j配置的问题
- 各种数据库中,如何读取前10条记录?
- JTable中如何实现拉下方滚动条时始终显示前若干列啊???
- 如何分析jboss中的包
- 奇怪啊!使用JSTL后,总是显示错误,但是运行却没有问题.
- 急啊!!!!数据层中无法实例化WebServices中的Bean对象吗????????
如果提示出错为can't find error.userName.
孙卫琴的书
要慢慢看啊。我刚看完。
诊断结果:误导建议楼主把完整的/helloapp/version1/下的helloapp烤到
服务器目录下。
不要着急,如果你手上拿着书,看书吧。
ActionErrors errors = new ActionErrors();
errors.add(ActionErrors.GLOBAL_ERROR, new ActionMessage("errors.password"));
saveErrors(request, errors);
你在原有的文件夹里改你的程序。
不要另起炉灶。而且莫心急。
看不懂得跳过去,回头再看你就明白了。为了解你一是燃眉之急。从这里看看:
出错后页面会跳转到
在struts-config文件中<action>元素的input值
检查一下,看看你是否存在这个页面。今天头特别疼,不想编程。陪大家聊天吧:)
ActionErrors errors = new ActionErrors();
if ((username == null) || (username.length() < 1))
errors.add("username", new ActionError("hello.no.username.error"));//错在此行 return errors;
因为ActionErrors 类(查手册才知道的)的方法为add(java.lang.String property, ActionError error) 而不是
add(java.lang.String property, ActionMessage error),不知道孙小姐是怎样调试通的,哈哈!顺便问一下:我是用jb2005学做struts的,用Tomcat5做服务器,每当一个页面改动时,我就把新的程序copy过来覆盖Tomcat5/webapps下原来的程序,再从新启动Tomcat,每次都这样样做很不方便,请问你们是怎样做的,有没有更好的方法?
见孙卫琴的书25页
if ((username == null) || (username.length() < 1))
errors.add("username", new ActionMessage("hello.no.username.error"));//对我也觉得是错在这句,把ActionMessage换成ActionError就没事了,我也照着孙的书用Message可怎么也过不了,换成Error就没事了。 return errors;
下面是我的一段代码:(可以运行)
try{
anAccountData = new AccountDataBean();
if(!((anAccountData.newAccount(anAccount)))){
errors.add("insert",
new ActionMessage("error.insert.failed"));
};
}
catch(SQLException sqlex){
System.out.println("this is processing newAccount catch method");
System.err.println(sqlex.getMessage());
sqlex.printStackTrace();
}
if(!errors.isEmpty()){
saveErrors(request,errors);
return (new ActionForward(mapping.getInput()));
}
”
这句话有根据吗?
--------------------Configuration: adminGUI - j2sdk1.4.2_04 <Default> - <Default>--------------------
Note: C:\jakarta-tomcat-5.0.24\webapps\forms\GroupSelectForm.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.Process completed.
ActionErrors errors = new ActionErrors();
errors.add("username", new ActionMessage("hello.no.username.error"));
了
http://struts.apache.org/api/org/apache/struts/action/ActionError.html调用在Action基类中定义的saveErrors()方法,配合一起使用,这样不会出现错误。
ActionErrors errors = new ActionErrors();
if ( !(username != null && username.length() >0 ) )
errors.add("username", new ActionMessage("hello.no.username.error"));
return errors;
Struts1.2是要去掉ActionError的,但我没有证实.
还有ActionErrors的add方法实际上是被重载的,包括父类ActionMessages的add(String,ActionMessage)和本身的add(String,ActionError)
Struts其实并不是最好的MVC框架!
但开源的东西毕竟是有前途的,好好学吧!楼主
因为通过Globals.MESSAGE_KEY,Globals.ERROR_KEY就能都区分是错误信息还是一般的正常信息。
----------------------------------------------------------------------------------------
楼主对JBuilder2005不熟啊!其实JBuilder2005内置了Tomcat5.0.27,使用方法如下:
在Project-->Project Properties中将Server改为Tomcat 5后,将运行条件改为Server,
并使用Tomcat 5.如不明白,看一下JBuilder帮助.
当调用add方法时传入的第二个参数ActionError,会调用ActionErrors的哪一个add方法?
add(String,ActionError)?还是add(String,ActionMessage)?别忘了:ActionError是可以
隐式向上转型为ActionMessage的.Struts的框架设计者们,好象也犯了低级错误?:)
if ((username == null) || (username.length() < 1))
errors.add("username", new ActionMessage("hello.no.username.error"));return errors;
------------------------------------------------------------------------
如果你的username==null,那么username.length()就会报NullPointException,因为username没有初始化。
判断语句也不会有问题,因为如果username==null就直接返回true,不会再判断username.length(),这是Java语法的机制。所以出错原因可能在其它方面,楼主没有帖出出输出的异常信息,根本是无法判断的。
可以检查一下资源文件里hello.no.username.error对应的字符串有没有设。
我用的是Eclipse3.0+myEclipse+Tomcat5.0
在调这个HELLO程序时也是出现这个问题,最后用代换法,才知道是STRUTS的版本问题
用书带的JAR是没问题的,但用MyEclipse带的包就有问题了现在想知道到底1.2中用那个类?如何写才正确?
好象楼上大多数兄台都只是想当然的结果,没有实际试过啊TO:楼主,看信息
ActionErrors之所以有add(String,ActionError)和add(String,ActionMessage)
是因为ActionErrors已经不被推荐了,才会多出add(String,ActionMessage)这个方法,
因为struts1.2需要过渡一下,上下兼容。
卫琴同志把书中的例子拿过来,然后把
actionerrors--->actionmessages
actionerror---->actionmessage
就成了她书中的例子了。
结果坑了一批人。罪过
我想查看一下页面运行结果,结果一回车,显示的却是页面里的代码,而不是运行结果?