此系列博文基于同一个项目已上传至github 传送门
JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门
JavaWeb_(Struts2框架)struts.xml核心配置、动态方法调用、结果集的处理 传送门
JavaWeb_(Struts2框架)Log4j的配置以及解决中文乱码 传送门
JavaWeb_(Struts2框架)参数传递之接收参数与传递参数 传送门
JavaWeb_(Struts2框架)Ognl小案例查询帖子 传送门
JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型 传送门
JavaWeb_(Struts2框架)拦截器interceptor 传送门
第一种DefaultAction什么都没有干
第二种实现了Action接口
第三种继承了ActionSupport类【常用】
目录结构
packagecom.Gary.web;public classDefaultAction {publicString execute()
{
System.err.println("这是一个普通的action");return null;
}
}
DefaultAction.java
packagecom.Gary.web;importcom.opensymphony.xwork2.Action;class ImplAction implementsAction{
@Overridepublic String execute() throwsException {
System.out.println("这是实现了Action接口的action");return null;
}
}
ImplAction.java
packagecom.Gary.web;importorg.apache.struts2.ServletActionContext;importcom.Gary.domain.User;importcom.Gary.service.UserService;importcom.opensymphony.xwork2.ActionSupport;importcom.opensymphony.xwork2.ModelDriven;public class UserAction extends ActionSupport implements ModelDriven{public User user = newUser();public String execute() throwsException {
System.err.println("我已经运行了");
UserService userService= newUserService();boolean success =userService.findUser(user);if(success)
{return "success";
}else{
ServletActionContext.getRequest().setAttribute("error", "用户名或密码错误!!!");return "error";
}
}
@OverridepublicUser getModel() {//TODO Auto-generated method stub
returnuser;
}
}
UserAction.java
配置struts.xml
/index.html
/login.jsp
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
/index.html
/login.jsp
struts.xml