Jeecg Controller层的模版----自己的版本


自己修改了下Controller版本,改变原因,

1.msg面临的并发危险,

2.ModelAndView基本毫无作用的地位

3.ModelMap代替Request

出来的结果如图,使用了静态变量代替了view

效果如下:

模板是

package ${bussiPackage}.controller.${entityPackage};
import java.util.List;

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

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.web.system.service.SystemService;

import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity;
import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI;

/**
 * @Title: Controller
 * @Description: ${ftl_description}
 * @author JueYue
 * @date ${ftl_create_time}
 * @version V1.1
 *
 */
@Controller
@RequestMapping("/${entityName?uncap_first}Controller")
public class ${entityName}Controller extends BaseController {
	/**
	 * Logger for this class
	 */
	private static final Logger logger = Logger.getLogger(${entityName}Controller.class);
    //列表界面
    private static final String ${entityName?upper_case}_LIST_PAGE = "${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}List";
    //新增修改界面
    private static final String ${entityName?upper_case}_ADD_OR_UPDATE_PAGE = "${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}";

    @Autowired
	private ${entityName}ServiceI ${entityName?uncap_first}Service;
	@Autowired
	private SystemService systemService;

	/**
	 * ${ftl_description}列表 页面跳转
	 *
	 * @return
	 */
	@RequestMapping(params = "${entityName?uncap_first}")
	public String ${entityName?uncap_first}(HttpServletRequest request) {
		return ${entityName?upper_case}_LIST_PAGE;
	}

	/**
	 * easyui AJAX请求数据
	 *
	 * @param request
	 * @param response
	 * @param dataGrid
	 * @param ${entityName?uncap_first}
	 */

	@RequestMapping(params = "datagrid")
	public void datagrid(${entityName}Entity ${entityName?uncap_first},HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
		CriteriaQuery cq = new CriteriaQuery(${entityName}Entity.class, dataGrid);
		//查询条件组装器
		org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}, request.getParameterMap());
		this.${entityName?uncap_first}Service.getDataGridReturn(cq, true);
		TagUtil.datagrid(response, dataGrid);
	}

	/**
	 * 删除${ftl_description}
	 *
	 * @return
	 */
	@RequestMapping(params = "del")
	@ResponseBody
	public AjaxJson del(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) {
		AjaxJson j = new AjaxJson();
		${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId());
        j.setMsg("${ftl_description}删除成功");
		${entityName?uncap_first}Service.delete(${entityName?uncap_first});
		systemService.addLog(j.getMsg(), Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
		return j;
	}

	/**
	 * 添加${ftl_description}
	 *
	 * @param ${entityName?uncap_first}
	 * @return
	 */
	@RequestMapping(params = "save")
	@ResponseBody
	public AjaxJson save(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) {
		AjaxJson j = new AjaxJson();
		if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) {
            j.setMsg("${ftl_description}更新成功");
			${entityName}Entity t = ${entityName?uncap_first}Service.get(${entityName}Entity.class, ${entityName?uncap_first}.getId());
			try {
				MyBeanUtils.copyBeanNotNull2Bean(${entityName?uncap_first}, t);
				${entityName?uncap_first}Service.saveOrUpdate(t);
				systemService.addLog(j.getMsg(), Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
			} catch (Exception e) {
				e.printStackTrace();
                j.setMsg("${ftl_description}更新失败");
			}
		} else {
            j.setMsg("${ftl_description}添加成功");
			${entityName?uncap_first}Service.save(${entityName?uncap_first});
			systemService.addLog(j.getMsg(), Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
		}
		return j;
	}

	/**
	 * ${ftl_description}列表页面跳转
	 *
	 * @return
	 */
	@RequestMapping(params = "addorupdate")
	public String addorupdate(${entityName}Entity ${entityName?uncap_first}, ModelMap map) {
		if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) {
			${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId());
            map.put("${entityName?uncap_first}Page", ${entityName?uncap_first});
		}
		return ${entityName?upper_case}_ADD_OR_UPDATE_PAGE;
	}
}

大家也上传下自己的风格吧,适合自己的才是最好的

Jeecg Controller层的模版----自己的版本

时间: 2024-10-10 05:15:36

Jeecg Controller层的模版----自己的版本的相关文章

使用FormData进行Ajax请求上传文件到controller层的实现

需求背景: 页面上传一个文件到controller层,然后后台对文件进行处理.文件类型不限. 第一种:单纯的上传文件 页面功能展现: 第一步:首先需要两个jar commons-fileupload-1.3.2.jarcommons-io-2.4.jar 版本不限: pom文件中相应两个jar: [html] view plain copy print? <dependency> <groupId>commons-io</groupId> <artifactId&

DAO层,Service层,Controller层、View层介绍

来自:http://jonsion.javaeye.com/blog/592335 DAO层 DAO 层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此 接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及 有关数据库连接的参数都在Spring的配置文件中进行配置. Service层 Service 层主要负责业

Junit mockito 测试Controller层方法有Pageable异常

1.问题 在使用MockMVC+Mockito模拟Service层返回的时候,当我们在Controller层中参数方法调用有Pageable对象的时候,我们会发现,我们没办法生成一个Pageable的对象,会报一个Pageable是一个接口的错误.当我们把所有的参数从Pageable接口变成Pageable的实现类PageRequest的时候,所有的方法参数都换成PageRequest,又会出现一个新的错误,且不说PageRequest不能作为参数用于hibernate的分页查询,另一方面,它没

Controller层的写法

项目中的两个Controller层实现类,一个是跳转到jsp页面,一个是以Json形式返回Map键值对. 跳转到jsp页面: 1 package com.controller; 2 3 import java.io.IOException; 4 5 import javax.servlet.http.HttpServletRequest; 6 7 import org.apache.commons.httpclient.HttpClient; 8 import org.apache.common

DAO层,Service层,Controller层、View层

DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置. Service层:Service层主要负责业务模块的逻辑应用设计.同样是首先设计接口,再设计其实现的类,接着再Spring的配置文件中配

Spring mvc 对象的对象的属性如何传到controller层

jsp页面的form: <form class="am-form" id="addForm" action="addStudent" method="post"> <div class="am-g am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right">学生编号</div>

Spring+MVC Controller层接收App端请求的中文参数乱码问题。

在正文之前,说明下Filter的作用: 过滤器顾名思义就是进行过滤的,可以实现代码的定向执行和预处理.通俗点说法filter相当于加油站,request是条路,response是条路,目的地是servlet,这个加油站设在什么地方对什么数据操作可以由你来控制.备注:过滤器可以再请求和响应之前做一部分预处理,有效的过滤掉不需要的内容,而且过滤器可以被复用,节省了大量的复用代码,提高了java的代码执行效率 java的Controller层接收App的请求时,请求的参数是中文,服务器端接收到的是乱码

Spring Mvc 在非controller层 实现获取request对象

一般我们在Controller层,会编写类似这样的方法 @Controller @RequestMapping(value="/detail") public class GetURIDetailController { @SystemControllerLog(description = "id") @RequestMapping(value="/{id}",method={RequestMethod.GET}) public ModelAnd

spring controller层解决 跨域问题

前段时间,开发了一个小功能.作为后端开发,我这边写好接口之后,在Junit里模拟前端对接口测试,并没什么问题.可是在前端人员调用我接口的时候,怎么调也没有返回值. 后来知道,这是因为e前端 用 ajax 调用 后端接口 跨域不被允许.解决方法其实也很简单,只要在controller层接口函数上加上注解 @CrossOrigin(origins = "XXXXX").