Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.java.programmer > #4494
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar
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