Over a million developers have joined DZone.

JSF 2.0 New Feature Preview Series (Part 2.3): Resources

· Web Dev Zone

Make the transition to Node.js if you are a Java, PHP, Rails or .NET developer with these resources to help jumpstart your Node.js knowledge plus pick up some development tips.  Brought to you in partnership with IBM.

This is the fourth blog in the JSF 2.0 New Feature Preview Series. The previous entry covered the new resource API. This will be the last part of the Resources portion of this series and will cover leveraging the resource handling from the expression language.

A resource can be reference via the EL using the following syntax:

#{resource['<resource name>']}

OR

#{resource['<library name>:<resource name>']}

Where and are both literals that map to a resource within the application. If using Facelets, it would be possible to output the resource URL directly without using a component:

<a href="#{resource['header.jpg']}" />;

The resource expression can also be used in h:graphicImage:

<h:graphicImage value="#{resource['corp:header.jpg']}" />;

That said, I do think the EL expression syntax is somewhat limiting (due to limitations of the EL itself). Consider theming. An application could have several themes partitioned as different resource libraries. In this situation it would be impossible to overload the library value of the expression without a custom ResourceHandler implementation.

However, it is possible to eschew the value attribute on h:graphicImage and specify a library and name attribute that accept expression to resolve the library and resource name dynamically.

Keep an eye out for the next blog entry where I'll cover the expanded event system.

Learn why developers are gravitating towards Node and its ability to retain and leverage the skills of JavaScript developers and the ability to deliver projects faster than other languages can.  Brought to you in partnership with IBM.

Topics:

Published at DZone with permission of Ryan Lubke. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}