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]

Reply via email to