这里以Roles角色表修改功能做一个例子

RolesController

/**
 * 角色管理控制类
 * @author 御手洗红豆
 */
public class RolesController extends Controller {
    
    /**
     * 货品管理初始页面方法,查询第一页数据
     * @author 御手洗红豆
     */
    public void index() {
        // 转入客户grid管理页面
        render("/businessPage/rolesPage/gridPage.html");
    }
    
    /**
     * 获取货品信息列表的json,带分页信息,转入gridPage
     * @author 御手洗红豆
     */
    public void getdatetojson() {
        // 获得jqGrid传入参数
        JqGridBaseBean searchBean = getBean(JqGridBaseBean.class, "", true);
        // 总记录获得语句
        String countSql = "select count(*) totalRow from roles where isdel=0 ";
        // 编辑查询语句
        String sqlstr = "select * from roles where isdel=0 ";
        // 判断是否有检索条件,如果没有,前台不传检索参数,获取会报错。
        if(searchBean.is_search()){
            // 网上说有单字段查询的时候,但是在ACE框架给的页面中没发现有,暂时保留这种写法
            if(searchBean.getJqGridSearch().getSearchField() != null && searchBean.getJqGridSearch().getSearchOper() != null){
                // 单字段查询的时候
                countSql +=" and (" + JqGridOpSwitch.opSwitchMySql(searchBean.getJqGridSearch().getSearchField(), searchBean.getJqGridSearch().getSearchOper(), searchBean.getJqGridSearch().getSearchString(), 2)+")";
                sqlstr +=" and (" + JqGridOpSwitch.opSwitchMySql(searchBean.getJqGridSearch().getSearchField(), searchBean.getJqGridSearch().getSearchOper(), searchBean.getJqGridSearch().getSearchString(), 2)+")";
            }else if(searchBean.getJqGridSearch().getGroupOp() != null && searchBean.getJqGridSearch().getRules()!= null && searchBean.getJqGridSearch().getRules().size() != 0){
                // 多字段查询的时候
                countSql +=" and (";
                sqlstr +=" and (";
                for(int i = 0; i < searchBean.getJqGridSearch().getRulesList().size(); i++){
                    if(i > 0){
                        countSql += searchBean.getJqGridSearch().getGroupOp();
                        sqlstr += searchBean.getJqGridSearch().getGroupOp();
                    }
                    JqGridSearchDetailBean tempBean = searchBean.getJqGridSearch().getRulesList().get(i);
                    countSql += JqGridOpSwitch.opSwitchMySql(tempBean.getField(),tempBean.getOp(),tempBean.getData(),2);
                    sqlstr += JqGridOpSwitch.opSwitchMySql(tempBean.getField(),tempBean.getOp(),tempBean.getData(),2);
                }
                countSql +=") ";
                sqlstr +=") ";
            }
        }
        
        sqlstr += " limit " + ((searchBean.getPage()-1) * searchBean.getRows()) + "," + searchBean.getRows();    
        
        // 取得总记录数
        long totalRow = RolesModel.dao.findFirst(countSql).getLong("totalRow");
        // 计算总页数,不能整除的进1
        int totalPage = BigDecimal.valueOf(totalRow).divide(BigDecimal.valueOf(searchBean.getRows()), BigDecimal.ROUND_UP).intValue();
        
        // 取得查询内容
        List<RolesModel> roleslist = RolesModel.dao.find(sqlstr);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("page", searchBean.getPage());
        map.put("totalPage", totalPage);
        map.put("totalRecords", totalRow);
        map.put("list", roleslist);
        renderJson(map);
    }
    
    /**
     * jqGrid的数据操作
     * @author 御手洗红豆
     */
    public void editfromgrid(){
        // 获得操作类别
        String oper = getPara("oper");
        // 获得操作对象
        RolesModel roles = getModel(RolesModel.class,"",true);
        if(oper.equals("add")){
            // 添加
            roles.save();
        }else if(oper.equals("edit")){
            // 修改
            roles.update();
        }else if(oper.equals("del")){
            // 删除
            roles.set("isdel", 1);
            roles.update();
        }
        renderText("succeed");
    }
    /**
     * 获取用于下拉列表填充的数据
     * @author 御手洗红豆
     */
    public void getalldatetotext() {
        // 编辑查询语句
        String sqlstr = "select * from roles where isdel=0";
        // 取得查询内容
        List<RolesModel> roleslist = RolesModel.dao.find(sqlstr);
        String str = "";
        for(int i = 0; i < roleslist.size(); i++){
            RolesModel tempModel = roleslist.get(i);
            if(i>0){
                str += ";";
            }
            str += tempModel.get("id").toString() + ": " + tempModel.getStr("name");
        }
        renderText(str);
    }
}

最新文章

  1. 浅谈JavaScript的New关键字
  2. table表格,让thead固定,tbody有滚动条,关键是都对齐的纯css写法。
  3. 张艾迪(创始人): 整合全新的UIW.AD概念
  4. 强化学习之 免模型学习(model-free based learning)
  5. C#多线程的介绍(园子里比较全的一篇)
  6. Dedecms当前位置{dede:field name=&#39;position&#39;/}修改
  7. Minimum Window Substring @LeetCode
  8. Core 1.0中的管道-中间件模式
  9. Sublime Text 3的常用插件的安装和介绍
  10. FFmpeg源代码结构图 - 解码
  11. MinerConfig.java 爬取配置类
  12. [python]函数返回多个return值
  13. linux之nload和iftop查看网络使用情况
  14. mysql 提示表损坏处理方法
  15. Linux——入门命令
  16. cdnbest如何在站点里开启强制缓存
  17. db2 tablespaces table bufferpools reorgs
  18. Zabbix 3.0 LTS安装配置
  19. Practice 10
  20. HDU 2112 HDU Today 最短路

热门文章

  1. Rails 4.0 移除了 XML 参数解析器。若要使用请加入 actionpack-xml_parser
  2. Outlook2013 最小化Com加载项
  3. 黄聪:iis7.5 偶尔出现500服务器错误-内部服力器错误
  4. 如何在Ubuntu下的VirtualBox虚拟机(Windows XP)里挂载/使用U盘 (转载)
  5. caffe:用自己的数据训练网络mnist
  6. mongodb配置文件
  7. centos7 firewall 防火墙
  8. JVM实用参数(八)GC日志
  9. mount不是很熟悉 转载文章了解下 转自http://forum.ubuntu.org.cn/viewtopic.php?f=120&amp;t=257333
  10. Python 之 时间字符串、时间戳、时间差、任意时间字符串转换时间对象