1.web.xml改成3.1
2.导入struts相关的配置文件
3.jdk1.5改为1.8同时需要添加plugins>plugin
4.web 2.3>3.1
pom.xml导入依赖后为
三、导入帮助类及tid文件4.0.0 com.sjy strutswar 0.0.1-SNAPSHOT struts Maven Webapp http://maven.apache.org UTF-8 1.8 1.8 3.7.0 8.0.19 4.12 4.0.0 2.9.3 1.2 1.1.2 8.0.47 1.9.3 1.6.1 1.1.6 2.5.13 jaxen jaxen${jaxen.version} dom4j dom4j${dom4j.version} commons-beanutils commons-beanutils${commons-beanutils.version} mysql mysql-connector-java${mysql.version} junit junit${junit.version} test javax.servlet javax.servlet-api${servlet.version} provided com.fasterxml.jackson.core jackson-databind${jackson.version} com.fasterxml.jackson.core jackson-core${jackson.version} com.fasterxml.jackson.core jackson-annotations${jackson.version} jstl jstl${jstl.version} taglibs standard${standard.version} org.apache.tomcat tomcat-jsp-api${tomcat-jsp-api.version} org.projectlombok lombok1.18.10 provided com.belerweb pinyin4j2.5.0 com.github.davidcarboni encrypted-file-upload2.1.0 org.apache.struts struts2-core${struts2-core.version} struts org.apache.maven.plugins maven-compiler-plugin3.7.0 1.8 1.8 UTF-8
四、增删改查的编码
1.实体类 2.dao类 3.子控制器
现象:1.编码习惯问题,容易出现大小写配置错误
2.每个子控制器都要实现对应接口,拿到request和respons对象
3.向前端页面反馈的数据变量不统一
基于以上进行优化(baseAction)
baseAction内容
package com.sjy.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public abstract class baseActionextends ActionSupport implements ServletRequestAware,ServletResponseAware,ModelDriven { protected static final String LIST="list"; protected static final String TOLIST="toList"; protected static final String TOEDIT="toEdit"; protected HttpServletRequest req; protected HttpServletResponse resp; protected HttpSession session; @Override public void setServletResponse(HttpServletResponse response) { this.resp=response; } @Override public void setServletRequest(HttpServletRequest request) { this.req=request; this.session=request.getSession(); } protected Object result; protected String msg; protected int code; public Object getResult() { return result; } public void setResult(Object result) { this.result = result; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } @Override public String toString() { return "baseAction [req=" + req + ", resp=" + resp + ", session=" + session + ", result=" + result + ", msg=" + msg + ", code=" + code + "]"; } }
子控制器只需继承该类即可
实体类
package com.sjy.entity;
public class Clz {
private int cid;
private String cname;
private String cteacher;
private String pic;
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public String getCteacher() {
return cteacher;
}
public void setCteacher(String cteacher) {
this.cteacher = cteacher;
}
public String getPic() {
return pic;
}
public void setPic(String pic) {
this.pic = pic;
}
@Override
public String toString() {
return "Clz [cid=" + cid + ", cname=" + cname + ", cteacher=" + cteacher + ", pic=" + pic + "]";
}
}
dao类
package com.sjy.dao; import java.util.List; import com.sjy.entity.Clz; import com.zking.util.baseDao; import com.zking.util.PageBean; public class ClzDao extends baseDao{ public List list(Clz clz, PageBean pageBean) throws Exception { String sql="select * from t_struts_class where 1=1 "; int cid = clz.getCid(); if(cid!=0) { sql+=" and cid="+cid; } return super.executeQuery(sql, Clz.class, pageBean); } public void add(Clz t) throws Exception { String sql="insert into t_struts_class values(?,?,?,?)"; super.executeUpdate(sql, t, new String [] {"cid","cname","cteacher","pic"}); } public void del(Clz t) throws Exception { String sql="delete from t_struts_class where cid=?"; super.executeUpdate(sql, t, new String [] {"cid"}); } public void edit(Clz t) throws Exception { String sql="update t_struts_class set cname=?,cteacher=?,pic=? where cid=?"; super.executeUpdate(sql, t, new String [] {"cname","cteacher","pic","cid"}); } }
子控制器
package com.sjy.web; import com.sjy.dao.ClzDao; import com.sjy.entity.Clz; import com.zking.util.PageBean; public class ClzAction extends baseAction{ @Override public Clz getModel() { return clz; } private Clz clz=new Clz(); private ClzDao clzDao=new ClzDao(); public String list() throws Exception { PageBean pageBean=new PageBean(); pageBean.setRequest(req); this.result = clzDao.list(clz, pageBean); this.req.setAttribute("result", result); this.req.setAttribute("pageBean", pageBean); return LIST; } public String add() throws Exception { clzDao.add(clz); return TOLIST; } public String del() throws Exception { clzDao.del(clz); return TOLIST; } public String edit() throws Exception { clzDao.edit(clz); return TOLIST; } public String toEdit() throws Exception { int cid=clz.getCid(); if(cid!=0) { this.result= clzDao.list(clz, null).get(0); this.req.setAttribute("result", result); } return TOEDIT; } }
界面



