struts2中的多个action可以写到一个类吗?该怎么处理
struts2中的多个action可以写到一个类吗?
简单的用户注册登录案例吧,
之前我是一个action对应一个类,那个类中只有一个方法,比如:
后来换了另一种方式,就是每个action对应一个类的相对的方法
但是出现错误,就是采用后者的方式,每次action返回的都是“input”,而且action对应的类方法并没有执行(亲试)。
是不是由于每个action的对应的属性问题呢?
必须一个action对应一个类,而不是一个action对应一个方法吗?
------解决方案--------------------
用配置文件就这样
配置文件
------解决方案--------------------
你的form中有没有指定 method=""? 超链接就你的action!方法名,还有我有点奇怪,你为什么不用*号通配符?就写一个就行了比如
<action name="*" class="WU.WEBTutor.Action.StudentAction"
method="{1}">
<result name="input">student{1}.jsp</result>
<result name="success">success.jsp</result>
</action>
简单的用户注册登录案例吧,
之前我是一个action对应一个类,那个类中只有一个方法,比如:
<action name="Register" class="WU.WEBTutor.Action.StudentRegister"
method="register">
<result name="input">studentRegister.jsp</result>
<result name="success">success.jsp</result>
</action>
<action name="Login" class="WU.WEBTutor.Action.StudentLogin"
method="login">
<result name="input">studentLogin.jsp</result>
<result name="success">success.jsp</result>
</action>
<action name="FindAllStudents" class="WU.WEBTutor.Action.FindAllStudents"
method="findAllStudents">
<result name="success">showAllStudents.jsp</result>
<result name="input">studentLogin.jsp</result>
</action>
后来换了另一种方式,就是每个action对应一个类的相对的方法
<action name="Register" class="WU.WEBTutor.Action.StudentAction"
method="register">
<result name="input">studentRegister.jsp</result>
<result name="success">success.jsp</result>
</action>
<action name="Login" class="WU.WEBTutor.Action.StudentAction"
method="login">
<result name="input">studentLogin.jsp</result>
<result name="success">success.jsp</result>
</action>
<action name="FindAllStudents" class="WU.WEBTutor.Action.StudentAction"
method="findAllStudents">
<result name="success">showAllStudents.jsp</result>
<result name="input">studentLogin.jsp</result>
</action>
但是出现错误,就是采用后者的方式,每次action返回的都是“input”,而且action对应的类方法并没有执行(亲试)。
是不是由于每个action的对应的属性问题呢?
必须一个action对应一个类,而不是一个action对应一个方法吗?
------解决方案--------------------
用配置文件就这样
配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="UTF-8" />
<package name="cus" namespace="/" extends="struts-default">
<!-- action name="customerAction" class="com.zuxiang.action.Login" method="findAll" >
<result name="success">/list.jsp</result>
</action -->
<action name="customerAction2" class="com.zuxiang.action.Login" method="login">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
------解决方案--------------------
你的form中有没有指定 method=""? 超链接就你的action!方法名,还有我有点奇怪,你为什么不用*号通配符?就写一个就行了比如
<action name="*" class="WU.WEBTutor.Action.StudentAction"
method="{1}">
<result name="input">student{1}.jsp</result>
<result name="success">success.jsp</result>
</action>