struts2完成增删改查

struts2完成增删改查
思路:
1、导入相关的pom依赖(struts、自定义标签库的依赖)
2、分页的tag类导入、z.tld、完成web.xml的配置
3、dao层去访问数据
4、web层去调用dao层给前台返回数据
5、在struts_sy.xml进行配置
6、写jsp界面

1、导入相关的pom依赖(struts、自定义标签库的依赖)


    4.0.0
    com.psy
    caoluo
    war
    0.0.1-SNAPSHOT
    caoluo Maven Webapp
    http://maven.apache.org
    

        
            junit
            junit
            4.12
            test
        


        
            javax.servlet
            javax.servlet-api
            4.0.1
            provided
        

        
            org.apache.struts
            struts2-core
            2.5.13
        
        
        
        
        
            jstl
            jstl
            1.2
        
        
            taglibs
            standard
            1.1.2
        
        
       
            mysql
            mysql-connector-java
            5.1.44
        
        
        
        
            org.apache.tomcat
            tomcat-jsp-api
            8.0.47
        
        
    
    
        T224_caoluo
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.7.0
                
                    1.8
                    1.8
                    UTF-8
                
            
        

    

2、分页的tag类导入、z.tld、完成web.xml的配置

/**
 * 分页工具类
 *
 */
public class PageBean {

    private int page = 1;// 页码

    private int rows = 4;// 页大小

    private int total = 0;// 总记录数

    private boolean pagination = true;// 是否分页
    // 获取前台向后台提交的所有参数
    private Map parameterMap;
    // 获取上一次访问后台的url
    private String url;

    /**
     * 初始化pagebean
     * 
     * @param req
     */
    public void setRequest(HttpServletRequest req) {
        this.setPage(req.getParameter("page"));
        this.setRows(req.getParameter("rows"));
        // 只有jsp页面上填写pagination=false才是不分页
        this.setPagination(!"fasle".equals(req.getParameter("pagination")));
        this.setParameterMap(req.getParameterMap());
        this.setUrl(req.getRequestURL().toString());
    }

    public int getMaxPage() {
        return this.total % this.rows == 0 ? this.total / this.rows : this.total / this.rows + 1;
    }

    public int nextPage() {
        return this.page < this.getMaxPage() ? this.page + 1 : this.getMaxPage();
    }

    public int previousPage() {
        return this.page > 1 ? this.page - 1 : 1;
    }

    public PageBean() {
        super();
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public void setPage(String page) {
        this.page = StringUtils.isBlank(page) ? this.page : Integer.valueOf(page);
    }

    public int getRows() {
        return rows;
    }

    public void setRows(int rows) {
        this.rows = rows;
    }

    public void setRows(String rows) {
        this.rows = StringUtils.isBlank(rows) ? this.rows : Integer.valueOf(rows);
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public void setTotal(String total) {
        this.total = Integer.parseInt(total);
    }

    public boolean isPagination() {
        return pagination;
    }

    public void setPagination(boolean pagination) {
        this.pagination = pagination;
    }

    public Map getParameterMap() {
        return parameterMap;
    }

    public void setParameterMap(Map parameterMap) {
        this.parameterMap = parameterMap;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    /**
     * 获得起始记录的下标
     * 
     * @return
     */
    public int getStartIndex() {
        return (this.page - 1) * this.rows;
    }

    @Override
    public String toString() {
        return "PageBean [page=" + page + ", rows=" + rows + ", total=" + total + ", pagination=" + pagination
                + ", parameterMap=" + parameterMap + ", url=" + url + "]";
    }

}

z.tld

1.1 core library
   core
  1.1
  z
  /zking

 
    page
    com.tag.PageTag
    JSP
    
        pageBean
        true
        true
    
  

web.xml配置


    encodingFiter
    com.util.EncodingFiter
  
  
    encodingFiter
    /*
  

  
    struts
    org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
  
  
    struts
    *.action
  

dao层去访问数据

public class ClazzDao extends BaseDao {
    /**
     * 查询分页 查询单个数据公用的方法
     * @param clz
     * @param pageBean
     * @return
     */
    public List list(Clazz clz,PageBean pageBean){
        String sql="select * from t_struts_class where true";
        String cname=clz.getCname();
        int cid=clz.getCid();
        if(cid!=0) {
            sql +=" and cid = "+cid;
        }
        if(StringUtils.isNotBlank(cname)) {
            sql +=" and cname like '%"+cname+"%'";
        }
        return super.executeQuery(sql, Clazz.class, pageBean);
        
    }
    /**
     * 新增方法
     * @param clz
     * @return
     */
    public int add(Clazz clz) {
        String sql="insert into t_struts_class values(?,?,?,?)";
        return super.executeUpdate(sql, new String[] {"cid","cname","cteacher","pic"}, clz);
    }
    /**
     * 修改方法
     * @param clz
     * @return
     */
    public int edit(Clazz clz) {
        String sql="update t_struts_class set cname=?,cteacher=?,pic=? where cid=?";
        return super.executeUpdate(sql, new String[] {"cname","cteacher","pic","cid"}, clz);
    }
    /**
     * 删除方法
     * @param clz
     * @return
     */
    public int del(Clazz clz) {
        String sql="delete from t_struts_class where cid=?";
        return super.executeUpdate(sql, new String[] {"cid"}, clz);
    }

}

web层调用dao返回数据给jsp

public class ClazzAction extends BaseAction implements ModelDriven{

    
    private ClazzDao clzDao=new ClazzDao();
    private Clazz clz=new Clazz();
    
    public String list() {
        PageBean pageBean=new PageBean();
        pageBean.setRequest(request);
        List list=this.clzDao.list(clz, pageBean);
        request.setAttribute("clzList", list);
        request.setAttribute("pageBean", pageBean);
        return "list";
    }
    /**
     * 跳转新增修改页面的工用方法
     * @return
     */
    public String preSave() {
        if(clz.getCid()!=0) {
        Clazz c=this.clzDao.list(clz, null).get(0);
            request.setAttribute("clz", c);
        }
        return "preSave";
        
    }
    /**
     * 新增
     * @return
     */
    public String add() {
    result=    this.clzDao.add(clz);
        return "toList";
        
    }
    /**
     * 修改
     * @return
     */
    public String edit() {
        this.clzDao.edit(clz);
        return "toList";
        
    }
    /**
     * 删除
     * @return
     */
    public String del() {
        this.clzDao.del(clz);
        return "toList";
        
    }
    @Override
    public Clazz getModel() {
        // TODO Auto-generated method stub
        return clz;
    }
    
    
}

在struts_sy.xml进行配置


     
        
           /clzList.jsp
           /clzEdit.jsp
           /clz_list
        
    

写jsp界面
首页:



    
班级名:
新增
编号 班级名 教员 图片 操作
${c.cid } ${c.cname } ${c.cteacher } ${c.pic } 修改   删除   上传图片  

新增页面与修改公用页面



    
编号:
班级名:
教员:

运行效果图

首页:
在这里插入图片描述
新增:
struts2完成增删改查_第1张图片
在这里插入图片描述
修改:
struts2完成增删改查_第2张图片
在这里插入图片描述
完成;

你可能感兴趣的:(struts2完成增删改查)