Another tipp on this topic: You could provide the CSS twice. Once within a <wicket:remove> for offline preview and editing, and again outside that pointing to an url which works only on your live environment. Or you can add the "live" CSS with a header contributor in your base page.
I use the latter one, but I have my CSS located along with my java files... 2007/9/10, Jason Mihalick <[EMAIL PROTECTED]>: > > > Thanks for the reply. > > Where are your css resources located under this configuration? I have a > similar setup. I have a BasePage.html that refers to the css: > > <head> > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" > /> > > <!-- Stylesheets --> > <link href="css/styles.css" rel="stylesheet" > type="text/css" > /> > ... > </head> > > But since my BasePage.html is located with my Java classes (at > src/main/java/com/xxxx/xxxx/ui/web/page/BasePage.html) and my css > resources > are located at src/main/webapp/css , if I try to load the BasePage.htmlfile > in an HTML editor, it will be unable to resolve the css resources. > > -- > Jason > > > Johan Maasing-2 wrote: > > > > Perhaps template inheritance can help you here. I have a 'base' page > > that contains the HTML head tag that all my pages use. For example I > > have a Basepage.html: > > > > <html xmlns="http://www.w3.org/1999/xhtml" > > xmlns:wicket="http://wicket.apache.org/"> > > <head> > > <link rel="stylesheet" type="text/css" > href="css/main.css"/> > > <link rel="stylesheet" type="text/css" > href="css/header.css"/> > > </head> > > <body> > > <wicket:child /> > > ... > > > > and a Basepage.java (which does some stuff common to all pages, like > > setting a feedbackpanel or whatever you like to have for all pages) > > > > Then in my "real" pages I do like this > > > > RealPage.java > > public class Index extends BasePage { > > public Index() { > > ... > > > > but the real funny stuff goes on in the template for the real page: > > <html xmlns="http://www.w3.org/1999/xhtml" > > xmlns:wicket="http://wicket.apache.org/"> > > <head> > > <link rel="stylesheet" type="text/css" > > href="../../../../../../WebContent/css/main.css"/> > > <link rel="stylesheet" type="text/css" > > href="../../../../../../WebContent/css/header.css"/> > > </head> > > <body> > > <wicket:extend> > > > > Real content here > > > > </wicket:extend> > > </body> > > ... > > > > In this way the template can be edited as a static HTML and include > > the right CSS relative to the sources in the filesystem. In runtime > > wicket will discard anythiong outside the wicket:extend in the > > template and use the HTML from the 'base' page. > > > > Hope this can help you somewhat. > > > > Cheers, > > Johan M > > > > On 9/10/07, Jason Mihalick <[EMAIL PROTECTED]> wrote: > >> > >> <sigh> Ok, thanks for the help on this. My objective was to be able > to > >> have > >> a structure of HTML and resource dependencies (css, js, img, etc) that > >> could > >> be easily edited in an HTML editor such that the editor doesn't have > >> problems resolving the resources and such that Wicket doesn't have > >> problems > >> resolving the resources. From reading your comments and those of > others, > >> however, this doesn't seem to be an easy task at all. So, I've gone > back > >> to > >> the standard Wicket approach where I have placed all HTML files along > >> side > >> my Java classes and have located my resources (css, js, img, etc) at > the > >> root of my web context (in the maven world, this is under the webapp > dir, > >> as > >> a sibling to WEB-INF). This keeps Wicket very happy at runtime, but > >> makes > >> it difficult for me to edit my site using a HTML editor. Maybe this > >> won't > >> be that big of a deal in practice. I guess I will find out in time. > >> > >> Thanks again guys! > >> > >> > >> igor.vaynberg wrote: > >> > > >> > oi. the basic problem is that WEB-INF is inaccessible via direct > urls. > >> > this > >> > is because it houses stuff like classes and you dont want the user to > >> have > >> > access to those. > >> > > >> > so there is a way to make it work, but it will involve wicket or > >> another > >> > servlet streaming those static resources, which is a lot of overhead. > >> > > >> > my suggestion is to move all the css/js/foo out of WEB-INF > >> > > >> > -igor > >> > > >> > > >> > On 9/8/07, Jason Mihalick <[EMAIL PROTECTED]> wrote: > >> >> > >> >> > >> >> I've been searching the forums and wiki on this half the night and I > >> just > >> >> can't figure out what I'm doing wrong here, so please bear with me > if > >> >> there > >> >> is an obvious answer to this. > >> >> > >> >> Wicket is not finding my css or js resources when the application is > >> >> deployed. > >> >> > >> >> I followed the wiki instructions for Wicket 1.3 on how to "Control > >> where > >> >> HTML files are loaded from" > >> >> ( > >> >> > >> > http://cwiki.apache.org/WICKET/control-where-html-files-are-loaded-from.html#ControlwhereHTMLfilesareloadedfrom-InWicket1.3 > >> >> ). > >> >> I have the following structure under WEB-INF: > >> >> > >> >> WEB-INF/ > >> >> +--- content/ > >> >> +--- css/ > >> >> +--- help/ > >> >> +--- img/ > >> >> +--- js/ > >> >> BasePage.html > >> >> Page1.html > >> >> Page2.html > >> >> etc. > >> >> web.xml > >> >> > >> >> In the init() method of my application class, I have added this code > >> as > >> >> per > >> >> the wiki: > >> >> > >> >> IResourceSettings resourceSettings = this.getResourceSettings(); > >> >> resourceSettings.addResourceFolder( "WEB-INF/content" ); > >> >> resourceSettings.setResourceStreamLocator( new > >> PathStripperLocator() > >> >> ); > >> >> > >> >> My implementation of the PathStripperLocator class matches that > found > >> on > >> >> the > >> >> wiki. > >> >> > >> >> When I view the source of Page1.html (which inherits from my > BasePage) > >> in > >> >> my > >> >> browser after wicket has served it, I see that Wicket is rewriting > the > >> >> location of the css resources as follows: > >> >> > >> >> <link href="../css/styles.css" rel="stylesheet" > >> type="text/css"/> > >> >> > >> >> I expected the href value to instead be "css/styles.css" (without > the > >> >> "../"). > >> >> > >> >> What do I need to do here in order to make this work? > >> >> > >> >> Your help is greatly appreciated! > >> >> > >> >> -- > >> >> Jason > >> >> > >> >> > >> >> -- > >> >> View this message in context: > >> >> > >> > http://www.nabble.com/Locating-CSS-under-WEB-INF%2C-please-help-tf4408084.html#a12575952 > >> >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> > >> >> > >> >> > --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> > >> >> > >> > > >> > > >> > >> -- > >> View this message in context: > >> > http://www.nabble.com/Locating-CSS-under-WEB-INF%2C-please-help-tf4408084.html#a12592027 > >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > -- > View this message in context: > http://www.nabble.com/Locating-CSS-under-WEB-INF%2C-please-help-tf4408084.html#a12594376 > Sent from the Wicket - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- greetings from Berlin, Rüdiger Schulz www.2rue.de
