struts2.1.6,代码和错误信息如下,Google了好久没有结果,请高手指点
RegisterAction.java 1. package com.test.action;
2.
3. import java.util.Calendar;
4. import java.util.Date;
5.
6. import com.opensymphony.xwork2.ActionSupport;
7.
8. public class RegisterAction extends ActionSupport{
9.
10. private String username;
11.
12. private String password;
13.
14. private String repassword;
15.
16. private int age;
17.
18. private Date birthday;
19.
20. private Date graduation;
21.
22. public int getAge() {
23. return age;
24. }
25.
26. public void setAge(int age) {
27. this.age = age;
28. }
29.
30. public Date getBirthday() {
31. return birthday;
32. }
33.
34. public void setBirthday(Date birthday) {
35. this.birthday = birthday;
36. }
37.
38. public Date getGraduation() {
39. return graduation;
40. }
41.
42. public void setGraduation(Date graduation) {
43. this.graduation = graduation;
44. }
45.
46. public String getPassword() {
47. return password;
48. }
49.
50. public void setPassword(String password) {
51. this.password = password;
52. }
53.
54. public String getRepassword() {
55. return repassword;
56. }
57.
58. public void setRepassword(String repassword) {
59. this.repassword = repassword;
60. }
61.
62. public String getUsername() {
63. return username;
64. }
65.
66. public void setUsername(String username) {
67. this.username = username;
68. }
69.
70. public String execute() throws Exception{
71. return SUCCESS;
72. }
73.
74. public void validate() {
75. if(null == username || username.length() < 6 || username.length() > 10) {
76. this.addFieldError("username","用户名不合法!");
77. }
78. if(null == password || password.length() <6 || password.length() > 10) {
79. this.addFieldError("password", "密码不合法!");
80. } else if(null == repassword || repassword.length() <6 || repassword.length() > 10) {
81. this.addFieldError("repassword", "重复密码不合法!");
82. } else if(!password.equals(repassword)) {
83. this.addFieldError("password", "两次密码不一致!");
84. }
85. if(age < 0 || age >150) {
86. this.addFieldError("age", "年龄不合法!");
87. }
88. if(null == birthday) {
89. this.addFieldError("birthday", "生日不能为空!");
90. }
91. if(null == graduation) {
92. this.addFieldError("graduation", "毕业时间不能为空!");
93. }
94. if(null != birthday && null != graduation) {
95. Calendar c1 = Calendar.getInstance();
96. c1.setTime(birthday);
97.
98. Calendar c2 = Calendar.getInstance();
99. c2.setTime(graduation);
100.
101. if (!c1.before(c2)) {
102. this.addFieldError("birthday", "毕业时间不能早于生日!");
103. }
104. }
105. }
106.
107.
108. }
register2.jsp 1. <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
2. <%@ taglib prefix="s" uri="/struts-tags" %>
3. <%
4. String path = request.getContextPath();
5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6. %>
7.
8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
9. <html>
10. <head>
11. <base href="<%=basePath%>">
12.
13. <title>My JSP 'register2.jsp' starting page</title>
14.
15. <meta http-equiv="pragma" content="no-cache">
16. <meta http-equiv="cache-control" content="no-cache">
17. <meta http-equiv="expires" content="0">
18. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
19. <meta http-equiv="description" content="This is my page">
20. <!--
21. <link rel="stylesheet" type="text/css" href="styles.css">
22. -->
23.
24. </head>
25.
26. <body>
27. <s:form action="register" method="post">
28.
29. <s:textfield name="username" label="username"></s:textfield>
30. <s:password name="password" label="password"></s:password>
31. <s:password name="repassword" label="repassword"></s:password>
32. <s:textfield name="age" label="age"></s:textfield>
33. <s:textfield name="birthday" label="birthday"></s:textfield>
34. <s:textfield name="graduation" label="graduation"></s:textfield>
35. <s:submit label="submit"></s:submit>
36.
37. </s:form>
38.
39. </body>
40. </html>
struts.xml 部分 1. <action name="register" class="com.test.action.RegisterAction">
2. <result name="success">/inputcheck/success.jsp</result>
3. <result name="input">/inputcheck/register2.jsp</result>
4. </action>
RegisterAction.java 1. package com.test.action;
2.
3. import java.util.Calendar;
4. import java.util.Date;
5.
6. import com.opensymphony.xwork2.ActionSupport;
7.
8. public class RegisterAction extends ActionSupport{
9.
10. private String username;
11.
12. private String password;
13.
14. private String repassword;
15.
16. private int age;
17.
18. private Date birthday;
19.
20. private Date graduation;
21.
22. public int getAge() {
23. return age;
24. }
25.
26. public void setAge(int age) {
27. this.age = age;
28. }
29.
30. public Date getBirthday() {
31. return birthday;
32. }
33.
34. public void setBirthday(Date birthday) {
35. this.birthday = birthday;
36. }
37.
38. public Date getGraduation() {
39. return graduation;
40. }
41.
42. public void setGraduation(Date graduation) {
43. this.graduation = graduation;
44. }
45.
46. public String getPassword() {
47. return password;
48. }
49.
50. public void setPassword(String password) {
51. this.password = password;
52. }
53.
54. public String getRepassword() {
55. return repassword;
56. }
57.
58. public void setRepassword(String repassword) {
59. this.repassword = repassword;
60. }
61.
62. public String getUsername() {
63. return username;
64. }
65.
66. public void setUsername(String username) {
67. this.username = username;
68. }
69.
70. public String execute() throws Exception{
71. return SUCCESS;
72. }
73.
74. public void validate() {
75. if(null == username || username.length() < 6 || username.length() > 10) {
76. this.addFieldError("username","用户名不合法!");
77. }
78. if(null == password || password.length() <6 || password.length() > 10) {
79. this.addFieldError("password", "密码不合法!");
80. } else if(null == repassword || repassword.length() <6 || repassword.length() > 10) {
81. this.addFieldError("repassword", "重复密码不合法!");
82. } else if(!password.equals(repassword)) {
83. this.addFieldError("password", "两次密码不一致!");
84. }
85. if(age < 0 || age >150) {
86. this.addFieldError("age", "年龄不合法!");
87. }
88. if(null == birthday) {
89. this.addFieldError("birthday", "生日不能为空!");
90. }
91. if(null == graduation) {
92. this.addFieldError("graduation", "毕业时间不能为空!");
93. }
94. if(null != birthday && null != graduation) {
95. Calendar c1 = Calendar.getInstance();
96. c1.setTime(birthday);
97.
98. Calendar c2 = Calendar.getInstance();
99. c2.setTime(graduation);
100.
101. if (!c1.before(c2)) {
102. this.addFieldError("birthday", "毕业时间不能早于生日!");
103. }
104. }
105. }
106.
107.
108. }
register2.jsp 1. <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
2. <%@ taglib prefix="s" uri="/struts-tags" %>
3. <%
4. String path = request.getContextPath();
5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6. %>
7.
8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
9. <html>
10. <head>
11. <base href="<%=basePath%>">
12.
13. <title>My JSP 'register2.jsp' starting page</title>
14.
15. <meta http-equiv="pragma" content="no-cache">
16. <meta http-equiv="cache-control" content="no-cache">
17. <meta http-equiv="expires" content="0">
18. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
19. <meta http-equiv="description" content="This is my page">
20. <!--
21. <link rel="stylesheet" type="text/css" href="styles.css">
22. -->
23.
24. </head>
25.
26. <body>
27. <s:form action="register" method="post">
28.
29. <s:textfield name="username" label="username"></s:textfield>
30. <s:password name="password" label="password"></s:password>
31. <s:password name="repassword" label="repassword"></s:password>
32. <s:textfield name="age" label="age"></s:textfield>
33. <s:textfield name="birthday" label="birthday"></s:textfield>
34. <s:textfield name="graduation" label="graduation"></s:textfield>
35. <s:submit label="submit"></s:submit>
36.
37. </s:form>
38.
39. </body>
40. </html>
struts.xml 部分 1. <action name="register" class="com.test.action.RegisterAction">
2. <result name="success">/inputcheck/success.jsp</result>
3. <result name="input">/inputcheck/register2.jsp</result>
4. </action>
解决方案 »
- 怎么设置图片不重复啊
- Spring 国际化问题
- 谁能来说下权限系统的思路
- spring+hibernate+struts 如何从 jsp 页面上获得spring DAO中的方法
- 问一下。我要在TOMCAT下做一个墨认的工程,然后在IE上一输http:/localhost:8080就可以找到我的页面index.jsp是要在那里进行设置呀??
- jsp,javaBean中日志如何管理?log4j
- 关于struts的简单的问题!
- Eclipse 如何将lomboz插件挂上?可不可以请大家教我一下,谢谢!
- 在家帮我看看这段代码哪错了?
- 关于远程调用方法中RMI的问题
- 页面信息是通过哪个语句传递给ActionServlet的,在配置文件中需要配置么?
- Java过时类的取代问题
ognl.MethodFailedException: Method "setAge" failed for object com.test.action.RegisterAction@14aa2db [java.lang.NoSuchMethodException: setAge([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:823)
at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:964)
at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:75)
at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:131)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:28)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:50)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
at ognl.SimpleNode.setValue(SimpleNode.java:246)
at ognl.Ognl.setValue(Ognl.java:476)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:273)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
java.lang.NoSuchMethodException: setAge([Ljava.lang.String;)
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:810)
at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:964)
at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:75)
at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:131)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:28)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:50)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
at ognl.SimpleNode.setValue(SimpleNode.java:246)
at ognl.Ognl.setValue(Ognl.java:476)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:273)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
\--------------------------------------/它提示的方法我写了,可是为什么还是报错了呢?
谢谢~
int改成Internet是不报错了,但是为什么用int就会报错呢?这个我还是搞不清楚.
初始化的时候 有时出现null初始化,所以容易报错,
特别是反射的时候。