`
yanfaguanli
  • 浏览: 661932 次
文章分类
社区版块
存档分类
最新评论

Grails 控制查询范围的scaffold

 
阅读更多
CustomerController里由scaffold生成
Java代码 收藏代码
  1. staticallowedProperties=['name','address','telephone','postcode']
  2. deflist={
  3. params.max=Math.min(params.max?params.int('max'):10,100)
  4. defcustomerInstanceList,customerInstanceTotal
  5. if(params?.searchValue&&allowedProperties.contains(params?.searchKey)){
  6. defc=Customer.createCriteria()
  7. customerInstanceList=c.list(max:params.max,offset:params.offset?:0){
  8. ilike(params.searchKey,"%"+params.searchValue+"%")
  9. eq("deleted",false)
  10. }
  11. customerInstanceTotal=customerInstanceList.totalCount
  12. }else{
  13. customerInstanceList=Customer.findAllByDeleted(false,params)
  14. customerInstanceTotal=Customer.countByDeleted(false)
  15. }
  16. [customerInstanceList:customerInstanceList,customerInstanceTotal:customerInstanceTotal]
  17. }


对应的controller-scaffold部分为:
Java代码 收藏代码
  1. <%
  2. excludedProps=Event.allEvents.toList()<<'id'<<'version'<<'dateCreated'<<'lastUpdated'<<'deleted'<<'itemOrder'<<'memo'
  3. allowedNames=domainClass.persistentProperties*.name
  4. props=domainClass.properties.findAll{allowedNames.contains(it.name)&&!excludedProps.contains(it.name)&&!Collection.isAssignableFrom(it.type)}
  5. Collections.sort(props,comparator.constructors[0].newInstance([domainClass]asObject[]))
  6. defpropNames=[]
  7. props.name.each{propNames.add"'"+it+"'"}
  8. %>
  9. staticallowedProperties=<%=propNames%>
  10. deflist={
  11. params.max=Math.min(params.max?params.int('max'):10,100)
  12. def${propertyName}List,${propertyName}Total
  13. if(params?.searchValue&&allowedProperties.contains(params?.searchKey)){
  14. defc=${className}.createCriteria()
  15. ${propertyName}List=c.list(max:params.max,offset:params.offset?:0){
  16. ilike(params.searchKey,"%"+params.searchValue+"%")
  17. eq("deleted",false)
  18. }
  19. ${propertyName}Total=${propertyName}List.totalCount
  20. }else{
  21. ${propertyName}List=${className}.findAllByDeleted(false,params)
  22. ${propertyName}Total=${className}.countByDeleted(false)
  23. }
  24. [${propertyName}List:${propertyName}List,${propertyName}Total:${propertyName}Total]
  25. }


list页面由scaffold生成
Java代码 收藏代码
  1. <g:formaction="list"method="post"useToken="true">
  2. <g:selectname="searchKey"from="${CustomerController.allowedProperties.toList()}"value="${searchKey}"optionValue="${{message(code:'customer.'+it+'.label',default:message(code:'domainProperty.'+it+'.label',default:it))}}"/>
  3. <inputtype="text"name="searchValue"value="${params?.searchValue}"/>
  4. </g:form>


对应的scaffold-list部分为:
Java代码 收藏代码
  1. <g:selectname="searchKey"from="\${${domainClass.fullName}Controller.allowedProperties.toList()}"value="\${searchKey}"optionValue="\${{message(code:'${domainClass.propertyName}.'+it+'.label',default:message(code:'domainProperty.'+it+'.label',default:it))}}"/>


i18n追加
Java代码 收藏代码
  1. domainProperty.name.label=姓名
  2. ....
分享到:
评论

相关推荐

    grails-scaffold-core:脚手架自己的模板或插件提供的模板的核心功能。 例如grails-scaffold-extjs

    grails-scaffold-core 插件使搭建一切成为可能。 脚手架模板的核心功能位于/ src / groovy / scaffold /或插件提供的模板中。 例如grails-scaffold-angular用法grails create-demo或grails scaffold 两者都做同样的...

    Grails GORM查询.pdf

    简单介绍grails的查询操作,已经类似与hibnatate的查询方式

    grails-scaffold-extjs

    grails.plugin.scaffold.core.folders = ['backend':'', 'frontendExtjs':'extjs/'] 命令:grails createDemo 后端是用脚手架角度插件生成的。 所以需要一些手动编辑:在 BuildConfig.groovy 中,编辑行:include...

    Grails Grails Grails

    Grails Grails Grails Grails Grails

    Grails权威指南 Grails权威指南

    Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南

    grails框架数据查询

    NULL 博文链接:https://niuniufei.iteye.com/blog/2292361

    grails快捷键

    常用的grails的开发的快捷键基本都在里面的 本来应该是免费使用分享,希望得点积分学更多的东西来分享欢迎下载

    Grails权威指南

    第7章 grails控制器(controller)  7.1 控制器介绍  7.2 设置默认操作  7.3 访问request属性  7.3.1 使用日志(logging)  7.3.2 处理request参数  7.3.3 理解flash作用域  7.4 创建...

    Eclipse下搭建Grails项目

    Grails项目的应用越来越多,而对于初学者来说,在Eclipse下搭建Grails项目是一个难题,这个文档将教会你如何搭建Grails项目,希望对你有所帮助。

    Grails入门指南 -- 针对grails1.0.4更新

    Grails入门指南中文pdf -- 针对grails1.0.4更新,附加idea8 开发grails的流程

    Grails1.1中文文档

    Grails1.1中文文档

    grails+Xfire webservice

    grails+Xfire webservice

    grails

    grails-2.1.zip.001

    Groovy轻松入门——Grails实战基础篇

    在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章 向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入...

    grails开发环境配置及应用开发

    详细讲解grails开发环境配置。 详细讲解grails连接mysql数据库,crud开发

    Grails中文参考手册

    Grails 中文 参考手册

    Grails 教程

    基于Spring MVC的控制器层 构建于Gant 上的命令行脚本运行环境 内置Jetty服务器,不用重新启动服务器就可以进行重新加载 利用内置的Spring 容器实现依赖注入 基于Spring的MessageSource核心概念,提供了对国际化...

    grails 1.0.4

    Grails专为下一代JavaWeb应用程序而设计的框架,其借助于Groovy动态语言,使Web开发变得简单而方便。Grails尽量为更多现有的Java项目创建一个全面的框架(不仅局限于视图处理),这和当前一些Java框架提供给用户的一...

    Grails + Spring Security 权限控制

    详情地主:https://blog.csdn.net/qq_38425662/article/details/82703128

Global site tag (gtag.js) - Google Analytics