Hi guys,
I am having some strange issues trying to upgrade from struts 2.0 to 2.1.
I have this simple login form
<html>
<head><title>Simple jsp page</title></head>
<body>
<s:form action="Login" theme="simple" method="post">
<table>
<tr>
<td>Username</td>
<td><s:textfield name="username"></s:textfield> </td>
</tr>
<tr>
<td>Password</td>
<td><s:password name="password"></s:password></td>
</tr>
<tr>
<td colspan="2"><s:submit value="Login"></s:submit> </td>
<tr>
</table>
</s:form>
</body>
</html>
which seems to get rendered as.
<html>
<head><title>Simple jsp page</title></head>
<body>
<form id="Login" name="Login" action="/reddragon/Login.xhtml"
method="post">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username" value=""
id="Login_username"/> </td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"
id="Login_password"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" id="Login_0"
value="Login"/>
</td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
</table>
</form>
</body>
</html>
After going through the struts 2.1 filter. Web.xml is set up the following
way
<display-name>Red Dragon</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
and struts.xml is setup this way
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="reddragon" namespace="" extends="struts-default">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult"></result-type>
</result-types>
<!-- Add actions here -->
<action name="Login" class="com.castle.webapp.actions.LoginAction"
method="login">
<result name="success" type="tiles">mainpage</result>
<result name="input">index.jsp</result>
</action>
</package>
</struts>
I suspect on the the gazillions of plugins jars that I downloaded with 2.1
is getting in the way. I have no explanation why that form action is set to
xhtml and not a .action.
The form of course does not work when I submit and gives me the following
error
java.lang.NoSuchMethodException:
com.castle.webapp.actions.LoginAction.create()
java.lang.Class.getMethod(Class.java:1605)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
What is this create method and why is it looking for a create method?
Thanks.
--
View this message in context:
http://www.nabble.com/problems-upgrading-from-struts-2.0-to-2.1-tp23638049p23638049.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]