UrlBuilder builder = new UrlBuilder(href, true);
UrlBuilder builder = new UrlBuilder(href, false);
    public int doEndTag() throws JspException {        // If the beanclass attribute was supplied we'll prefer that to an href        if (this.beanclass != null) {            String beanHref = getActionBeanUrl(beanclass);            if (beanHref == null) {                throw new StripesJspException("The value supplied for the 'beanclass' attribute "                    + "does not represent a valid ActionBean. The value supplied was '" +                    this.beanclass + "'. If you're prototyping, or your bean isn't ready yet " +                    "and you want this exception to go away, just use 'href' for now instead.");            }            else {                setHref(beanHref);            }        }        HttpServletRequest request = (HttpServletRequest) getPageContext().getRequest();        HttpServletResponse response = (HttpServletResponse) getPageContext().getResponse();        String originalHref = getHref(); // Save for later, so we can restore the value        if (originalHref != null) {            String href = originalHref;            String contextPath = request.getContextPath();            // Append the context path, but only if the user didn't already            if (originalHref.startsWith("/") && !"/".equals(contextPath)                    && !originalHref.contains(contextPath + "/")) {                href = contextPath + href;            }            // Add all the parameters and reset the href attribute            UrlBuilder builder = new UrlBuilder(href, true);            if (this.event != null) {                builder.addParameter(this.event);            }            builder.addParameter(StripesConstants.URL_KEY_SOURCE_PAGE, request.getServletPath());            builder.addParameters(this.parameters);            setHref(response.encodeURL(builder.toString()));        }        try {            writeOpenTag(getPageContext().getOut(), "a");            String body = getBodyContentAsString();            if (body != null) {                getPageContext().getOut().write(body.trim());            }            writeCloseTag(getPageContext().getOut(), "a");        }        catch (IOException ioe) {            throw new StripesJspException("IOException while writing output in LinkTag.", ioe);        }        // Restore state and go on with the page        setHref(originalHref);        this.parameters.clear();        return EVAL_PAGE;    }