获取下拉列表value方法有两种: 第一种: FacesContext ctx = FacesContext.getCurrentInstance(); ELContext elCtx = ctx.getELContext(); Application app = (Application)ctx.getApplication(); Object m_type = null; Object m_type_index = this.getExpenseItemType().getValue();//get index of dropdown list of type //get value dropdown list of ExpenseTypeID if(!m_type_index.equals(0)){ FacesCtrlListBinding ExpenseTypeIndex = (FacesCtrlListBinding)app.evaluateExpressionGet(ctx,"#{bindings.ExpenseTypeId}",Object.class); m_type = ((CustomViewRowImpl)ExpenseTypeIndex.getSelectedValue()).getKey().getAttribute(0); } 第二种: Object m_status = resolveSelectedChoiceValue("Status","Status");//get dropdownlist of status /** * Return the Binding Container as a DCBindingContainer. * @return current binding container as a DCBindingContainer */ protected DCBindingContainer getDCBindingContainer(){ BindingContext bc = BindingContext.getCurrent(); return (DCBindingContainer)bc.getCurrentBindingsEntry(); } /**convenience method for get real select choice value * @param listId: the list id name * @param attrName : the name of the selected choice * @return the real value */ public Object resolveSelectedChoiceValue(String listId,String attrName){ DCBindingContainer bc = getDCBindingContainer(); FacesCtrlListBinding list =(FacesCtrlListBinding)bc.getControlBinding(listId); return list.getAttribute(attrName); }
ADF:获取下拉列表值的方法
最新推荐文章于 2022-05-08 18:24:10 发布