protected void decodeMultiple(FacesContext context, AutoComplete ac) { Map<String, String[]> paramValues = context.getExternalContext().getRequestParameterValuesMap(); Map<String, String> params = context.getExternalContext().getRequestParameterMap(); String clientId = ac.getClientId(context); String[] hinputValues = paramValues.get(clientId + "_hinput"); String[] submittedValues = (hinputValues != null) ? hinputValues : new String[]{}; String inputValue = params.get(clientId + "_input"); if (!isValueBlank(inputValue)) { submittedValues = LangUtils.concat(submittedValues, new String[]{inputValue}); } if (submittedValues.length > 0) { ac.setSubmittedValue(submittedValues); } else { ac.setSubmittedValue(""); } }
@Override public void decode(FacesContext context, UIComponent component) { Chips chips = (Chips) component; String clientId = chips.getClientId(context); if (!shouldDecode(chips)) { return; } Map<String, String> params = context.getExternalContext().getRequestParameterMap(); Map<String, String[]> paramValues = context.getExternalContext().getRequestParameterValuesMap(); String[] hInputValues = paramValues.get(clientId + "_hinput"); String[] submittedValues = (hInputValues != null) ? hInputValues : new String[]{}; String inputValue = params.get(clientId + "_input"); if (!isValueBlank(inputValue)) { submittedValues = LangUtils.concat(submittedValues, new String[]{inputValue}); } if (submittedValues.length > chips.getMax()) { return; } if (submittedValues.length > 0) { chips.setSubmittedValue(submittedValues); } else { chips.setSubmittedValue(""); } decodeBehaviors(context, chips); }