Author: ssolsagl Date: 2007-04-13 11:36:02 +0200 (Fri, 13 Apr 2007) New Revision: 4803
Modified: branches/2.11/war/src/webapp/tradedoubler/td_redirect.jsp Log: changed to use datamodel...getUtf8UrlEncoded() Modified: branches/2.11/war/src/webapp/tradedoubler/td_redirect.jsp =================================================================== --- branches/2.11/war/src/webapp/tradedoubler/td_redirect.jsp 2007-04-13 09:07:22 UTC (rev 4802) +++ branches/2.11/war/src/webapp/tradedoubler/td_redirect.jsp 2007-04-13 09:36:02 UTC (rev 4803) @@ -1,72 +1,7 @@ <%@ page import="no.schibstedsok.searchportal.util.TradeDoubler,java.net.URLEncoder" %> <%@ page import="no.schibstedsok.searchportal.datamodel.DataModel" %> -<%@ page import="java.net.URL" %> -<%@ page import="java.io.IOException" %> -<%@ page import="java.io.UnsupportedEncodingException" %> -<%@ page import="java.net.URLDecoder" %> -<%@ page import="java.net.URLEncoder" %> -<%@ page import="java.util.ArrayList" %> -<%@ page import="java.util.Enumeration" %> -<%@ page import="java.util.HashMap" %> -<%@ page import="java.util.Hashtable" %> -<%@ page import="java.util.List" %> -<%@ page import="java.util.Locale" %> -<%@ page import="java.util.Map" %> -<%@ page import="java.util.Properties" %> -<%@ page import="java.util.StringTokenizer" %> -<%! - // TODO This is cutnpaste from a private method in DataModelFilter. - // That function needs to be public and put in a requst helper class or similar. - // AndersJ ? - /** A safer way to get parameters for the query string. - * Handles ISO-8859-1 and UTF-8 URL encodings. - * - * @param request The servlet request we are processing - * @param parameter The parameter to retrieve - * @return The correct decoded parameter - * - * @author <a href="mailto:[EMAIL PROTECTED]">Anders Johan Jamtli</a> - */ - static String getParameterSafely(final HttpServletRequest request, final String parameter){ - - final StringTokenizer st = new StringTokenizer(request.getQueryString(), "&"); - String value = request.getParameter(parameter); - String queryStringValue = null; - - final String parameterEquals = parameter + '='; - while(st.hasMoreTokens()) { - final String tmp = st.nextToken(); - if (tmp.startsWith(parameterEquals)) { - queryStringValue = tmp.substring(parameterEquals.length()); - break; - } - } - - if (null != value && null != queryStringValue) { - - try { - final String encodedReqValue = URLEncoder.encode(value, "UTF-8") - .replaceAll("[+]", "%20") - .replaceAll("[*]", "%2A"); - - queryStringValue = queryStringValue - .replaceAll("[+]", "%20") - .replaceAll("[*]", "%2A"); - - if (!queryStringValue.equalsIgnoreCase(encodedReqValue)){ - value = URLDecoder.decode(queryStringValue, "ISO-8859-1"); - } - - } catch (UnsupportedEncodingException e) { - throw new RuntimeException(e.getMessage()); - } - } - - return value; - } -%> <% final DataModel datamodel = (DataModel) session.getAttribute(DataModel.KEY); @@ -111,7 +46,7 @@ String q = request.getParameter("q"); if (q != null) { - q = getParameterSafely(request, "q"); + q = datamodel.getParameters().getValue("q").getUtf8UrlEncoded(); } else { q = ""; } _______________________________________________ Kernel-commits mailing list [email protected] http://sesat.no/mailman/listinfo/kernel-commits
