Thanks so much dear apple grew! Regards
On Sun, Apr 11, 2010 at 9:49 AM, Apple Grew <appleg...@gmail.com> wrote: > Maybe it was stripped by Wicket Mailing list. Anyway I will paste the code > in the mail itself. > > Regards, > Apple Grew > my blog @ http://blog.applegrew.com/ > > --Code Starts-- > > /** > * Web based application for e-shopping. > * Copyright (C) 2010 Nirupam Biswas (AppleGrew) > * > * This program is free software: you can redistribute it and/or modify > * it under the terms of the GNU General Public License as published by > * the Free Software Foundation, either version 3 of the License, or > * (at your option) any later version. > * > * This program is distributed in the hope that it will be useful, > * but WITHOUT ANY WARRANTY; without even the implied warranty of > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > * GNU General Public License for more details. > * > * You should have received a copy of the GNU General Public License > * along with this program. If not, see <http://www.gnu.org/licenses/>. > */ > package com.sym.core; > > import java.util.Arrays; > import java.util.List; > > import org.apache.wicket.util.resource.IResourceStream; > import org.apache.wicket.util.resource.locator.ResourceStreamLocator; > > import com.sym.core.utils.MiscUtils; > import com.sym.html.pages.BaseLayoutPage; > > public class AppStreamLocator extends ResourceStreamLocator { > private static final String HTML_EXT = ".html"; > private static final String CSS_EXT = ".css"; > private static final String JS_PATH = "/js/"; > private static final String CSS_PATH = "/css/"; > private static final String IMG_PATH = "/img/"; > private static final List<String> IMG_EXTS = Arrays.asList(new String[]{ > ".png", ".jpg", ".gif", ".svg" }); > > private static final String PAGES_PACKAGE = > BaseLayoutPage.class.getPackage().getName(); > private static final int PG_PACKAGE_NAME_LEN = PAGES_PACKAGE.length(); > private static final int GLOBAL_PACKAGE_NAME_LEN = > ApplicationCore.class.getPackage().getName().length(); > > @Override > public IResourceStream locate(final Class<?> clazz, String path) { > //Only pages' (not components or panel etc.s') HTMLs and CSS will be > fetched from 'res' directory. > if(clazz.getName().startsWith(PAGES_PACKAGE)){ > IResourceStream located = null; > > if (path.endsWith(HTML_EXT) || path.endsWith(CSS_EXT)) { > located = super.locate(clazz, "html/" + > ApplicationCore.getThemeName() + trimFolders(path, false)); > }else if (IMG_EXTS.contains(MiscUtils.getExt(path))) { > located = super.locate(clazz, "/img" + trimFolders(path, > false)); > } > > if (located != null) { > return located; > } > }else if(clazz.equals(ApplicationCore.class)){ > //Global shared resources have been requested. > IResourceStream located = null; > path = trimFolders(path, true); > > if (path.startsWith(CSS_PATH) || path.startsWith(JS_PATH) || > path.startsWith(IMG_PATH)) { > located = super.locateByResourceFinder(clazz, path); > if(located == null && path.startsWith(CSS_PATH)) { > located = super.locateByResourceFinder(clazz, > CSS_PATH + ApplicationCore.getThemeName() > + path.substring(path.indexOf(CSS_PATH) + > CSS_PATH.length() - 1)); > } > } > return located; > } > return super.locate(clazz, path); > } > > private String trimFolders(final String path, final boolean > isGlobalPath) { > return isGlobalPath? path.substring(GLOBAL_PACKAGE_NAME_LEN) > : path.substring(PG_PACKAGE_NAME_LEN); > } > > } > > > --Code Ends-- > > On Sun, Apr 11, 2010 at 9:18 AM, sahar rostami <sahar.rost...@gmail.com > >wrote: > > > thank you Apple Grew > > I can't receive your attachments. Are you sure they have been attached ? > > > > On Thu, Apr 8, 2010 at 6:34 AM, Apple Grew <appleg...@gmail.com> wrote: > > > > > Maybe u can try writing a stream locator as I did. I am attaching my > > stream > > > locator with this mail. > > > > > > The necessary plumbing required with this is:- > > > > > > resourceSettings.addResourceFolder("WEB-INF/res"); > > > resourceSettings.setResourceStreamLocator(new AppStreamLocator()); > > > getSharedResources().putClassAlias(ApplicationCore.class, "global"); > > > > > > The above needs to be put in your Application class. > > > > > > Regards, > > > Apple Grew > > > my blog @ http://blog.applegrew.com/ > > > > > > > > > > > > On Wed, Apr 7, 2010 at 10:19 PM, Stefan Lindner <lind...@visionet.de > > >wrote: > > > > > >> You could e.g. write your own page class > > >> > > >> class MyCustomersPage extens Page { > > >> @Override > > >> public void renderHead(HtmlHeaderContainer container) { > > >> super.renderHead(container); > > >> cssResourceReference = > > >> Session.get().getCssResourceReferenceForcustomer() > > >> > > >> > container.getHeaderResponse().renderCSSReference(cssResourceReference); > > >> } > > >> } > > >> > > >> And then let each of your pages be a child of MyCustomersPage > > >> > > >> Stefan > > >> -----Ursprüngliche Nachricht----- > > >> Von: sahar rostami [mailto:sahar.rost...@gmail.com] > > >> Gesendet: Mittwoch, 7. April 2010 18:42 > > >> An: users@wicket.apache.org > > >> Betreff: Re: resource (css) loading > > >> > > >> thank you moèz > > >> but i want to set the location for whole application not a specific > > file. > > >> > > >> On Wed, Apr 7, 2010 at 8:53 PM, moèz ben rhouma < > > benrhouma.m...@gmail.com > > >> >wrote: > > >> > > >> > In java > > >> > > > >> > add(new StyleSheetReference("stylesheet", BasePage.class, > > >> *"style.css"*)); > > >> > > > >> > style.css is the path of the file style.css (i.e you can write > > >> > "/stylesheets/style.css ...) > > >> > > > >> > 2010/4/7 sahar rostami <sahar.rost...@gmail.com> > > >> > > > >> > > No , i want to know how wicket knows where is style.css? > > >> > > > > >> > > On Wed, Apr 7, 2010 at 8:24 PM, moèz ben rhouma < > > >> > benrhouma.m...@gmail.com > > >> > > >wrote: > > >> > > > > >> > > > If I understand , you can use in constructor of class java the > > >> > following > > >> > > > code: > > >> > > > add(new StyleSheetReference("stylesheet", BasePage.class, > > >> > "style.css")); > > >> > > > > > >> > > > and in the html page you add: > > >> > > > <link wicket:id="stylesheet" > > > >> > > > > > >> > > > 2010/4/7 sahar rostami <sahar.rost...@gmail.com> > > >> > > > > > >> > > > > Thanks MZemeck > > >> > > > > But my question in another form is "Where wicket load css > (which > > >> > > class)?" > > >> > > > > how wicket knows where look up a css file? > > >> > > > > > > >> > > > > i'm trying to override default location of css file and read > > them > > >> > from > > >> > > > > path(s) specified in application start up ,but i can't because > i > > >> > don't > > >> > > > know > > >> > > > > how wicket loads them. > > >> > > > > > > >> > > > > any idea would help me! > > >> > > > > thanks > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > On Wed, Apr 7, 2010 at 7:50 PM, <mzem...@osc.state.ny.us> > > wrote: > > >> > > > > > > >> > > > > > One difference I am aware of (and community correct me if I > am > > >> > > wrong), > > >> > > > > > Wicket GZIPs resources. So if you directly link to the css > > >> using > > >> > an > > >> > > > > > "href" you will not have that feature. > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > sahar rostami <sahar.rost...@gmail.com> > > >> > > > > > 04/07/2010 11:16 AM > > >> > > > > > Please respond to > > >> > > > > > users@wicket.apache.org > > >> > > > > > > > >> > > > > > > > >> > > > > > To > > >> > > > > > Wicket User Mailing List <users@wicket.apache.org> > > >> > > > > > cc > > >> > > > > > > > >> > > > > > Subject > > >> > > > > > resource (css) loading > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > Hi all, > > >> > > > > > I want to know how wicket loads css files from location > > >> specified > > >> > in > > >> > > > > > HeaderContributer or using "href" in header? > > >> > > > > > > > >> > > > > > Thanks in advanced! > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > Notice: This communication, including any attachments, is > > >> intended > > >> > > > solely > > >> > > > > > for the use of the individual or entity to which it is > > >> addressed. > > >> > > This > > >> > > > > > communication may contain information that is protected from > > >> > > disclosure > > >> > > > > > under State and/or Federal law. Please notify the sender > > >> > immediately > > >> > > if > > >> > > > > > you have received this communication in error and delete > this > > >> email > > >> > > > from > > >> > > > > > your system. If you are not the intended recipient, you are > > >> > requested > > >> > > > not > > >> > > > > > to disclose, copy, distribute or take any action in reliance > > on > > >> the > > >> > > > > > contents of this information. > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > >> For additional commands, e-mail: users-h...@wicket.apache.org > > >> > > >> > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > >