<package name="caicai" namespace="/haha" extends="struts-default">
<action name="AAA" class="cn.itcast.action.LoginAction" method="login">
<result name="success">/success.jsp</result> //请求转发
<result name="failer" type="redirect">/failer.jsp</result> //重定向(或其他指定的跳转方式)
</action>
</package>
<form action="${pageContext.request.contextPath}/haha/AAA" method="post">
用户名:<input type="text" name="username"></br>
密码: <input type="text" name="password"></br>
<input type="submit" value=LOGIN>
</form>
public class LoginAction{
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String login() {
if("tom".equals(username) && "123".equals(password)) {
return "success";
}else {
return "failer";
}
}
}
在struts2框架中使用包来管理Action,包的作用和Java中的类包是非常类似的,它主要用于管理一组业务功能相关的action。在实际应用中,我们应该把一组业务功能相关的Action放在同一个包下。
package配置
- name属性 作用:定义一个包的名称,它必须唯一。
- namespace属性 作用:主要是与action标签的name属性联合使用来确定一个action 的访问路径
- extends属性 作用:指定继承自哪个包。一般值是strtus-default
- strtus-default包是在strtus-default.xml文件中声明的。
- abstruct属性 它代表当前包是一个抽象的,主要是用于被继承
action配置
- name属性 作用:主要是与package的namespace联合使用来确定一个action的访问路 径
- class属性 作用:用于指示当前的action类
- method属性 作用:用于指示当前的action类中的哪个方法执行
result配置
它主要是用于指示结果视图
- name属性 作用是与action类的method方法的返回值进行匹配,来确定跳转路径
- type属性 作用是用于指定跳转方式