Kristian Rink wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all;

playing around with tomcat in order to both learn using the package and
create a small web site there, I'm currently left with a problem which,
though probably being small (and not really related to tomcat), keeps
bugging me:

I'm trying to do the visual stuff of my jsp using a css style file,
which is good, so far. Within the css file, I'm using images for
backgrounds etc like that:


background: #fff url(/images/bg_header_blau.jpg) no-repeat top left;


My problem, right now, is where to put the images within the web
application so they're actually found when displaying the page.
Initially, I created a folder "images" within my web application and
referred to the images using url(images/...) with relative path names,
which didn't work. Also tried to place the images folder inside
$CATALINA_HOME/webapps and then using absolute image urls (/image/...),
which also didn't work.

So, where's the magic? I've always been through some tougher moments
with css and images while dynamically generating content, but right now
I feel really helpless about that. Can someone enlighten me?

Well, your basic problem is that relative paths will not work, since pages can be in different directories. Absolute path has one problem, your application can be deployed under different paths. That problem is easy to solve, HttpServletRequest.getContextPath() will give you the deployment path. Just paste it on your desired CSS location, like this:

css.jsp
-------
...

background: #fff url(<%= request.getContextPath() %>/images/bg_header_blau.jpg) 
no-repeat top left;

or, if you're using JSP 2.0

background: #fff url(${request.contextPath}/images/bg_header_blau.jpg) 
no-repeat top left;

...
-------

Nix.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to