/** Append the supplied name/value pair to the end of the supplied URL, * after URLencoding name and value. The attribute will use the ? or & * character according to whether <code>isfirst</code> is true or false. * @param togo url * @param isfirst if true used ? else & * @param name the name to append * @param value value to append */ public static void appendAttribute(CharWrap togo, boolean isfirst, String name, String value) { togo.append(isfirst ? '?' : '&'); togo.append(URLEncoder.encode(name)); togo.append("="); togo.append(URLEncoder.encode(value)); }
/** * URL-encodes only the whitespace characters in a URL (necessary for some * faulty incomplete encodings). * @param URL the url to encode * @return encoded url */ public static String deSpace(String URL) { CharWrap togo = new CharWrap(URL.length()); for (int i = 0; i < URL.length(); ++ i) { char c = URL.charAt(i); if (Character.isWhitespace(c)) { URLEncoder.appendURLHex(c, togo); } else togo.append(c); } return togo.toString(); }
public static String makeURLAttributes(ParameterList params) { CharWrap togo = new CharWrap(); for (int i = 0; i < params.size(); ++i) { UIParameter param = params.parameterAt(i); togo.append("&").append(URLEncoder.encode(param.name)).append("=") .append(URLEncoder.encode(param.value)); } return togo.toString(); }
/** Convert a pathinfo array into an array of segments * * @param paths paths to convert * @return array of segments */ public static String toPathInfo(String[] paths) { CharWrap togo = new CharWrap(); for (int i = 0; i < paths.length; ++ i) { togo.append('/').append(URLEncoder.encode(paths[i])); } return togo.toString(); }