i fiddle around with regexpr to avoid the getAbsoluteRootPath( HttpServletRequest request) construct here is the result:
public String getURL() { Link link = linkFactory.createPageLink("Start", false, "username", "password"); String requestURL = globals.getHTTPServletRequest().getRequestURL().toString(); return requestURL.replaceAll("[^\\/]+$", "") + link.toURI(); } 2008/6/19 Sven Homburg <[EMAIL PROTECTED]>: > fernando, > > sorry, i dont thought that the url from getRequestURL may be not the base > url > > > > 2008/6/19 Sven Homburg <[EMAIL PROTECTED]>: > >> Fernando, >> >> do you think you are coding better then the guys from Sun ? >> why dont you use the HTTPServletRequest method "getRequestURL()" ? >> >> Jabbar, >> if you build the link via the LinkFactory instead the ComponentResource >> the result is that what you want: >> >> /** >> * t5components start page >> */ >> public class Start >> { >> @Inject >> private RequestGlobals globals; >> >> @Inject >> private LinkFactory linkFactory; >> >> public String getURL1() >> { >> Link link = linkFactory.createPageLink("Start", false, "username", >> "password"); >> return >> globals.getHTTPServletRequest().getRequestURL().append(link.toURI()).toString(); >> } >> } >> >> >> >> 2008/6/19 Fernando Padilla <[EMAIL PROTECTED]>: >> >>> We use something like this to construct the baseUrl from a request. So >>> it will either be to the root of the server, or to the root of the context >>> path. So I usually do: >>> >>> >>> getAbsoluteRootPath( request ) + link.toAbsoluteURI(); >>> >>> >>> >>> >>> >>> public static String getAbsoluteContextPath( HttpServletRequest >>> request ) { >>> return getAbsoluteRootPath( request ) + >>> request.getContextPath(); >>> } >>> >>> public static String getAbsoluteRootPath( HttpServletRequest >>> request ) { >>> StringBuilder sb = new StringBuilder(); >>> String scheme = request.getScheme(); >>> int port = request.getServerPort(); >>> sb.append( scheme ); >>> sb.append( "://" ); >>> sb.append( request.getServerName() ); >>> if ( ! ( ( scheme.equals( "http" ) && port == 80 ) || ( >>> scheme.equals( "https" ) && port == 443 ) ) ) { >>> sb.append( ":" + port ); >>> } >>> return sb.toString(); >>> >>> } >>> >>> >>> >>> Jabbar wrote: >>> >>>> Sven, >>>> >>>> I got the following >>>> >>>> url is >>>> http://localhost:8080/emaildetails.formregister/username/password >>>> >>>> Its actually showing the request url as well as the page and context >>>> parameters we have specified using createPageLink. It think with a bit >>>> of string manipulation I can get the result I want. There ought to be >>>> a more elegant way to do this though... >>>> >>>> Thanks for your help >>>> >>>> >>>> 2008/6/19 Sven Homburg <[EMAIL PROTECTED]>: >>>> >>>>> sorry, i went wrong >>>>> use : >>>>> >>>>> requestGlobals.getHTTPServletRequest().getRequestURL().toString() + >>>>> link.toURI(); >>>>> >>>>> 2008/6/19 Jabbar <[EMAIL PROTECTED]>: >>>>> >>>>> Hello Sven, >>>>>> >>>>>> I got >>>>>> >>>>>> "url is /register/username/password" >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2008/6/19 Sven Homburg <[EMAIL PROTECTED]>: >>>>>> >>>>>>> try >>>>>>> >>>>>>> Link link = resources.createPageLink("Register", false, p.toArray()); >>>>>>> System.err.println(link.toAbsoluteURI()) >>>>>>> >>>>>>> 2008/6/19 Jabbar <[EMAIL PROTECTED]>: >>>>>>> >>>>>>> Hello all, >>>>>>>> >>>>>>>> I'm trying to create a url I can embed in an email using the >>>>>>>> following >>>>>>>> >>>>>>>> List<String> p = new ArrayList<String>(); >>>>>>>> p.add(emailAddress); >>>>>>>> p.add(password); >>>>>>>> Link link = resources.createPageLink("Register", >>>>>>>> false, >>>>>>>> p.toArray()); >>>>>>>> //emailVerifier.sendVerification(user, >>>>>>>> requestGlobals.getHTTPServletRequest().getPathInfo() +link.toURI()); >>>>>>>> System.out.println("url is >>>>>>>> "+requestGlobals.getHTTPServletRequest().getPathInfo() >>>>>>>> +"/"+link.toURI()); >>>>>>>> >>>>>>>> the value of the System.out.println is >>>>>>>> "url is null/register/username/password" >>>>>>>> >>>>>>>> How do I get the name and port of the web server? >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks >>>>>>>> >>>>>>>> A Jabbar Azam >>>>>>>> >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> -- >>>>>>> with regards >>>>>>> Sven Homburg >>>>>>> http://tapestry5-components.googlecode.com >>>>>>> http://chenillekit.googlecode.com >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> Thanks >>>>>> >>>>>> A Jabbar Azam >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> with regards >>>>> Sven Homburg >>>>> http://tapestry5-components.googlecode.com >>>>> http://chenillekit.googlecode.com >>>>> >>>>> >>>> >>>> >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> >> -- >> with regards >> Sven Homburg >> http://tapestry5-components.googlecode.com >> http://chenillekit.googlecode.com >> > > > > -- > with regards > Sven Homburg > http://tapestry5-components.googlecode.com > http://chenillekit.googlecode.com > -- with regards Sven Homburg http://tapestry5-components.googlecode.com http://chenillekit.googlecode.com