Grails开源框架Note

   redirect(action:"hasOrder",params:[stuNo:myStudentNo, order:unDone.id.toString()])

1、身份验证springSecurityService
        case :取得用户    Id(教师 || 学生 ObjectId)     def myStudentId =  springSecurityService. currentUser.teacherstudentId
        case :取得用户    身份权限     def roles = SpringSecurityUtils.authoritiesToRoles( springSecurityService. authentication.authorities)
                                      验证用户身份    if(roles.contains( "ROLE_CHECKER")){……}                             Role 包括    ROLE_USER    ROLE_CHECKER       ROLE_ADMIN    ROLE_TEACHER    ROLE_STUDENT    
                                                                                                                                                                                 ROLE_MANAGER    ROLE_SUPER    ROLE_SWITCH_USER    ROLE_EDITOR
        case :取得用户   userName     def username =  springSecurityService. currentUser.username

        取得教师信息        userManagerService.getTeacherInstance

2、Ajax请求,返回页面
         def retAsJson = [:]
        retAsJson = [ "ret":0,
                               "msg":message(code: 'vippay.createOid.error')
                             ]
         render retAsJson  as JSON
           如果是函数中间需跳转返回,后面需要加上  return
3、check出现错误后,return
         flash.message = message(code:  'vippay.roles.error')           // messages_zh_CN.properties 文件中写明错误提示消息
        case  A :需跳转至错误画面                       redirect(controller: "message", action: "error")         return
        case  B :需跳至某个gsp页面,gsp<body>内需写明: 
          
                                                                       
4、日期格式化
      导包 :      import  java.text.SimpleDateFormat;
      定义 :      def df  =  new  SimpleDateFormat( "yyyy-MM-dd" )
              :      def df  =  new  SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" )
   EG..      x =  df .format( 日期格式 )

            x = df.parse(字符串)

   计算前一天

   import org.apache.commons.lang.time.DateUtils;

   def date = DateUtils.addDays( params.createDate, -1 )


5、String 与 Integer、int 的转换
          1   int i = Integer.valueOf(str).intValue();
         int i = Integer.parseInt(str);
     2   Integer integer=Integer.valueOf(str);
     3   String s = String.valueOf(i);
    String s = Integer.toString(i);
         String s = "" + i;

6、A函数调用B函数,需要返回>1个返回值
      B函数

          def ret = [:]

      ret << [param1:"Success"]

      ret << [param2:param2, flg :2]

      return ret
   A函数
      def result = ……
      result.param1 ……

7、后台往前台传List

       List<Product>  list = paymentService.getVIPProductList(type)

       List<Product>  proList = new ArrayList<Product>()

       list?.each{

           proList << [pid:it.pid, name:it.name, price:it.price, intro:it.intro]

       }

       result << [stuNo:myStudentNo, proList:proList.sort{it.pidas JSON]

8、数字合法性验证

       Pattern pattern =Pattern.compile("[0-9]*")

       if(!pattern.matcher(pid).matches())

       

       if(!params.studentNo || !params.studentNo.matches("[\\d]+"))

9、sort方法

       opList.sort{a,b ->

            b.opDate <=> a.opDate  }

       opList.sort{it.opDate}

10、后台组合combobox 

    case A:传递固定值

       def contrastList = [];

       contrastList << ['id':"eq",'text':"等于"];

       contrastList << ['id':"neq",'text':"不等于"];

       render contrastList as JSON

       

         case  B : 
                        
     
11、前后台传List

    Js:    var rows = [{key1:1},{key1:2}]

           var para=  JSON.stringify(rows)

    Controller:

                      def x =  params.para

           def x1 = new JsonSlurper().parseText(x)

12、页面超时避免出错【身份验证】

    import grails.plugins.springsecurity.Secured;

    @Secured(['ROLE_TEACHER','ROLE_ADMIN','ROLE_CHECKER'])

    class BOT900503Controller {}


13、Map中Key为变量时操作
          def  mList =[:]

    mList << [(it.name2+it.name) : it.score]

    取值时

    courseTestId.get(course)

    mList[it.name2 + it.name]


    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值