import javax.servlet.http.HttpServletRequest;
import wicket.Page;
import wicket.PageParameters;
import wicket.RequestCycle;
import wicket.protocol.http.WebRequest;
import wicket.protocol.http.WebRequestCycle;
/**
* Builds a fully qualified path to the indicated page with the given
* parameters.
* @param pageClass The class of the Wicket page to link to.
* @param pageParameters The parameters to send to the page. Send an empty
* PageParameters instance if there are no parameters to send.
* @return The url in the form of a String.
*/
public String buildFullyQualifiedPath(
Class<? extends Page>pageClass, PageParameters pageParameters
)
{
StringBuilder sb = new StringBuilder();
WebRequestCycle cycle = (WebRequestCycle)RequestCycle.get();
HttpServletRequest req = ((WebRequest)cycle.getRequest()).getHttpServletRequest();
sb.append("http://").append(req.getServerName());
if (req.getServerPort() != 80) {
sb.append(':').append(req.getServerPort());
}
sb.append(cycle.urlFor(null, pageClass, pageParameters));
return sb.toString();
}
This works well enough, but seems a bit hackish. I was wondering if anyone else had come up with a better solution.
Thanks,
-- Philip A. Chapman Desktop and Web Application Development: Java, .NET, PostgreSQL, MySQL, MSSQL Linux, Windows 2000, Windows XP |
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user