栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

根据struts的增删改查

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据struts的增删改查

写项目前的准备工作:

        1、首先建个maven项目

        2、导入pom.xml依赖,jar依赖

                web.xml改成3.1

                导入struts相关的配置文件

                jdk1.5-->1.8-->同时pom.xml需要添加plugins>plugin

                web.2.3==>3.1

        3、子控制器

将所需的工具类导入

助手类:

tid文件以及一些界面:

导入tomcat依赖

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4.0.0
  lv.com
  lv.struts
  war
  0.0.1-SNAPSHOT
  lv.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
 
  
  
 
   
            org.apache.struts
            struts2-core
            ${struts2-core.version}
    

   
      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
      lombok
      1.18.10
      provided
   

   
      com.belerweb
      pinyin4j
      2.5.0
   

   
      com.github.davidcarboni
      encrypted-file-upload
      2.1.0
   

 

 
    lv.struts
    
 
        
                org.apache.maven.plugins
                maven-compiler-plugin
                3.7.0
                
                    1.8
                    1.8
                    UTF-8
                

            

   

    
 


 

在执行的时候进度条慢的原因:

        1、可能是maven的jar包下载很慢,网速问题

        2、eclipse中有默认开了许多验证

关闭多的验证:

在window中选择preference:

 搜索validation,Disable All取消所有打勾选项,然后给第一行打上勾就OK了

二、baseAction的实现

我们以这个表为例建立实体类

 我们子控制器action每次都要重写方法,因此我们写一个共用的子控制器

其他的子控制器只要继承我们的这个共用子控制器就可以了,也可以直接返回父类所定义的值

共用子控制器需要继承ActionSupport,与实现ServletRequestAware,ServletResponseAware,ModelDriven

baseAction:

package com.lv.util;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.swing.plaf.basic.BasicSliderUI.ActionScroller;

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 baseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,ModelDriven{
//    被保护的只能被子类继承
    protected HttpServletRequest req;
    protected HttpServletResponse resp;
    protected HttpSession session;
    
    protected static final String LIST="list";
    protected static final String TOLIST="toList";
    protected static final String TOEDIT="list";
//    每个子控制器都要实现对应接口,拿到request、response对象
    @Override
        public void setServletRequest(HttpServletRequest request) {
            this.req=request;
            this.session=request.getSession();
        }
    
    @Override
        public void setServletResponse(HttpServletResponse response) {
            this.resp=response;
            
        }
//    向前端页面反馈的数据变量不统一
//    结果:
    protected Object result;
//    提示信息
    protected String msg;
//    状态
    protected int code;
    
}
 

子控制器ClzAction:

package com.lv.web1;

import com.lv.util.baseAction;

public class ClzAction extends baseAction{

    @Override
    public Object getModel() {
        // TODO Auto-generated method stub
        return null;
    }
    
    public String list() throws Exception {
        return LIST;
    }

}
 

三、增删改查

Dao方法:

package com.lv.dao;

import java.util.List;

import com.lv.entity1.Clz;
import com.lv.util.baseDao;
import com.lv.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 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"});
    }
    
    public void del( Clz t) throws Exception {
        String sql="delete from t_struts_class where cid=?";
        super.executeUpdate(sql, t, new String[] {"cid"});
    }
    
    
}
 

子控制器ClzAction :

package com.lv.web1;

import com.lv.dao.ClzDao;
import com.lv.entity1.Clz;
import com.lv.util.baseAction;
import com.lv.util.PageBean;

public class ClzAction extends baseAction{
    private Clz clz=new Clz();
    private ClzDao clzDao=new ClzDao();
    @Override
    public Clz getModel() {
        // TODO Auto-generated method stub
        return clz;
    }
    
//    查询班级列表
    public String list() throws Exception {
        PageBean pageBean=new PageBean();
        pageBean.setRequest(req);
        this.result=this.clzDao.list(clz, pageBean);
        this.req.setAttribute("result", result);
        this.req.setAttribute("pageBean", pageBean);
        return LIST;
    }
    
//    跳转新增/修改界面
    public String toEdit() throws Exception {
        int cid = clz.getCid();
        if(cid!=0) {
            this.clzDao.list(clz, null).get(0);
            this.req.setAttribute("result", result);
        }
        return TOEDIT;
    }
    
//    新增
    public String add() throws Exception {
        this.clzDao.add(clz);
        return TOLIST;
    }
    
//    修改
    public String edit() throws Exception {
        this.clzDao.edit(clz);
        return TOLIST;
    }
    
//    删除
    public String del() throws Exception {
        this.clzDao.del(clz);
        return TOLIST;
    }

}
 

配置:


    
        /clzList.jsp
        /clz_list
        /clzEdit.jsp
    

记得改界面的调用方法,如下;

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="z" uri="http://jsp.veryedu.cn"%>




    href='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css'
    rel='stylesheet'>
    src='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.js'>
新增/修改书籍列表



    

        action="${pageContext.request.contextPath }/sy/clz_${empty result ? 'add' : 'edit'}.action" method="post">
        ID:

        名字:

        老师:

        
    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号