You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Bryce Fischer <br...@berzerker-soft.com> on 2003/09/25 02:16:54 UTC

Question

This is probably less a Struts question than it is an HTML question, but
I figured most here have dealt with this issue.

I'm a little confused by the <html:base /> tag. Lets say we have the
following directory structure WITHIN our webapp:

webapp
   - images
             - myimage.jpg
   - scripts
   - WEB-INF
           - pages
                  - test.jsp

Ok. Now I've got a jsp page that's in the webapp/WEB-INF/pages directory.
In that webapp, I've got the <html:base /> tag declared in the header.
Now, when I view source on my test.jsp page, I see this:

<base href="http://localhost/webapp/WEB-INF/pages/test.jsp"/>

Now, on that page, I want to reference an image in
webapp/images/myimage.jpg. I can get there by using:

href="../../images/myimage.jpg" 

But I'd rather not. Is there a way to get to the root of the webapp?
I've tried:

/images/myimage.jpg

And that doesn't seem to work.

-- 

Bryce Fischer <br...@berzerker-soft.com>


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Re: Question

Posted by Max Cooper <ma...@maxcooper.com>.
I don't like HTML base tags, generally, because they make debugging
confusing and they specify something that has no value (doesn't help, but
reduces flexibility, and might break stuff). I have heard some
justifications for their use, but I've written thousands of web pages and
never needed one. I tend to prefer to use context-relative URLs for
everything that is within my site or webapp. I do take great care to make
sure that my webapps could be deployed with any context path (/myapp or
/myapp-1.2 or
/myapp-debugging-something-old-without-disturbing-my-main-deployment). If
you start out with the idea that your app may be deployed with any context
path, it doesn't take much to keep everything working correctly. I know that
different people on my project team deploy the app with different context
paths, and I really like that since it continuously tests that we are doing
things properly.

Mozilla & Netscape's Page Info feature is useful for examining all the image
references in a rendered page if you suspect a problem. Those browsers also
have a more visible indicator that an image reference is broken than IE,
which is also nice.

I really like the struts tag libraries in that they allow you to specify a
context-relative path to resources using the page attribute. I use these all
the time.

For your image tag, you could do something like this:

<html:img page="/images/myimage.jpg" />

Another alternative without using a tag lib:

<img src="<%=request.getContextPath()%>/images/myimage.jpg">

Both of these will render like this (assuming your app's context path is
/webapp):

<img src="/webapp/images/myimage.jpg">

-Max

----- Original Message ----- 
From: "Bryce Fischer" <br...@berzerker-soft.com>
To: <st...@jakarta.apache.org>
Sent: Wednesday, September 24, 2003 5:16 PM
Subject: <html:base /> Question


> This is probably less a Struts question than it is an HTML question, but
> I figured most here have dealt with this issue.
>
> I'm a little confused by the <html:base /> tag. Lets say we have the
> following directory structure WITHIN our webapp:
>
> webapp
>    - images
>              - myimage.jpg
>    - scripts
>    - WEB-INF
>            - pages
>                   - test.jsp
>
> Ok. Now I've got a jsp page that's in the webapp/WEB-INF/pages directory.
> In that webapp, I've got the <html:base /> tag declared in the header.
> Now, when I view source on my test.jsp page, I see this:
>
> <base href="http://localhost/webapp/WEB-INF/pages/test.jsp"/>
>
> Now, on that page, I want to reference an image in
> webapp/images/myimage.jpg. I can get there by using:
>
> href="../../images/myimage.jpg"
>
> But I'd rather not. Is there a way to get to the root of the webapp?
> I've tried:
>
> /images/myimage.jpg
>
> And that doesn't seem to work.
>
> -- 
>
> Bryce Fischer <br...@berzerker-soft.com>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org