初尝 JFinal 项目(二)
这里以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);
}
}
最新文章
- 浅谈JavaScript的New关键字
- table表格,让thead固定,tbody有滚动条,关键是都对齐的纯css写法。
- 张艾迪(创始人): 整合全新的UIW.AD概念
- 强化学习之 免模型学习(model-free based learning)
- C#多线程的介绍(园子里比较全的一篇)
- Dedecms当前位置{dede:field name=&#39;position&#39;/}修改
- Minimum Window Substring @LeetCode
- Core 1.0中的管道-中间件模式
- Sublime Text 3的常用插件的安装和介绍
- FFmpeg源代码结构图 - 解码
- MinerConfig.java 爬取配置类
- [python]函数返回多个return值
- linux之nload和iftop查看网络使用情况
- mysql 提示表损坏处理方法
- Linux——入门命令
- cdnbest如何在站点里开启强制缓存
- db2 tablespaces table bufferpools reorgs
- Zabbix 3.0 LTS安装配置
- Practice 10
- HDU 2112 HDU Today 最短路
热门文章
- Rails 4.0 移除了 XML 参数解析器。若要使用请加入 actionpack-xml_parser
- Outlook2013 最小化Com加载项
- 黄聪:iis7.5 偶尔出现500服务器错误-内部服力器错误
- 如何在Ubuntu下的VirtualBox虚拟机(Windows XP)里挂载/使用U盘 (转载)
- caffe:用自己的数据训练网络mnist
- mongodb配置文件
- centos7 firewall 防火墙
- JVM实用参数(八)GC日志
- mount不是很熟悉 转载文章了解下 转自http://forum.ubuntu.org.cn/viewtopic.php?f=120&;t=257333
- Python 之 时间字符串、时间戳、时间差、任意时间字符串转换时间对象