Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I have written this up, you can change it where you want extra functionality. It doesn't use any external resources, let me know if I have looked over something!</p> <p>It's basically a wrapper for the <code>URI</code> class that allows you to more easily add subdirectories and parameters to the URI. You can set default values if you're not interested in some things.</p> <p>Edit: I have added an option to use a relative URI (per your question).</p> <pre><code>public class Test { public static void main(String[] args) throws URISyntaxException, MalformedURLException { URLBuilder urlb = new URLBuilder("www.example.com"); urlb.setConnectionType("http"); urlb.addSubfolder("somesub"); urlb.addSubfolder("anothersub"); urlb.addParameter("param lol", "unknown"); urlb.addParameter("paramY", "known"); String url = urlb.getURL(); System.out.println(url); urlb = new URLBuilder(); urlb.addSubfolder("servlet"); urlb.addSubfolder("jsp"); urlb.addSubfolder("somesub"); urlb.addSubfolder("anothersub"); urlb.addParameter("param lol", "unknown"); urlb.addParameter("paramY", "known"); String relUrl = urlb.getRelativeURL(); System.out.println(relUrl); } } class URLBuilder { private StringBuilder folders, params; private String connType, host; void setConnectionType(String conn) { connType = conn; } URLBuilder(){ folders = new StringBuilder(); params = new StringBuilder(); } URLBuilder(String host) { this(); this.host = host; } void addSubfolder(String folder) { folders.append("/"); folders.append(folder); } void addParameter(String parameter, String value) { if(params.toString().length() &gt; 0){params.append("&amp;");} params.append(parameter); params.append("="); params.append(value); } String getURL() throws URISyntaxException, MalformedURLException { URI uri = new URI(connType, host, folders.toString(), params.toString(), null); return uri.toURL().toString(); } String getRelativeURL() throws URISyntaxException, MalformedURLException{ URI uri = new URI(null, null, folders.toString(), params.toString(), null); return uri.toString(); } } </code></pre> <p>Output:</p> <p><strong>Absolute</strong> </p> <blockquote> <p><a href="http://www.example.com/somesub/anothersub?param%20lol=unknown&amp;paramY=known" rel="nofollow">http://www.example.com/somesub/anothersub?param%20lol=unknown&amp;paramY=known</a></p> </blockquote> <p><strong>Relative</strong> </p> <blockquote> <p>/servlet/jsp/somesub/anothersub?param%20lol=unknown&amp;paramY=known</p> </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload