1.Struts 基础配置
第一步创建 Struts 项目,添加依赖包...
这一步网上有很多资料,请自行查阅。
别忘记在 web.xml 文件中配置 Struts
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在项目 src 文件夹下创建 struts.xml 配置文件
![](https://img.haomeiwen.com/i4940395/51d607ed8feb02b2.png)
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!--name 配置包名 -->
<package name="mypage" namespace="/" extends="struts-default">
<action name="RegistAction" class="com.ws.action.RegistAction" method="execute" >
<!-- type = redirect 重定向-->
<result name="success" type="redirect">/login.jsp</result>
<result name="error" type="redirect">/404.jsp</result>
</action>
</package>
</struts>
配置包名随便写,namespace 是固定的, method 这个属性值填的是在Action中自己定义的方法,贴上代码一看就知道。至于 result 里面是通过execute 方法的返回值进行重定向。这便是创建 Action 的第一种方式
public class RegistAction extends ActionSupport implements ModelDriven<User> {
public User user=new User();
public String execute() throws Exception{
UserService userService=new UserService();
HttpServletRequest request = ServletActionContext.getRequest();
String username= request.getParameter("username");
String password= request.getParameter("password");
int age =Integer.parseInt(request.getParameter("age"));
String sex=request.getParameter("sex");
boolean isSucess=userService.register(username,password,age,sex);
if (isSucess){
System.out.println("success");
return "success";
}else {
System.out.println("error");
return "error";
}
}
@Override
public User getModel() {
return null;
}
}
2.第二种
注意不是继承的 ActionSupport ,而是实现了 Action接口。
public class RegistAction2 implements Action{
public String execute() throws Exception {
// TODO Auto-generated method stub
....此处省略很多代码
boolean isSucess=userService.register(username,password,age,sex);
if (isSucess){
System.out.println("success");
return "success";
}else {
System.out.println("error");
return "error";
}
}
}
3.第三种
直接创建一个类,不继承和实现任何接口
public class RegistAction3 {
public String execute() {
if (isSucess){
System.out.println("success");
return "success";
}else {
System.out.println("error");
return "error";
}
}
}
下面贴出三种的 struts.xml 文件配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!--name 配置包名 -->
<package name="mypage" namespace="/" extends="struts-default">
<!--name 第一种 -->
<action name="RegistAction" class="com.ws.action.RegistAction" method="execute" >
<!-- type 才回去重定向-->
<result name="success" type="redirect">/login.jsp</result>
<result name="error" type="redirect">/404.jsp</result>
</action>
<!--name 第二种 -->
<action name="RegistAction2" class="com.ws.action.RegistAction2" method="execute" >
<!-- type 才回去重定向-->
<result name="success" type="redirect">/login.jsp</result>
<result name="error" type="redirect">/404.jsp</result>
</action>
<!--name 第三种 -->
<action name="RegistAction3" class="com.ws.action.RegistAction3" method="execute" >
<!-- type 才回去重定向-->
<result name="success" type="redirect">/login.jsp</result>
<result name="error" type="redirect">/404.jsp</result>
</action>
</package>
</struts>
网友评论