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

Reply via email to