需求:在当前页面的pageButtonBar中有一个下拉选择框,选择框中的值集根据某些条件有不同。
public class SupplierInfoReviewCO extends OAControllerImpl { public static final String RCS_ID="$Header$"; public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion(RCS_ID, "%packagename%"); String spacerStr = "-------------------"; LinkedList actionListText = new LinkedList(); LinkedList actionListValue = new LinkedList(); /** * Layout and page setup logic for a region. * @param pageContext the current OA page context * @param webBean the web bean corresponding to the region */ public void processRequest(OAPageContext pageContext, OAWebBean webBean) { super.processRequest(pageContext, webBean); populateBuyerActions(pageContext, webBean); } public void processFormRequest(OAPageContext pageContext, OAWebBean webBean) { super.processFormRequest(pageContext, webBean); Integer integer = Integer.valueOf(0); if (pageContext.getParameter("GoBtn") != null) { try { integer = Integer.valueOf(Integer.parseInt(pageContext.getParameter("ActionList"))); } catch (Exception localException1) { integer = Integer.valueOf(-1); } } if (integer.intValue() == 210) { //your code return; } if (integer.intValue() == 220) { //your code return; } } private void populateBuyerActions(OAPageContext pageContext, OAWebBean webBean) { String wfStatus = pageContext.getParameter("WfStatus"); String suppResponseStatus = pageContext.getParameter("SuppResponseStatus"); addAction(this.spacerStr, -1); addAction(pageContext.getMessage("POS", "POS_SUPP_CANCEL_ACTN", null), 40); if("SUPP_RESPONSED".equals(suppResponseStatus)){ addAction(pageContext.getMessage("CUX", "CUX_POST_LEADER_APPROVER", null), 210); } if("PREPARATORY".equals(wfStatus)){ addAction(pageContext.getMessage("CUX", "CUX_CREATE_ADMIT_CATEGORY", null), 220); removeAction(pageContext.getMessage("CUX", "CUX_POST_LEADER_APPROVER", null), 210); } } private void addAction(String paramString, int paramInt) { if (!this.actionListText.contains(paramString)) { this.actionListText.add(paramString); this.actionListValue.add(Integer.toString(paramInt)); } } private void removeAction(String paramString, int paramInt) { if (this.actionListText.contains(paramString)) { this.actionListText.remove(paramString); this.actionListValue.remove(Integer.toString(paramInt)); } } }
分类:
OAF开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)