[关闭]
@xuduochoua 2016-06-17T02:51:43.000000Z 字数 6176 阅读 1365

framework一些简单说明

框架 通用


  1. 不足之处望补充

1 简单说明

  1. 本项目为maven web项目、父项目;
  2. 采用springmvc为基础的框架;
  3. 数据库为mysql,数据库操作层主要使用mybatis;
  4. 表现层使用JSP

2 项目结构

--framework 项目名
---src/main/java java文件目录
---src/main/resource 配置文件目录 如数据库 ehcache
logback等

-----spring-config.xml springmvc配置文件
-----spring-mvc.xml springmvc配置文件
-----spring-mybatis.xml springmvc配置文件

---src/test/java 测试
---docs 文档 包块数据库 设计文档等等
---src/man/webapp 资源文件
---inc 静态资源文件 js css img等
----css css文件目录
----img 图片文件 如网站ico图标等
----fonts 字体文件
----js js文件
----uj 百度富文本
----page jsp
-----jsp jsp文件
-----jspf 通用jsp 如通用引用、模块等
----WEN-INF
-----web.xml web配置文件
-----messages.properties 国际化配置文件 如网站标题 关键字等等

---pom.xml pom文件


3 分包说明

项目模块分包方在com.cl.framework 下,模块包下分个五个包:action、 bservice、 mapper、pojo、lookup(查询条件)

-com.cl.framework
--common
---annotation 注解
---base 基本通用操作 如AbstractController GlobalExceptionHandler BaseDao 等
---contant 常量类 枚举等
---util 一些公用方法
---tool 一些公用方法会涉及到业务的
---exception 自定义异常 可结合GlobalExceptionHandler 实现一些通用操作
---interceptor 拦截器 如登陆验证 菜单验证等
---pojo 一些业务对象 如用户信息 菜单等
-- system 系统管理模块
-- log 日志模块
-- attachment附件模块
--
task 定时任务模块

4 页面的一些说明

列表页参考

1 按钮控制说明

对于需要控制的按钮标签需要加上属性:
data-btn="code", 其中的code需要对应按钮表的相应code

如:
html
<a class="easyui-linkbutton" data-btn="edit" data-options="iconCls:'myicon-edit',plain:true">修改</a>

2 新增按钮说明

如下:data-btn="add"

  1. <a class="easyui-linkbutton" data-btn="add" data-options="iconCls:'myicon-add',plain:true">添加 </a>
  1. 新增动作默认为打开dialog
  2. 标签上加data-btn="add"控制
  3. 参考nojs.js 的$nojs.addBtn ={};部分代码
  4. 标签可传的参数有:{url:'add.cl',
    title:'新增页面',
    width:600,
    heigth:500,
    maximizable:true}
    不传则为上述默认值,
    传参方式形如easyui的data-options:
  1. <a class="easyui-linkbutton" data-btn="add"
  2. data-add-opts="'url':'addTest.cl','width':500"
  3. data-options="iconCls:'myicon-add',plain:true">添加 </a>

5.新增按钮可额外绑定参数之后台 绑定 data-param-key = val 表示新增时候传递的参数为key 值为val,
js绑定如 $addBtn.data("paramKey","mineValue")

3 编辑按钮说明

如下:data-btn="edit"

  1. <a class="easyui-linkbutton" data-btn="edit" data-options="iconCls:'myicon-edit',plain:true">编辑 </a>
  1. 编辑动作默认为选中当前页面的grid的某一列,进入打开的dialog
  2. 标签上加data-btn="edit"控制
  3. 参考nojs.js 的$nojs.editBtn ={};部分代码
  4. 标签可传的参数有:{url:'edit.cl',
    title:'修改页面页面',
    width:600,
    heigth:500,
    maximizable:true,
    grid:'',
    key:'id'}
    不传则为上述默认值,其中key为选中要传递到后台的值,对应grid的field,
    grid为操作页面的grid的id,不传的话则从当前页面查找table.easyui-datagrid
    传参方式形如easyui的data-options:
  1. <a class="easyui-linkbutton" data-btn="add"
  2. data-edit-opts="'key':'name'"
  3. data-options="iconCls:'myicon-edit',plain:true">添加 </a>

4 删除按钮说明

如下:data-btn="remove"

  1. <a class="easyui-linkbutton" data-btn="remove" data-options="iconCls:'myicon-remove',plain:true">删除</a>
  1. 删除动作默认为选中当前页面的grid的某一列,删除数据并刷新当前页面的grid
  2. 标签上加data-btn="remove"控制
  3. 参考nojs.js 的$nojs.editBtn ={};部分代码
  4. 标签可传的参数有:{
    url:'remove.cl',
    key:'id',
    grid:''
    }
    不传则为上述默认值,其中key为选中要传递到后台的值,对应grid的field,
    grid为操作页面的grid的id,不传的话则从当前页面查找table.easyui-datagrid
    传参方式形如easyui的data-options:
  1. <a class="easyui-linkbutton" data-btn="remove"
  2. data-remove-opts="'grid':'grid1'"
  3. data-options="iconCls:'myicon-remove',plain:true">删除</a>

5 查询按钮说明

参考列表页
查询按钮与查询项应包含在一个div.datagrid-toolbar

  1. <a class="easyui-linkbutton" data-grid-search-for="grid1" iconCls="icon-search">查询</a>

标签加入 data-grid-search-for="grid1" 其中grid1表示要查询的列表grid的id

6 重置按钮说明

参考列表页
重置按钮与查询项应包含在一个div.datagrid-toolbar

  1. <a class="easyui-linkbutton" data-grid-reset-for="grid1" iconCls="icon-reload">重置</a>

标签加入 data-grid-reset-for="grid1" 其中grid1表示要重置的列表grid的id

7 form页说明

form页面主要注意事项为:

  1. 包含隐藏域
  2. 提交按钮和关闭按钮应包含在form表单中:
    html
    <a class="easyui-linkbutton action-submit" data-options="iconCls:'icon-ok'" data-red-grid="grid1">保存</a>
    <a class="easyui-linkbutton action-back" data-options="iconCls:'myicon-remove'">取消</a>

    关闭按钮加入标识class:action-back 即可,为退出当前dialog
    提交按钮加入标识class:action-submit, 并 绑定data-red-grid="grid1"
    其中grid1 表示提交完成之后刷新的父页面的grid的id,不绑定在不刷新,
    提交按钮可额外绑定回调函数:data-call="func" 其中func函数写在当前子页面

5 后台的一些说明

可参考ButtonController.java
1.有id为主键的实体可继承BaseEntity

2.列表查询返回值:return Pager.instance(total, list)

  1. public Pager<Button> selectTestPageList(Lookup lookup) {
  2. int total = buttonMapper.buttonlistCount(lookup);
  3. /**
  4. * 先判断页码是否超出范围 再决定是否查询数据库
  5. */
  6. @SuppressWarnings("unchecked")
  7. List<Button> list = lookup.isOverflowed(total) ? Collections.EMPTY_LIST : buttonMapper.selectButtonList(lookup);
  8. return Pager.instance(total, list);
  9. }

3.ajax返回格式统一为 参考BaseResponse.java

```java
  BaseResponse.error().setMessage("数据不正确")//error 可传参数,参数为不为0的code
  BaseResponse.success().setData("想设置的数据")
```

4.**列表页统一使用Lookup或者其子类接收参数 **
参数和查看项name匹配, Lookup中的属性请使用封装数据类型,如Integer,Boolean等

  1. @RequestMapping(value = "/system/btn/list.cl")
  2. @ResponseBody
  3. public Pager<Button> list(ButtonLookup lookup){
  4. Pager<Button> pager = buttonService.selectTestPageList(lookup);
  5. return pager;
  6. }

listDemo

列表页Demo

```html
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@include file="/page/jspf/prepare.jspf"%>




<%@include file="/page/jspf/head.jspf"%>


<!-- toolbar -->
<div id="tb"  class="datagrid-toolbar"  >
    <div>
        <table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td><a  id="add" class="easyui-linkbutton"  data-btn="add"  data-options="iconCls:'myicon-add',plain:true">添加 </a></td>
                <td><div class="datagrid-btn-separator"></div></td>
                <td><a  class="easyui-linkbutton"  data-btn="edit" data-options="iconCls:'myicon-edit',plain:true">修改</a></td>
                <td><div class="datagrid-btn-separator"></div></td>
                <td><a class="easyui-linkbutton" data-btn="remove"  data-options="iconCls:'myicon-remove',plain:true">删除</a></td>
            </tr>
        </table>
    </div>
    <div style="border:solid 1px #CCC" >
        <div style="margin:2,0,2,0" >
            &nbsp;编码:<input name="code"  style="width:120px;;">
            &nbsp;名称:<input name="name"  style="width:120px;">
            &nbsp;&nbsp;
            <select name="enable">
                <option value="">--请选择--</option>
                <option value="1"> -- 启用 -- </option>
                <option value="0">-- 禁用 -- </option>
            </select> 
            &nbsp;&nbsp;
            <a  class="easyui-linkbutton"  data-grid-search-for="grid1"  iconCls="icon-search">查询</a>
            <a  class="easyui-linkbutton" data-grid-reset-for="grid1"  iconCls="icon-reload">重置</a>
        </div>
    </div>
</div>

<!-- 表格 -->
<table id="grid1" title="按钮管理" class="easyui-datagrid" fit="true"
    data-options="fitColumns:true,rownumbers:true,pagination:true,pageSize:10,
        singleSelect:true,toolbar:'#tb',url:'${ctx }/system/btn/list.cl',onLoadError:loaderror">
    	<thead>
			<tr>
				<th data-options="field:'code',width:30,align:'center'">按钮编码</th>
				<th data-options="field:'name',width:30,align:'center'">按钮名称</th>
				<th data-options="field:'enable',width:50,align:'center'">按钮状态</th>
			</tr>
		</thead>
    </table>   
    <c:if test="${not empty remind}">
    <div class="remind" data-remind-message="${remind.message }" data-remind-level="${remind.level}"></div>
</c:if>



```

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注