Java Alfresco工作流活动:如何在下拉列表中填充webservice结果

Java Alfresco工作流活动:如何在下拉列表中填充webservice结果,java,alfresco,alfresco-share,Java,Alfresco,Alfresco Share,我使用的是Alfresco Community Edition-5.1.x,我们创建了高级工作流。在工作流中,我们试图在下拉列表中填充web服务结果值。您能指导我们如何在下拉列表中填充值吗?在这个示例代码中,我通过调用Alfresco Repo webscript将组成员加载到下拉列表控件中 在此处注册控件(在ftl文件中) ${field.label?html}:${msg(“form.required.fields.marker”)} 从REST服务接收数据后回调方法 <scri

我使用的是Alfresco Community Edition-5.1.x,我们创建了高级工作流。在工作流中,我们试图在下拉列表中填充web服务结果值。您能指导我们如何在下拉列表中填充值吗?

在这个示例代码中,我通过调用Alfresco Repo webscript将组成员加载到下拉列表控件中

在此处注册控件(在ftl文件中)

${field.label?html}:${msg(“form.required.fields.marker”)}
从REST服务接收数据后回调方法

  <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++;
        }            
     }

函数${grpName}\u加载下拉列表(o){
var selectElem=YAHOO.util.Dom.get(“${fieldHtmlId}”);
选择elem.options.length=0;

对于(;i这里是您的示例,我提供了以下开放的JSON-RSETWeb服务 获取数据

Web服务URL:

结果应该与下面的结果类似

如果你需要进一步的帮助,请告诉我


函数${groupName}\u populateSelectData(o){
var selectElem=YAHOO.util.Dom.get(“${fieldHtmlId}”);
选择elem.options.length=0;
var i=0;
var j=i+1;

对于(;iIf REST API webservice,如何填充下拉列表这也是Alfresco内置的REST API(Alfresco.constants.PROXY_URI+“API/groups/${grpName}/children?sortBy=displayName&maxItems=100&skipCount=0”)但是我的web服务外部不是alfresco内置的web服务,我如何在alfresco中使用外部web服务,以及如何将web服务结果填充到下拉列表中,请帮助参考感谢我能够使用web服务并在alfresco中实现
  <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++;
        }            
     }
     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
          }               
      }); 
     }
    ${grpName}_loadData();

  </script>