微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

术语有误的情况大家可以多多留言,多多指教。下面我介绍下我用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,3,4,6

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

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

期待 合并得到个role.name="1,6"

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐