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

Struts之CRUD

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

Struts之CRUD

今日目标:

Struts的增删改查

目标效果:

一,Struts的增删改查

1.1,导入jar包的相关依赖


  4.0.0
  com.lgs
  T269G_struts
  war
  0.0.1-SNAPSHOT
  T269G_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
    4.0.1
	2.5.13
  
  


	
			javax.servlet
			javax.servlet-api
			${javax.servlet-api.version}
			provided
	

	
			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
    
  
  
  
    T269G_struts
    
    	
         org.apache.maven.plugins
         maven-compiler-plugin
         3.7.0
         
             1.8
             1.8
             UTF-8
         
    	
    
  
  

1.2,配置过滤器和导入相关xml配置和相关工具类


  Archetype Created Web Application
  

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


开发 

2.1,实体类

package com.lgs.crud.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 + "]";
	}
	
}

2.2,写dao方法

package com.lgs.crud.dao;

import java.util.List;

import com.lgs.crud.entity.Clz;
import com.lgs.crud.util.baseDao;
import com.lgs.crud.util.PageBean;
import com.lgs.crud.util.StringUtils;

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;
		}
		String cname = clz.getCname();
		if(StringUtils.isNotBlank(cname)) {
			sql += " and cname like '%"+cname+"%'";
		}
		return super.executeQuery(sql, Clz.class, pageBean);
	}
	
	
	public void add(Clz clz) throws Exception {
		String sql = "insert into t_struts_class values(?,?,?,?)";
		super.executeUpdate(sql, clz, new String[] {"cid","cname","cteacher","pic"});
	}
	
	
	public void del(Clz clz) throws Exception {
		String sql = "delete from t_struts_class where cid=?";
		super.executeUpdate(sql, clz, new String[] {"cid"});
	}
	
	
	public void edit(Clz clz) throws Exception {
		String sql = "update t_struts_class set cname=?,cteacher=?,pic=? where cid=?";
		super.executeUpdate(sql, clz, new String[] {"cname","cteacher","pic","cid"});
	}

}

2.3,写子控制器帮助类

1、编码习惯问题,容易出现大小写配置错误;

2、每个子控制器都要实现对应接口,拿到request、response对象...

3、向前端页面反馈的数据变量不统一

package com.lgs.crud.util;

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 baseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,ModelDriven{

	protected HttpServletRequest req;
	protected HttpServletResponse resp;
	protected HttpSession session;
	
//	1.设置编码常量,防止出现大小写错误
	protected static final String LIST = "list";
	protected static final String TOLIST = "toList";
	protected static final String TOEDIT = "toEdit";

//	2.对于Tomcat集成常用对象进行统一管理
	public void setServletResponse(HttpServletResponse arg0) {
		this.resp = arg0;
	}

	public void setServletRequest(HttpServletRequest arg0) {
		this.req = arg0;
		this.session = arg0.getSession();
	}
	
//	3.封装了携带到页面的常量
	protected Object result;
	protected Object msg;
	protected int code;
	
	public Object getResult() {
		return result;
	}

	public void setResult(Object result) {
		this.result = result;
	}

	public Object getMsg() {
		return msg;
	}

	public void setMsg(Object msg) {
		this.msg = msg;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}
	
}

2.4,写子控制器

package com.lgs.crud.web;

import com.lgs.crud.dao.ClzDao;
import com.lgs.crud.entity.Clz;
import com.lgs.crud.util.baseAction;
import com.lgs.crud.util.PageBean;

public class ClzAction extends baseAction {

	private Clz clz = new Clz();
	private ClzDao clzDao = new ClzDao();

	public Clz getModel() {
		return clz;
	}

	
	public String list() throws Exception {
		PageBean pageBean = new PageBean();
		pageBean.setRequest(req);
		pageBean.setRows(4);
		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.result = 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 del() throws Exception {
		this.clzDao.del(clz);
		return TOLIST;
	}

	
	public String edit() throws Exception {
		this.clzDao.edit(clz);
		return TOLIST;
	}

}

2.5,配置子控制器

	
	
	/clzList.jsp
	/clzEdit.jsp
	/clz_list
	 

2.6,前端jsp界面

主界面

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






博客列表

.page-item input {
	padding: 0;
	width: 40px;
	height: 100%;
	text-align: center;
	margin: 0 6px;
}
.page-item input, .page-item b {
	line-height: 38px;
	float: left;
	font-weight: 400;
}
 
.page-item.go-input {
	margin: 0 10px;
}



	
新增
ID 班级姓名 教员 图片 操作
${j.cid } ${j.cname } ${j.cteacher } ${j.pic } 修改 删除

增加和修改界面 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	
ID:
班级姓名:
教员:
图片:

运行结果:

 OK! 到这就结束了,希望能帮到你!!!

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

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

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