用的是ssh
主要是其中的save方法,其他方法可以正确执行。正常情况下点击提交,Action类的方法应该能被执行才对,我在save方法中向控制台打印了一句话,然而控制台并没有打印这句话,不清楚哪里错了?
下面是struts配置文件<?xml version="1.0" encoding="UTF-8"?>
struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
false
remove
/WEB-INF/views/emp-list.jsp
text/html
inputStream
/WEB-INF/views/emp-input.jsp
/emp-list
emp-input.jsp页面
pageEncoding="UTF-8"%>
html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Insert title hereEmployee Input Page
EmployeeAction类public class EmployeeAction extends ActionSupport implements RequestAware,
ModelDriven,Preparable{
static{
System.out.println("是否进入此类?-------------------------");
}
private static final long serialVersionUID = 1L;
private EmployeeService employeeService;
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
private DepartmentService departmentService;
public void setDepartmentService(DepartmentService departmentService) {
this.departmentService = departmentService;
}
public String input() {
request.put("departments", departmentService.getAll());
System.out.println("====================input方法被执行===================");
return INPUT;
}
public String list() {
request.put("employees", employeeService.getAll());
System.out.println("====================list方法被执行===================");
return "list";
}
public String save(){
System.out.println("====================save方法被执行===================");
model.setCreateTime(new Date());
employeeService.saveOrUpdate(model);
System.out.println(model.toString());
return "save";
}
/**
* prepareble拦截器需要??
*/
public void prepareSave() {
model = new Employee();
}
private Integer id;
public void setId(Integer id) {
this.id = id;
}
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
public String remove() {
try {
employeeService.remove(id);
inputStream = new ByteArrayInputStream("1".getBytes("UTF-8"));
} catch (Exception e) {
try {
inputStream = new ByteArrayInputStream("0".getBytes("UTF-8"));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
return "remove";
}
private Map request;
/*
* @see org.apache.struts2.interceptor.RequestAware#setRequest(java.util.Map)
*/
@Override
public void setRequest(Map arg0) {
this.request = arg0;
}
private Employee model;
@Override
public Employee getModel() {
return model;
}
@Override
public void prepare() throws Exception {}
}