Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.lang.java.programmer > #4494

Re: Dealing with application names in a JEE web app

From Lew <noone@lewscanon.com>
Newsgroups comp.lang.java.programmer
Subject Re: Dealing with application names in a JEE web app
Date 2011-05-23 17:02 -0400
Organization albasani.net
Message-ID <irei1d$j8a$1@news.albasani.net> (permalink)
References <irebhd$16t$1@dont-email.me> <ireckt$6bv$1@news.albasani.net> <iref03$qdc$1@dont-email.me>

Show all headers | View raw


You left out too much context.

markspace wrote:
> Lew wrote:
>> markspace wrote:
>>> So how do folks write their apps so that they can handle being
>>> deployed under different names?

>> Relative URLS.

> I found a use-case [sic] where this doesn't work.

No, you didn't.  I meant relative to the app context, not with stupid "../" 
prefixes.

> Templates are used by various other pages in the web app. They have a static
> location, but their links are processed as if the template's "location" in the
> directory hierarchy was the location of the template client.
>
> Example: I have a template at /rsrc/priv/lnf-template.xhtml which includes
> other resources. Abbreviated example:
>
> <LNF-TEMPLATE.XHTML>
>
> <?xml version='1.0' encoding='UTF-8' ?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml"
> xmlns:ui="http://java.sun.com/jsf/facelets"
> xmlns:h="http://java.sun.com/jsf/html">
>
> <h:head>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> <link href="../css/style.css" rel="stylesheet" type="text/css" />

What?  No!

<link href="/css/style.css" rel="stylesheet" type="text/css" />

Here's a line from one of my own personal facelet projects:
<ui:composition template="/WEB-INF/templates/template.xhtml">

Here are a couple of lines from that template file:

...
   <h:outputStylesheet name="/css/purrtones.css" />
</h:head>
<h:body>
  <t:div>
   <ui:insert name="header">
     <h:graphicImage id="logo" value="/images/Duncan_and_the_purrtones.png"
                     alt="#{bundle.bandname} logo" styleClass="logo"
                     />
   </ui:insert>
...

All those paths are relative to the deployed application name, which is 
"/purrtones" by default, but as you say can change.  Thus, the image URL 
becomes, e.g.,
http://localhost:8080/purrtones/images/Duncan_and_the_purrtones.png
.

> <title>
> <ui:insert name="title">
> Facelets Template
> </ui:insert>
> </title>
> </h:head>
>
> <h:body>
> ...
> </LNF-TEMPLATE.XHTML>
>
> That link href to the style sheet is processed by the client, but the client
> could be any page in the directory hierarchy.
>
> For example for a client from the root directory (/readPost.xhtml), that
> relative link in the template doesn't work.
>
> <READPOST.XHTML>
>
> <?xml version='1.0' encoding='UTF-8' ?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml"
> xmlns:h="http://java.sun.com/jsf/html"
> xmlns:ui="http://java.sun.com/jsf/facelets">
>
> <h:body>
> <ui:composition template="/rsrc/priv/lnf-template.xhtml" >

That would translate to "<application-context>/rsrc/priv/lnf-template.xhtml", 
and I am having a hard time correlating that to the CSS example above.

> Hello from Facelets
> </ui:composition>
> </h:body>
>
> </html>
>
> </READPOST.XHTML>
>
>
> Pretty ugly, if you ask me.

I use relative links in templates all the time.  But you have to start them 
from "/", which translates to the application context root, which is the thing 
you're trying not to repeat.

-- 
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Dealing with application names in a JEE web app markspace <-@.> - 2011-05-23 12:11 -0700
  Re: Dealing with application names in a JEE web app Lew <noone@lewscanon.com> - 2011-05-23 15:30 -0400
    Re: Dealing with application names in a JEE web app markspace <-@.> - 2011-05-23 12:41 -0700
    Re: Dealing with application names in a JEE web app markspace <-@.> - 2011-05-23 13:10 -0700
      Re: Dealing with application names in a JEE web app Lew <noone@lewscanon.com> - 2011-05-23 17:02 -0400
        Re: Dealing with application names in a JEE web app jebblue <n@n.nnn> - 2011-05-23 19:30 -0500
          Re: Dealing with application names in a JEE web app Lew <noone@lewscanon.com> - 2011-05-23 21:13 -0400
        Re: Dealing with application names in a JEE web app markspace <-@.> - 2011-05-24 09:32 -0700
  Re: Dealing with application names in a JEE web app Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-05-23 19:01 -0300
  Re: Dealing with application names in a JEE web app Owen Jacobson <angrybaldguy@gmail.com> - 2011-05-23 23:20 -0400
  Re: Dealing with application names in a JEE web app Tom Anderson <twic@urchin.earth.li> - 2011-05-24 18:16 +0100
    Re: Dealing with application names in a JEE web app markspace <-@.> - 2011-05-25 12:16 -0700
      Re: Dealing with application names in a JEE web app markspace <-@.> - 2011-05-25 16:40 -0700
      Re: Dealing with application names in a JEE web app Tom Anderson <twic@urchin.earth.li> - 2011-05-26 18:07 +0100
        Re: Dealing with application names in a JEE web app Lew <noone@lewscanon.com> - 2011-05-26 13:25 -0400
          Re: Dealing with application names in a JEE web app markspace <-@.> - 2011-05-26 12:57 -0700
            Re: Dealing with application names in a JEE web app Lew <noone@lewscanon.com> - 2011-05-26 19:39 -0400
              Re: Dealing with application names in a JEE web app Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-05-27 07:31 -0300
                Re: Dealing with application names in a JEE web app Lew <noone@lewscanon.com> - 2011-05-27 10:14 -0400
        Re: Dealing with application names in a JEE web app markspace <-@.> - 2011-05-26 12:51 -0700
        Re: Dealing with application names in a JEE web app Steve Sobol <sjsobol@JustThe.net> - 2011-05-26 14:51 -0700

csiph-web