/** * Also see {@link #getPublicRequestParameter(HstRequest, String)}. * * @param request * @param parameterName * @return The public request parameters String array for parameterName. If no values for parameterName found, <code>new String[0]</code> is returned */ public String[] getPublicRequestParameters(HstRequest request, String parameterName) { Map<String, String []> namespaceLessParameters = request.getParameterMap(""); String [] paramValues = namespaceLessParameters.get(parameterName); if (paramValues != null && paramValues.length > 0) { return paramValues; } return ArrayUtils.EMPTY_STRING_ARRAY; }
/** * Returns an array of values for a public request parameter. For use of multiple checkboxes * * @param request * @param paramName * @return String[] value of the request parameter. null if the parameter does not exist or is empty. * @deprecated please use HST native BaseHstComponent#getPublicRequestParameters() */ @Deprecated public String[] getPublicRequestParameters(final BaseHstComponent comp, final HstRequest request, final String paramName) { final Map<String, String[]> namespaceLessParameters = request.getParameterMap(""); return namespaceLessParameters.get(paramName); }
/** * A public request parameter is a {@link javax.servlet.http.HttpServletRequest} parameter that is not namespaced. Thus for example ?foo=bar. Typically, * a namespaced request parameter for example looks like ?r1_r4:foo=bar. * Public request parameters are used when some parameter from some hst component needs to be readable by another hst * component. For example when you have a search box in the top of your webpage. The input value there should be * readable by the center content block displaying the search results. In that case, this method can be used * to fetch the public request parameter. Also see {@link #getPublicRequestParameters(HstRequest, String)} * @param request * @param parameterName * @return The public request parameter for parameterName. If there are multiple values, the first one is returned. If no value, <code>null</code> is returned */ public String getPublicRequestParameter(HstRequest request, String parameterName) { Map<String, String []> namespaceLessParameters = request.getParameterMap(""); String [] paramValues = namespaceLessParameters.get(parameterName); if (paramValues != null && paramValues.length > 0) { return paramValues[0]; } return null; }
/** * @return returns a component rendering URL that <strong>includes</strong> the request parameters for the * {@link org.hippoecm.hst.core.component.HstRequest} parameter as well as these are required for async component rendering requests */ protected HstURL createAsyncComponentRenderingURL(final HstRequest request, final HstResponse response) { HstURL url = response.createComponentRenderingURL(); url.setParameters(request.getParameterMap()); return url; } }
/** * Also see {@link #getPublicRequestParameter(HstRequest, String)}. * * @param request * @param parameterName * @return The public request parameters String array for parameterName. If no values for parameterName found, <code>new String[0]</code> is returned */ public String[] getPublicRequestParameters(HstRequest request, String parameterName) { String contextNamespaceReference = request.getRequestContext().getContextNamespace(); if (contextNamespaceReference == null) { contextNamespaceReference = ""; } Map<String, String []> namespaceLessParameters = request.getParameterMap(contextNamespaceReference); String [] paramValues = namespaceLessParameters.get(parameterName); if (paramValues != null && paramValues.length > 0) { return paramValues; } return new String[0]; }
/** * A public request parameter is a request parameter that is not namespaced. Thus for example ?foo=bar. Typically, * a namespaced request parameter for example looks like ?r1_r4:foo=bar. * Public request parameters are used when some parameter from some hst component needs to be readable by another hst * component. For example when you have a search box in the top of your webpage. The input value there should be * readable by the center content block displaying the search results. In that case, this method can be used * to fetch the public request parameter. Also see {@link #getPublicRequestParameters(HstRequest, String)} * @param request * @param parameterName * @return The public request parameter for parameterName. If there are multiple values, the first one is returned. If no value, <code>null</code> is returned */ public String getPublicRequestParameter(HstRequest request, String parameterName) { String contextNamespaceReference = request.getRequestContext().getContextNamespace(); if (contextNamespaceReference == null) { contextNamespaceReference = ""; } Map<String, String []> namespaceLessParameters = request.getParameterMap(contextNamespaceReference); String [] paramValues = namespaceLessParameters.get(parameterName); if (paramValues != null && paramValues.length > 0) { return paramValues[0]; } return null; }