2016-09-23 5 views

답변

1

이 샘플 코드에서는 그룹 회원을 Alfresco Repo webscript를 호출하여 드롭 다운 컨트롤에로드하고 있습니다.

데이터가 나머지 서비스

<script type="text/javascript"> 
    function ${grpName}_loadDropDown(o){   
     var selectElem = YAHOO.util.Dom.get("${fieldHtmlId}"); 
     selectElem.options.length=0;   
     for (; i<o.json.data.length; i++){   
      var user = o.json.data[i];     
      selectElem.options[j] = new Option(user.displayName, user.shortName, false, false); 
      j++; 
     }    
    } 

통화 여기 REST 서비스

 function ${grpName}_loadData(){ 
     var url = Alfresco.constants.PROXY_URI+"api/groups/${grpName}/children?sortBy=displayName&maxItems=100&skipCount=0";    
     <#if field.control.params.sortAsc?exists> 
      <#assign sort=field.control.params.sortAsc?html> 
      url+="&sortAsc=${sort}"; 
     </#if> 
     Alfresco.util.Ajax.request({ 
     url: url, 
      method: "GET",     
      requestContentType: "application/json",  
      successCallback:{ 
      fn: function(o){ 
       ${grpName}_loadDropDown(o);    
      }, 
       scope: this      
      }, 
      failureCallback:{ 
      fn: function(o){alert("Unable to find group or error ");}, 
      scope: this 
      }    
     }); 
    } 

로부터 수신되면 (FTL 파일) 여기서

<label for="${fieldHtmlId}">${field.label?html}:<#if field.mandatory><span class="mandatory-indicator">${msg("form.required.fields.marker")}</span></#if></label> 
<select name="${field.name}" id="${fieldHtmlId}" value="${field.value?html}" style="width: 250px;"></select> 

콜백 수단을 제어 레지스터 여기에서 REST 서비스 요청 시작

${grpName}_loadData(); 

    </script> 
+0

하면 REST API를 웹 서비스, 어떻게 우리가 할 수있는 이것은 또한 전용 (Alfresco.constants.PROXY_URI + 'API/그룹/$ 프레스코의 붙박이 REST API입니다 드롭 다운 목록 – JohnPaul

+0

을 채우는하는 {grpName }/children? sortBy = displayName & maxItems = 100 & skipCount = 0 ";) –

+0

외부 웹 서비스가 외부 웹 서비스가 아닌 inbuilt 웹 서비스인데 어떻게 alfresco 및 webservices 결과에서 외부 웹 서비스를 사용하여 드롭 다운 목록으로 채우는 지, – JohnPaul

1

다음은 사용자를위한 샘플이며 다음 JSON-RSET 웹 서비스를 가지고 있습니다. 데이터를 가져와야합니다.

WebService에의 URL : https://jsonplaceholder.typicode.com/posts

결과는이에 더 도움이 필요하면

enter image description here은 알려 주시기 바랍니다, 하나 아래에 비슷한해야합니다.

<script type="text/javascript"> 
 
function ${groupName}_populateSelectData(o){ 
 
      var selectElem = YAHOO.util.Dom.get("${fieldHtmlId}"); 
 
      selectElem.options.length=0; 
 
      var i = 0; 
 
      var j = i+1; 
 
      
 
      for (; i<o.json.length; i++){ 
 
       selectElem.options[j] = new Option(o.json[i].title, o.json[i].title, false, false); 
 
       j++;     
 
      } 
 
      
 
     } 
 

 
function ${groupName}_updateList(){ 
 
      var url = "https://jsonplaceholder.typicode.com/posts"; 
 
       
 
      Alfresco.util.Ajax.request({ 
 
      url: url, 
 
       method: "GET",  
 
       
 
       requestContentType: "application/json",  
 
       successCallback:{ 
 
       fn: function(o){ 
 
        ${groupName}_populateSelectData(o);    
 
       }, 
 
        scope: this      
 
       }, 
 
       failureCallback:{ 
 
       fn: function(o){alert("Error ");}, 
 
       scope: this 
 
       }    
 
      }); 
 
     } 
 
     
 
     ${groupName}_updateList(); 
 
</script>

+0

고맙습니다. 저는 웹 서비스를 사용할 수 있고 야외에서 구현되었습니다. – JohnPaul

관련 문제