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

Struts的增删改查

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

Struts的增删改查

一.新建项目 二.导入pom.xml的相关依赖 1.web.xml改成3.1的版本 2.导入struts相关的配置文件 3.jdk1.5改为1.8   web2.3改为3.1 4.pom.xml需要添加plugins>plugin

  4.0.0
  com.wmy
  T269_struts
  war
  0.0.1-SNAPSHOT
  T269_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
     
  
  
  
    T269_struts
    
    
				org.apache.maven.plugins
				maven-compiler-plugin
				3.7.0
				
					1.8
					1.8
					UTF-8
				
			
    
  
 三.导入帮助类以及tld文件

如图:

 

 四.Struts增删改查的编码

思路步骤:1.实体类 2.dao类 3.子控制器
本节课的内容区别在于:baseAction(优化baseAction)

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

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

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

package com.wmy.crud.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 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 = "toEdit";
 
@Override
public void setServletResponse(HttpServletResponse response) {
	this.resp=response;
	
}
@Override
public void setServletRequest(HttpServletRequest request) {
	this.req=request;
	this.session=request.getSession();
	
}
//3.向前端页面反馈的数据变量不统一
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;
}
 
 
}
 第一步:创建实体类Clz
package com.wmy.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 + "]";
}
 
 
}
 第二步:Dao层ClzDao
package com.wmy.crud.dao;
 
import java.util.List;
 
import com.pjl.crud.entity.Clz;
import com.pjl.crud.util.baseDao;
import com.pjl.crud.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 t_truts_class where cid=?";
		super.executeUpdate(sql,t,new String[] {"cid"});
	}
	
}

 第三步:子控制器ClzAction(web层)

 

package com.wmy.crud.web;
 
import javax.servlet.http.HttpServletRequest;
 
import org.apache.struts2.interceptor.ServletRequestAware;
 
import com.opensymphony.xwork2.ActionSupport;
import com.wmy.crud.dao.ClzDao;
import com.wmy.crud.entity.Clz;
import com.wmy.crud.util.PageBean;
 
public class ClzAction extends baseAction{
  private Clz clz=new Clz(); 
  private ClzDao clzDao =new ClzDao();

  public String list() throws Exception {
	  //首先对pagebean进行初始化
	  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();
	//如果传了cid,则跳修改界面
	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 edit() throws Exception {
	this.clzDao.edit(clz);
	return TOLIST;
}

public String del() throws Exception {
	this.clzDao.del(clz);
	return TOLIST;
}
 
@Override
public Clz getModel() {
	return clz;
}
 
 
 
}
第四步:所需界面 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"%>






新增/修改书籍列表
 


	
cid:
cname:
cteacher:

 ClzList.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"%>






书籍列表

.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 班级名字 教员 图片 操作
${b.cid } ${b.cname } ${b.cteacher } ${b.pic } >修改 >删除
<%-- --%>

 效果:

 

 

 

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

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

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