{
}
});
}
UrlAndParams url;
if (value == null)
{
url = new UrlAndParams("/");
}
else if (value instanceof UrlAndParams)
{
url = (UrlAndParams) value;
if (params.size() > 0)
{
url = new UrlAndParams(url); // keep original intact
}
}
else
{
url = new UrlAndParams(String.valueOf(value));
}
for (Map.Entry<String, Object> e : params.entrySet())
{
url.add(e.getKey(), e.getValue());
}
Writer w = (var != null ? new StringWriter() : getJspContext().getOut());
String path = url.getUrl();
if (path.length() == 0 || url.getUrl().charAt(0) == '/')
{
HttpServletRequest req = (HttpServletRequest) ((PageContext) getJspContext()).getRequest();
w.append(req.getContextPath());
}
url.writeTo(true, w);
if (var != null)
{
getJspContext().setAttribute(var, w.toString());
}
}