Easyui and mvc 项目04_门户书籍类别查询

9 篇文章 0 订阅
6 篇文章 0 订阅

一、动态显示数据表格列数字对应内容

Category书籍类别实体 :

package com.dzl.entity;
/*书籍类别实体*/
public class Category {
	private long id;
	private String name;
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "Category [id=" + id + ", name=" + name + "]";
	}
	
	

}

CategoryDao加载下拉框 :

package com.dzl.dao;

import java.util.List;

import com.dzl.entity.Category;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;

public class CategoryDao extends BaseDao<Category> {
		
//	加载下拉框
	public List<Category> list(Category category, PageBean pageBean) throws Exception {
		String sql ="select * from t_easyui_category where 1=1";
		long id = category.getId();
		if(id != 0) {
			sql +=" and id ="+id;
			
		}
		return super.executeQuery(sql, Category.class, pageBean);
	}
}

CategoryAction :

package com.dzl.web;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dzl.dao.CategoryDao;
import com.dzl.entity.Category;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.ResponseUtil;

public class CategoryAction extends ActionSupport implements ModelDriver<Category> {
	private Category category = new Category();
	private CategoryDao categoryDao=new CategoryDao();
	private Category category2;

//	@Override重写模型驱动方法
	public Category getModel() {
		// TODO Auto-generated method stub
		return category;
	}
	
	
//	@Override 加载书籍类别下拉框
	public String combobox(HttpServletRequest req, HttpServletResponse resp) {
		try {
			List<Category> list = categoryDao.list(category, null);
			ResponseUtil.writeJson(resp, list);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	
	public String load(HttpServletRequest req, HttpServletResponse resp) {
		try {
//			传递id到后台,只会查出一个类别
			Category c= categoryDao.list(category, null).get(0);
			ResponseUtil.writeJson(resp, c);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

}

BookVo

vo:view object视图模型对象

用在哪里:在同一个页面显示多张表的数据

package com.dzl.vo;

import java.util.Date;

import com.dzl.entity.Book;
import com.fasterxml.jackson.annotation.JsonFormat;



public class BookVo {
	private String cname;
	private long id;
	private String name;
	private String pinyin;
	private long cid;
	private String author;
	private float price;
	private String image;
	private String publishing;
	private String description;
	private int state;
	 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date deployTime;
	private int sales;
	public String getCname() {
		return cname;
	}
	public void setCname(String cname) {
		this.cname = cname;
	}
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPinyin() {
		return pinyin;
	}
	public void setPinyin(String pinyin) {
		this.pinyin = pinyin;
	}
	public long getCid() {
		return cid;
	}
	public void setCid(long cid) {
		this.cid = cid;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public float getPrice() {
		return price;
	}
	public void setPrice(float price) {
		this.price = price;
	}
	public String getImage() {
		return image;
	}
	public void setImage(String image) {
		this.image = image;
	}
	public String getPublishing() {
		return publishing;
	}
	public void setPublishing(String publishing) {
		this.publishing = publishing;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public int getState() {
		return state;
	}
	public void setState(int state) {
		this.state = state;
	}
	public Date getDeployTime() {
		return deployTime;
	}
	public void setDeployTime(Date deployTime) {
		this.deployTime = deployTime;
	}
	public int getSales() {
		return sales;
	}
	public void setSales(int sales) {
		this.sales = sales;
	}
	@Override
	public String toString() {
		return "BookVo [cname=" + cname + ", id=" + id + ", name=" + name + ", pinyin=" + pinyin + ", cid=" + cid
				+ ", author=" + author + ", price=" + price + ", image=" + image + ", publishing=" + publishing
				+ ", description=" + description + ", state=" + state + ", deployTime=" + deployTime + ", sales="
				+ sales + "]";
	}
	
	
	

}

BookVoDao :

package com.dzl.dao;

import java.util.List;

import com.dzl.vo.BookVo;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;
import com.zking.util.StringUtils;

public class BookVoDao extends BaseDao<BookVo>{

//	@Override查詢
	public List<BookVo> list(BookVo bookvo, PageBean pageBean) throws Exception {
		String sql="select b.*,c.name as cname from t_easyui_book b,t_easyui_category c where b.cid =cid";
		String name = bookvo.getName();
		int state = bookvo.getState();
		if (StringUtils.isNotBlank(name)) {
			sql += " and name like '%" + name + "%'";
		}
		if (state != 0) {
			sql += " and state=" + state;
		}
		return super.executeQuery(sql, BookVo.class, pageBean);
	}
}

二、门户首页书籍类别显示

主页面index.jsp添加一行:

<input type="hidden" id="ctx" value="${pageContext.request.contextPath}">

index:

$(function(){
	$.ajax({
		url:$("#ctx").val()+"/category.action?methodName=combobox",
		success:function(data){
			alert(data);
	    	var jsonArr = eval("("+data+")");
	    	var html = '';
	    	for ( var i in jsonArr) {
				html+='<li class="list-group-item">'+jsonArr[i].name+'</li>'
			}
	    	$(".list-group").append(html);
		}
	})
})

三、按照书籍类别查询书籍信息

目标:按照书籍的类别查询出对应的书籍信息

前端:

从首页index.jsp传递书籍类别ID到后台来查询

不是发ajax请求

后端:

通过类别id查询对应书籍集合,到前台遍历

后台是有返回值的

BookAction :

public String findByType(HttpServletRequest req, HttpServletResponse resp) {
		try {
			PageBean pageBean = new PageBean();
			pageBean.setRequest(req);
			List<Book> list = bookDao.list(book, pageBean);
			req.setAttribute("books", list);
			req.setAttribute("pageBean", pageBean);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "findBook";
	}
	

index.js :

$(function(){
	$.ajax({
		url:$("#ctx").val()+"/category.action?methodName=combobox",
		success:function(data){
			alert(data);
	    	var jsonArr = eval("("+data+")");
	    	var html = '';
	    	for ( var i in jsonArr) {
				html+='<li class="list-group-item" onclick="searchByType('+jsonArr[i].id+')">'+jsonArr[i].name+'</li>'
			}
	    	$(".list-group").append(html);
		}
	})
})

 

四、网络图片上传

bookDao :

//	修改图片地址
	public void editImgUrl(Book t) throws Exception {
		super.executeUpdate("update t_easyui_book set image=? where id=?", t, 
				new String[] {"image","id"});
	}

BookAction :

//图片上传
	public String upload(HttpServletRequest request, HttpServletResponse resp) throws Exception {
		try {
	        FileItemFactory factory = new DiskFileItemFactory();
	        ServletFileUpload upload = new ServletFileUpload(factory);
	        List<FileItem> items = upload.parseRequest(request);
	        Iterator<FileItem> itr = items.iterator();
	 
	        HttpSession session = request.getSession();
	 
	        while (itr.hasNext()) {
	            FileItem item = (FileItem) itr.next();
	            if (item.isFormField()) {
	                System.out.println("普通字段处理");
	                book.setId(Long.valueOf(request.getParameter("id")));
	            } else if (!"".equals(item.getName())) {
	                String imageName = DateUtil.getCurrentDateStr();
	                // 存入数据的的数据,以及浏览器访问图片的映射地址
	                String serverDir = PropertiesUtil.getValue("serverDir");
	                // 图片真实的存放位置
	                String diskDir = PropertiesUtil.getValue("diskDir");
	                // 图片的后缀名
	                String subfix = item.getName().split("\\.")[1];
	 
	                book.setImage(serverDir + imageName + "." + subfix);
	                item.write(new File(diskDir + imageName + "." + subfix));
	                this.bookDao.editImgUrl(book);
	                ResponseUtil.writeJson(resp, 1);
	            }
	        }	 
	    } catch (Exception e) {
	        e.printStackTrace();
	        ResponseUtil.writeJson(resp, 2);
	    }
	     return null;
	 }

DateUtil :

package com.zking.util;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期处理工具包
 * @author Administrator
 *
 */
public class DateUtil {

	/**
	 * 日期转字符串
	 * @param date
	 * @param format
	 * @return
	 */
	public static String formatDate(Date date,String format){
		String result="";
		SimpleDateFormat sdf=new SimpleDateFormat(format);
		if(date!=null){
			result=sdf.format(date);
		}
		return result;
	}
	
	/**
	 * 字符串转日期
	 * @param str
	 * @param format
	 * @return
	 * @throws Exception
	 */
	public static Date formatString(String str,String format) throws Exception{
		SimpleDateFormat sdf=new SimpleDateFormat(format);
		return sdf.parse(str);
	}
	
	/**
	 * 获取当前时间的字符串
	 * @return
	 * @throws Exception
	 */
	public static String getCurrentDateStr()throws Exception{
		Date date=new Date();
		SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddhhmmss");
		return sdf.format(date);
	}
}

resource.properties(图片上传保存路径)

diskDir=E:/temp/2021/mvc/upload/


serverDir=/uploadImages/

PropertiesUtil (文件解析类) :

package com.zking.util;
 
import java.io.InputStream;
import java.util.Properties;
 
/*文件解析类*/
public class PropertiesUtil {
	public static String getValue(String key) throws Exception{
		Properties p=new Properties();
		InputStream in=PropertiesUtil.class.getResourceAsStream("/resource.properties");
		p.load(in);
		return p.getProperty(key);
	}
 
}

配置路径:配置到server的Host里面

   <Context path="/uploadImages" docBase="E:/temp/2021/mvc/upload"/>   
      </Host>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值