一、功能开发,前置条件

1.搭建项目开发环境            1>导入jar依赖            2>导入工具类            3>导入框架配置文件            4>将框架与web容器集成 2.数据库是否能够连接3.当前项目是否引用了jdk、tomcat4.启动项目测试项目是否能正常运行 完成步骤1.根据数据库表构建对应实体类           1>数据库表名->类名           2>数据库列段->属性 对应关系 int -> Integer float -> Float bigint -> Long datetime -> java.util.Date varchar -> String2.完成dao层的代码编写->前期不熟练时应使用JUnit测试            1>编写SQL语句            对应方法出来的内容? User,数据是多行还是单行? 多行->List            2>使用工具类完成查询            3>通过JUnit测试代码3.完成web层的代码编写->处理浏览器请求            1>继承子控制器,实现模型驱动接口                 子控制器:是用来通过反射动态调用处理请求的方法                 模型驱动接口:接受浏览器端传递的参数并封装进实体类           2>调用dao层拿到数据           3>响应到前端4.完成配置文件中的配置           1>在mvc.xml中进行Action层的配置                1.1页面跳页面           2>在浏览器端输入URL,即可进行最终结果的测试 localhost:8080/bk0723/user.action ?methodName=list&loginName=z5.完成页面的开发

注意: project clean:清除项目中的缓存 clean Tomcat work directory:清除服务端的缓存 jQuery的在线手册 http://hemin.cn/jq/  

 二、代码

 PermissionDao

package com.dao;

import java.util.List;

import com.entity.Permission;

import com.zking.util.BaseDao;

import com.zking.util.PageBean;

/**

* 继承BaseDao的原因

* 1.封装通用的查询 executeQuery

* 1.1。对应的单表查询

* 1.2 对应的多表查询

* 2.封装了通用的增删改 executeUpdate

*

*/

public class PermissionDao extends BaseDao{

// 查询

public List list(Permission p, PageBean pageBean) throws Exception {

String sql="select * from t_easyui_permission where 1=1";

// 后续我们要做修改的时候肯定要传递一个id过来

// 如果没有纯涤id说明就是增加方法

long id=p.getId();

// 在进行判断是否为空

if(id!=0) {//不等于空,说明传递过来了

// 我们就要继续根据id传递的值,进行修改

// 进行拼接

sql+=" and id="+id;

}

return super.executeQuery(sql, Permission.class, null);

}

// 增加

public int add(Permission p) throws Exception {

String sql="insert into t_easyui_permission(name,description,url,pid,ismenu,displayno) values(?,?,?,?,?,?)";

return super.executeUpdate(sql, p, new String[] {"name","description","url","pid","ismenu","displayno"});

}

// 删除

public int delete(Permission p) throws Exception {

String sql="delte from t_easyui_permission where id=?";

return super.executeUpdate(sql, p, new String[] {"id"});

}

// 修改

public int edit(Permission p) throws Exception {

String sql="update t_easyui_permission set name=?,description=?,url=?,pid=?,ismenu=?,displayno=? where id=?";

return super.executeUpdate(sql, p, new String[] {"name","description","url","pid","ismenu","displayno","id"});

}

}

PermissionAction 

package com.web;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.dao.PermissionDao;

import com.entity.Permission;

import com.zking.framework.ActionSupport;

import com.zking.framework.ModelDriver;

import com.zking.util.PageBean;

/**

* 结果码: 会有三个

* 1.list:数据展示界面

* 2.toList: 增删改后刷新界面

* 3.toEdit:跳转编辑界面

*/

public class PermissionAction extends ActionSupport implements ModelDriver{

private Permission p=new Permission();

private PermissionDao pd=new PermissionDao();

@Override

public Permission getModel() {

// TODO Auto-generated method stub

return p;

}

// 查询

public String list(HttpServletRequest req, HttpServletResponse resp) {

try {

PageBean pageBean=new PageBean();

pageBean.setRequest(req);

List lst = pd.list(p, pageBean);

req.setAttribute("lst", lst);

// 我们还有一个分页条

// 这里的大小写也是有区别的,你那边写的是什么,这里就要写什么

req.setAttribute("pageBean", pageBean);

} catch (Exception e) {

e.printStackTrace();

}

// 配置我们跳转的结果码

return "list";

}

// 增加

public String add(HttpServletRequest req, HttpServletResponse resp) {

try {

pd.add(p);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return "toList";

}

// 删除

public String delete(HttpServletRequest req, HttpServletResponse resp) {

try {

pd.delete(p);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return "toList";

}

// 修改

public String edit(HttpServletRequest req, HttpServletResponse resp) {

try {

pd.edit(p);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return "toList";

}

// 增加/修改需要跳转编辑的界面

public String toEdit(HttpServletRequest req, HttpServletResponse resp) {

try {

// 如果是新增的话,就不会带id过来

long id = p.getId();

// 这里等于0说明就是新增方法

if(id==0) {

return "toEdit";

}

// 如果不等于0,我们先查询一下

// 我们修改的时候是不是传递了一个id过去,有且只有一个值,所以不需要分页

Permission permission = pd.list(p, null).get(0);

// 传递到前台去 在编辑界面做数据回显

req.setAttribute("b", permission);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return "toEdit";

}

}

 conif--MVC.xml

redirect="true" />

前端界面

perEdit

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

pageEncoding="UTF-8"%>

编辑界面

name:

description:

路径:

ismenu:

displayno:

 perlist

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

pageEncoding="UTF-8"%>

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Insert title here

新增

编号namedescription路径操作
${l.id }${l.name}${l.description }${l.url }

修改

删除

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: