我正在使用 Alfresco Community Edition-5.1.x ,我们创建了高级工作流程。在工作流程中,我们尝试在下拉列表中填充 Web 服务结果值。您能否指导我们如何在下拉列表中填充值?
最佳答案
在此示例代码中,我通过调用 Alfresco Repo 网页脚本将组成员加载到下拉控件中。
在这里注册控件(在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 服务接收到数据后的回调方法
<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
}
});
}
在此处启动 REST 服务请求
${grpName}_loadData();
</script>
关于java - 露天工作流程 Activity : How can I populate webservice result in dropdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39653115/