grails基于groovy开发的动态框架。开发过程中常见的错。

2 篇文章 0 订阅
2 篇文章 0 订阅

术语有误的情况大家可以多多留言,多多指教。下面我介绍下我用grails开发遇到的问题,以及解决方案。

1:第一个问题是jquery的。用了个多选可查询的插件,

Chosen:select下拉选择框美化插件。


比如说根据会员类型,角色动态加载不一样的值,因为角色用的是chosen插件,按照一般的处理,肯定会不行。 
按照我下面的ajax请求就可以解决问题。
$.ajax({
    url: "${createLink(controller: 'dataAuth',action: 'getRolesByMemberType')}",
    data: {"memberType":memberType},
    success: function (data) {
        $("#roleAttribute").empty();
        var options ='';
        for (var i=0; i<data.roles.length; i++) {
            var obj = data.roles[i];
            options += "<option value='"+obj.id+"'>"+obj.name+"</option>";
        }
        $("#roleAttribute").append(options);
        $("#roleAttribute").trigger("chosen:updated");//重新加载插件
    },error:function(XMLHttpRequest, textStatus, errorThrown){
        showResult(XMLHttpRequest.responseJSON)
    }
})
$("#roleAttribute").trigger("chosen:update");  这一句是解决的关键。



2:下面的问题是关于grails将值返回前台转换的问题。

List<Role> roles= dataAuthService.getRolesOutOfDataAuth(memberType);
一般情况下,在grails返回数据到前台就是 render(roles:roles) ,这样做的结果会返回的是一个字符串,那么在前台处理的时候会有问题。render( [roles:roles] as JSON) 这样操作就可以把值转换为json。
 
 
3:grails关于把两个不string进行合并。
比如说:
String a="1,2,3";
String b="4,5,6"
期待合并成一个字符串。java中的常规操作我就不说了。说下grails的处理吧

String c= [a,b].join(",") //返回的是1,2,3,4,5,6

如果是对象的中的一个属性
Role  role1=new Role()
role1.name="1,2.3,4";

Role  role2=new Role()
role1.name="5,6";

期待 合并得到个role.name="1,2,3,4,5,6"

String name= [role1,role2]*.name.join(",");


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值