这个方法是在工作流的例子当中找到的,可以参考一下: public static String getUserName(UserInfo userInfo) { return getUserName(userInfo.getUserID(), userInfo.getLoginGroupID(), userInfo.getLocale(), new Date()); } public static String getUserName(String userId, String groupId, Locale locale, Date targetDate) { User user; try { UserManager userManager = UserManager.getUserManager(userId, groupId); user = userManager.getUser(userId); if (user == null) return null; } catch (ManagerException e) { return null; } return user.getName(targetDate, locale); } public static String getUserAttach(UserInfo userInfo) { return getUserAttach(userInfo.getUserID(), userInfo.getLoginGroupID(), userInfo.getLocale(), new Date()); } public static String getUserAttach(String userId, String groupId, Locale locale, Date targetDate) { try { CompanyManager companyManager = CompanyManager.getCompanyManager(userId, groupId); DepartmentMain departmentMain = companyManager.getDepartmentMain(userId); String companyCd = departmentMain.getCompanyCode(targetDate); String departmentCd = departmentMain.getDepartmentCode(targetDate); DepartmentStruct departmentStructs[] = companyManager.getDepartmentStructs(companyCd, departmentCd, targetDate, locale); StringBuilder buffer = new StringBuilder(); boolean isFirst = true; DepartmentStruct arr$[] = departmentStructs; int len$ = arr$.length; for (int i$ = 0; i$ < len$; i$++) { DepartmentStruct departmentStruct = arr$[i$]; if (isFirst) isFirst = false; else buffer.append("/"); buffer.append(departmentStruct.getName()); } return buffer.toString(); } catch (ManagerException e) { return null; } }