spring struts2 整合用注解方式
Struts2.xml<struts><packagename="user"namespace="/manage"extends="struts-default"><ac...
Struts2.xml
<struts>
<package name="user" namespace="/manage" extends="struts-default">
<action name="user_*" class="userAction" method="{1}">
<result name="success" type="redirectAction">user_queryAllUser.action</result>
<result name="input">/manage/index.jsp</result>
<result name="userList">/manage/userList.jsp</result>
<result name="addUser">/manage/userAdd.jsp</result>
<result name="updateUser">/manage/userUpdate.jsp</result>
</action>
</package>
</struts>
spring.xml里有注解配置
<context:annotation-config />
<context:component-scan base-package="com.ziteng.zv"></context:component-scan>
UserAction
@Controller
@Scope("prototype")
public class UserAction extends ActionSupport {
public String execute() throws Exception {
return null;
}
public String login() {
return SUCCESS;
}
}
index.jsp
<center>
<h1>用户登录</h1>
<s:form action="user_login" namespace="/manage" method="post">
<s:textfield label="用户名" name="user.username"></s:textfield>
<s:password label="密码" name="user.password"></s:password>
<s:submit value="登录"></s:submit>
</s:form>
</center>
我想问 在struts.xml的class=“userAction”, 在action类中 @Controller 注解方式注册到spring里的<bean> 默认就是以小写开头的userAction吗? 展开
<struts>
<package name="user" namespace="/manage" extends="struts-default">
<action name="user_*" class="userAction" method="{1}">
<result name="success" type="redirectAction">user_queryAllUser.action</result>
<result name="input">/manage/index.jsp</result>
<result name="userList">/manage/userList.jsp</result>
<result name="addUser">/manage/userAdd.jsp</result>
<result name="updateUser">/manage/userUpdate.jsp</result>
</action>
</package>
</struts>
spring.xml里有注解配置
<context:annotation-config />
<context:component-scan base-package="com.ziteng.zv"></context:component-scan>
UserAction
@Controller
@Scope("prototype")
public class UserAction extends ActionSupport {
public String execute() throws Exception {
return null;
}
public String login() {
return SUCCESS;
}
}
index.jsp
<center>
<h1>用户登录</h1>
<s:form action="user_login" namespace="/manage" method="post">
<s:textfield label="用户名" name="user.username"></s:textfield>
<s:password label="密码" name="user.password"></s:password>
<s:submit value="登录"></s:submit>
</s:form>
</center>
我想问 在struts.xml的class=“userAction”, 在action类中 @Controller 注解方式注册到spring里的<bean> 默认就是以小写开头的userAction吗? 展开
2个回答
展开全部
@Controller默认产生的Bean的name就是类(UserAction)的第一个字母小写(userAction)。
当然你也可以自己设定啊,@Controller("uu"),这样就<action name="user_*" class="uu" method="{1}">
当然你也可以自己设定啊,@Controller("uu"),这样就<action name="user_*" class="uu" method="{1}">
追问
@Controller不是spring mvc的注解 在struts2不是用@Action吗 有什么区别吗
追答
Spring中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。
@Service用于标注业务层组件,
@Controller用于标注控制层组件(如struts中的action),
@Repository用于标注数据访问组件,即DAO组件,
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询