I think i asked this before, but what version of wicket??
Normally (in the current wicket 1.3 buids) a ResourceReference to a
PackageResource will fallback to the real locale the PackageResource is
loaded
from after the ResourceReference is binded.
johan
On Nov 9, 2007 3:34 PM, German Morales <[EMAIL PROTECTED]> wrote:
> Yes, at least that's what i see when i ask Firefox to show me the source
> of the page.
>
> It seems that Johan Compagner wrote:
> > But even with bind() it still shows you the locale in the url?
> >
> > On Nov 9, 2007 3:22 PM, German Morales <[EMAIL PROTECTED]>
> > wrote:
> >
> >> Hi again,
> >>
> >> With your solution, the generated HTML now looks this way:
> >>
> >> <link rel="stylesheet" type="text/css"
> >> href="resources/path.to.mypage.MyPage/style_mystyle_mylocale.css" />
> >>
> >> i don't have style_mystyle_mylocale.css, but only style_mystyle.css
> >>
> >> But it works!
> >>
> >> So it seems that wicket later (when the browser asks for the css) makes
> >> the corresponding look up.
> >>
> >> Thanks a lot!
> >>
> >> German
> >>
> >> PS: just for the record (if someone reads this later), there was a easy
> >> typo in the code below. It should be Application.get() and not
> >> Application.bind().
> >>
> >> It seems that Johan Compagner wrote:
> >> > no as i said before
> >> > you have to create the resourcereference with the locale and the
> >> style.
> >> > Those are not automatically picked up from the session. If you don't
> >> give
> >> > them in the constructor
> >> > then both are just null
> >> >
> >> > What you could do is this:
> >> >
> >> > ResourceReference reference = new ResourceReference(MyPage.class,
> >> > "style.css",
> >> > locale,style);
> >> > reference.bind(Application.bind());
> >> > cResponse.getHeaderResponse().renderCSSReference(reference);
> >> > johan
> >> >
> >> >
> >> >
> >> > On Nov 9, 2007 1:55 PM, German Morales <[EMAIL PROTECTED]>
> >> > wrote:
> >> >
> >> >> version 1.3.0-beta4.
> >> >>
> >> >> I insist that the problem must be something different, perhaps in
> the
> >> >> way
> >> >> i pretend it to work. I know about the ResourceStreamLocator, and as
> >> i
> >> >> tell it works perfectly for the HTML. The difference is that from my
> >> >> class
> >> >> the framework looks automatically for the corresponding HTML, but
> how
> >> >> should it work for the CSS?
> >> >>
> >> >> Should i declare it in the code?
> >> >>
> >> >> // on renderHead
> >> >> cResponse.getHeaderResponse().renderCSSReference(new
> >> >> ResourceReference(MyPage.class, "style.css"));
> >> >>
> >> >> or how?
> >> >>
> >> >> What i'm doing is very simple... i'm forcing (for testing) a call to
> >> >> Session.setStyle("whatever"), then i have MyPage.html and
> >> >> MyPage_whatever.html (which works fine) and then style.css and
> >> >> style_whatever.css (which i expect to be used thanks to the code
> >> above).
> >> >>
> >> >> But when i see the generated html, it comes with the content of
> >> >> MyPage_whatever.html, but the header is generated this way:
> >> >>
> >> >> <link rel="stylesheet" type="text/css"
> >> >> href="resources/path.to.mypage.MyPage/style.css" />
> >> >>
> >> >> that is, not pointint to style_whatever.css as i expect.
> >> >>
> >> >> Thanks for the support,
> >> >>
> >> >> German
> >> >>
> >> >>
> >> >> It seems that Johan Compagner wrote:
> >> >> > it should fallback just fine..
> >> >> > what version of wicket are you using?
> >> >> >
> >> >> > Because in the ResourceStreamLocator we do now this:
> >> >> >
> >> >> > public IResourceStream locate(final Class clazz, String path,
> final
> >> >> String
> >> >> > style,
> >> >> > final Locale locale, final String extension)
> >> >> > {
> >> >> > // Try the various combinations of style, locale and extension
> to
> >> >> find
> >> >> > // the resource.
> >> >> > ResourceNameIterator iter = new ResourceNameIterator(path,
> style,
> >> >> > locale,
> >> >> > extension);
> >> >> > while (iter.hasNext())
> >> >> > {
> >> >> > String newPath = (String)iter.next();
> >> >> > IResourceStream stream = locate(clazz, newPath);
> >> >> > if (stream != null)
> >> >> > {
> >> >> > stream.setLocale(iter.getLocale());
> >> >> > return stream;
> >> >> > }
> >> >> > }
> >> >> > return null;
> >> >> > }
> >> >> >
> >> >> > johan
> >> >> >
> >> >> >
> >> >> >
> >> >> > On Nov 9, 2007 1:11 PM, German Morales
> >> <[EMAIL PROTECTED]>
> >> >> > wrote:
> >> >> >
> >> >> >> Hi again,
> >> >> >>
> >> >> >> Also, the problem is not giving the parameters to the
> >> >> >> ResourceReferences,
> >> >> >> if i call the full constructor then the ResourceReference works,
> >> but
> >> >> the
> >> >> >> problem is that it does not make a look up to see what's
> >> available,
> >> >> it
> >> >> >> just goes for the full thing. So, if i call the constructor with
> >> the
> >> >> >> session locale and style, what it does is search for the file
> >> >> >> style_mystyle_mylocale.css. This is not my intention, what i want
> >> it
> >> >> >> that
> >> >> >> that the framework searches for the style_mystyle_mylocale.css,
> >> then
> >> >> if
> >> >> >> not found fall back to style_mystyle.css, style_mylocale.css,
> >> >> style.css
> >> >> >> and so on (i'm not sure of the exact order of look up). So,
> >> modifying
> >> >> >> the
> >> >> >> constructor or passing the full parameters is not the solution, i
> >> >> think.
> >> >> >>
> >> >> >>
> >> >> >> Regards,
> >> >> >>
> >> >> >> German
> >> >> >>
> >> >> >> It seems that Johan Compagner wrote:
> >> >> >> > if you are creating your own ResourceReferences then you have
> >> to
> >> >> give
> >> >> >> the
> >> >> >> > style and locale to them
> >> >> >> > We could enhance the constructors that it does
> >> >> >> Session.get().getLocale()
> >> >> >> > and
> >> >> >> > Session.get().getStyle()
> >> >> >> > if you dont give them..
> >> >> >> >
> >> >> >> > johan
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > On Nov 9, 2007 10:27 AM, German Morales
> >> >> <[EMAIL PROTECTED]>
> >> >> >> > wrote:
> >> >> >> >
> >> >> >> >> Hi,
> >> >> >> >>
> >> >> >> >> I was thinking (as a last hope) that if this works for the
> >> HTMLs,
> >> >> i
> >> >> >> >> could
> >> >> >> >> provide different HTMLs that point internally to different
> >> CSSs,
> >> >> and
> >> >> >> it
> >> >> >> >> should work. But that would be duplicating the HTML just to
> >> have
> >> >> the
> >> >> >> CSS
> >> >> >> >> changed, and then it's not a good idea.
> >> >> >> >>
> >> >> >> >> Perhaps someone can tell me an official way to have localized
> >> and
> >> >> >> styled
> >> >> >> >> CSSs, the wicket way?
> >> >> >> >>
> >> >> >> >> Thanks again,
> >> >> >> >>
> >> >> >> >> German
> >> >> >> >>
> >> >> >> >> It seems that German Morales wrote:
> >> >> >> >> > Hi,
> >> >> >> >> >
> >> >> >> >> > I use it inside a page.
> >> >> >> >> >
> >> >> >> >> > I've tried...
> >> >> >> >> >
> >> >> >> >> > // inside the page constructor
> >> >> >> >> > add(HeaderContributor.forCss(new
> >> >> ResourceReference(MyPage.class
> >> >> ,
> >> >> >> >> > "style.css")));
> >> >> >> >> >
> >> >> >> >> > and
> >> >> >> >> >
> >> >> >> >> > // inside renderHead
> >> >> >> >> > cResponse.getHeaderResponse().renderCSSReference(new
> >> >> >> >> > ResourceReference(MyPage.class, "style.css"));
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > And I don't want to set the style and locale explicitely.
> >> What
> >> i
> >> >> >> want
> >> >> >> >> is
> >> >> >> >> > to deliver the application to a customer, and, if he wants,
> >> he
> >> >> adds
> >> >> >> >> the
> >> >> >> >> > customized page for a locale or style by itself (he could
> set
> >> >> the
> >> >> >> >> style
> >> >> >> >> > with a parameter or whatever). And as far as i understand
> the
> >> >> >> wicket
> >> >> >> >> > approach, that's how it should work automatically. In fact
> it
> >> >> works
> >> >> >> >> > perfecly when i do it for the html of the same page. The
> >> >> difference
> >> >> >> is
> >> >> >> >> > that the html is handled in other way (the framework does
> it)
> >> >> and
> >> >> >> when
> >> >> >> >> i
> >> >> >> >> > try to do it for the CSS of the page i do it (and it doesn't
> >> >> work).
> >> >> >> So
> >> >> >> >> > there must be something i'm not doing properly.
> >> >> >> >> >
> >> >> >> >> > Or, how should be the way to provide styled CSSs, there is
> >> >> another
> >> >> >> >> > aproach?
> >> >> >> >> >
> >> >> >> >> > thanks and bye,
> >> >> >> >> >
> >> >> >> >> > German
> >> >> >> >> >
> >> >> >> >> > It seems that Eelco Hillenius wrote:
> >> >> >> >> >>> The problem is that the file is there... just that it
> >> doesn't
> >> >> >> seem
> >> >> >> >> to
> >> >> >> >> >>> be
> >> >> >> >> >>> looking for it.
> >> >> >> >> >>>
> >> >> >> >> >>> If i force the full constructor:
> >> >> >> >> >>>
> >> >> >> >> >>> new ResourceReference(MyPage.class, "style.css",
> >> getLocale(),
> >> >> >> >> >>> getStyle())
> >> >> >> >> >>>
> >> >> >> >> >>> all works, so the file is correcly found and the name is
> >> >> correct.
> >> >> >> >> >>>
> >> >> >> >> >>> The problem is when i don't set the locale and style
> >> >> explicitely
> >> >> >> (as
> >> >> >> >> it
> >> >> >> >> >>> is
> >> >> >> >> >>> supposed to be done):
> >> >> >> >> >>>
> >> >> >> >> >>> new ResourceReference(MyPage.class, "style.css")
> >> >> >> >> >>>
> >> >> >> >> >>> then it doesn't find the file. Actually i think it doesn't
> >> >> even
> >> >> >> try
> >> >> >> >> to
> >> >> >> >> >>> find it, since as i mention i put a breakpoint in
> >> >> >> >> >>> ResourceReference#setStyle() and nobody is calling it. So
> >> >> later
> >> >> >> >> >>> internal
> >> >> >> >> >>> code to load the resource uses style and locale with null
> >> >> values.
> >> >> >> >> >>
> >> >> >> >> >> How do you use the resource reference? I think the class
> was
> >> >> >> designed
> >> >> >> >> >> in such a way that the components that use it (Image for
> >> >> instance)
> >> >> >> >> are
> >> >> >> >> >> responsible for setting the appropriate locale/ style 'just
> >> in
> >> >> >> time',
> >> >> >> >> >> so that switching locales etc works.
> >> >> >> >> >>
> >> >> >> >> >> Eelco
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >>
> >> ---------------------------------------------------------------------
> >> >> >> >> >> 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]
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> >> >> 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]
> >> >> >>
> >> >> >>
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> 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]
> >>
> >>
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>