Grails는 groovy가 개발 한 동적 프레임 워크를 기반으로합니다. 개발 과정에서 흔히 발생하는 실수.

용어가 잘못된 경우 메시지를 남기고 더 많은 제안을 할 수 있습니다. 아래에서는 grails로 개발할 때 발생한 문제와 솔루션을 소개합니다.

1 : 첫 번째 질문은 jquery입니다. 다중 선택 및 쿼리 가능한 플러그인을 사용했습니다.

선택 : 플러그인을 아름답게하기 위해 드롭 다운 선택 상자를 선택합니다.


예를 들어 구성원 유형에 따라 역할은 선택한 플러그인을 사용하기 때문에 역할이 동적으로 다른 값을로드하므로 일반 처리에 따라 확실히 작동하지 않습니다. 
내 ajax 요청에 따라 문제를 해결할 수 있습니다.
$ . ajax ( {
 url : " $ {
      createLink ( controller : 'dataAuth' , action : 'getRolesByMemberType' ) } " ,
 데이터 : {
     "memberType" : memberType } ,
 success : function (data) {
 $ ( "#roleAttribute" )). empty () ;
 var options = '' ;
 for ( var    
         
                                나는 = 0 ; i <data.roles. 길이 ; 나는 ++) {
 var obj = data.roles [ i ] ;
옵션 + = "<옵션 값 = '" + obj . id + " '>" + obj . 이름 + "</ option>" ;
}
 $ ( "#roleAttribute" ). 추가 ( 옵션 ) ;
$ ( "#roleAttribute" ). 트리거 ( "선택 :                                                ) ; // 위젯 다시로드
 } , error : function (the XMLHttpRequest , textStatus , errorThrown) {
 the showResult (XMLHttpRequest.responseJSON)
     }
 } )            
$ ( "# roleAttribute"). trigger ( "chosen : update");이 문장은 솔루션의 핵심입니다.



2 : 다음 질문은 값을 포 그라운드 변환으로 반환하는 grails에 관한 것입니다.

<Role> 역할 나열 = dataAuthService .getRolesOutOfDataAuth (memberType);
정상적인 상황에서 grails가 데이터를 포 그라운드로 반환하면 render (roles : roles)가되고 그 결과 문자열이 반환되므로 포 그라운드에서 처리 할 때 문제가 발생합니다. render ( [ roles : roles ] as JSON)이 연산은 값을 json으로 변환 할 수 있습니다.
 
  
3 : Grails는 두 개의 비 문자열을 병합하는 것입니다.
예를 들면 다음과 같습니다.
문자열 a = "1,2,3";
문자열 b = "4,5,6"
하나의 문자열로 병합 될 것으로 예상됩니다. Java의 기존 작업에 대해서는 언급하지 않겠습니다. 성배 취급에 대해 이야기합시다

String c = [a, b] .join ( ",") // 반환 된 값은 1, 2, 3, 4, 5, 6입니다.

객체의 속성 인 경우
역할 role1 = new Role ()
role1.name = "1,2.3,4";

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

역할을 얻으려면 병합 할 것으로 예상됩니다 .name = "1,2,3,4,5,6"

문자열 이름 = [role1, role2] *. name.join ( ",");


추천

출처blog.csdn.net/lileronglilerong/article/details/51458906