<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5396570633771229267</id><updated>2012-01-30T12:40:56.975-04:00</updated><category term='Performance'/><category term='JSP'/><category term='ViewScoped'/><category term='DataTable'/><category term='Tutorial'/><category term='Include'/><category term='DTO'/><category term='Ajax'/><category term='Focus'/><category term='Upload File'/><category term='Validator'/><category term='EJB'/><category term='ValueChangeListener'/><category term='Immediate'/><category term='UseBean'/><category term='Communication'/><category term='Messages'/><category term='SelectOneMenu'/><category term='Design Patterns'/><category term='Servlet'/><category term='DAO'/><category term='StackOverflow'/><category term='i18n'/><category term='Tomahawk'/><category term='MySQL'/><category term='POST-Redirect-GET'/><category term='Managed Bean'/><category term='CSV'/><category term='Whitespace'/><category term='PhaseListener'/><category term='JDBC'/><category term='Highlight'/><category term='Renderer'/><category term='Utility'/><category term='Tomcat'/><category term='Filter'/><category term='Unicode'/><category term='TabbedPanel'/><category term='JSF2'/><category term='Eclipse'/><category term='Custom Component'/><category term='JSF'/><category term='Download File'/><category term='Converter'/><category term='Rant'/><category term='Facelets'/><category term='Glassfish'/><category term='JavaScript'/><category term='SelectBooleanCheckbox'/><category term='Dutch'/><title type='text'>The BalusC Code</title><subtitle type='html'>Code depot of a Java EE developer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>70</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5534066312877593755</id><published>3000-01-01T02:01:00.006-04:00</published><updated>2011-01-26T22:02:49.061-04:00</updated><title type='text'>Welcome</title><summary type='text'>Welcome at The BalusC Code!

This website (let's call it "blog" for now) was originated at a site called "The BalusC Server" which existed since may 1999 and was available on http://balusc.xs4all.nl since june 2001. At 31 august 2007 that site was stopped due to the emigration plans of BalusC and its family from The Netherlands to Curaçao. That site was hosted at a private webserver which was </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5534066312877593755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5534066312877593755' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5534066312877593755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5534066312877593755'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/3000/01/welcome.html' title='Welcome'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-2633127139474724791</id><published>2011-09-16T19:22:00.057-04:00</published><updated>2012-01-10T11:14:07.789-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EJB'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF2'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Communication'/><title type='text'>Communication in JSF 2.0</title><summary type='text'> Fast menu Introduction Managed bean names Managed bean scopes Injecting managed beans in each other Injecting request parameters in a view scoped bean @ViewScoped fails in tag handlers Implicit navigation Implicit EL objects Implicit output text Normal (synchronous) POST form Ajax (asynchronous) POST form Ajax validation Ajax rendering of content outside form Ajax rendering of content which </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/2633127139474724791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=2633127139474724791' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2633127139474724791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2633127139474724791'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2011/09/communication-in-jsf-20.html' title='Communication in JSF 2.0'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-7569861159111652059</id><published>2011-01-30T23:24:00.031-04:00</published><updated>2011-11-17T21:00:42.132-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Facelets'/><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF2'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Glassfish'/><title type='text'>JSF 2.0 tutorial with Eclipse and Glassfish</title><summary type='text'>
 
  Fast menu
  Introduction
  Preparing
  Download and install Java SE 6 JDK
  Download and install Java EE 6 Web Profile SDK
  Download and install Eclipse Helios 3.6 SR1
  Run and configure Eclipse
  Integrate Glassfish in Eclipse
  Prepare JSF web project in Eclipse
  Create JSF hello world in Eclipse - The model
  Create JSF hello world in Eclipse - The controller
  Create JSF hello world </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/7569861159111652059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=7569861159111652059' title='29 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7569861159111652059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7569861159111652059'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2011/01/jsf-20-tutorial-with-eclipse-and.html' title='JSF 2.0 tutorial with Eclipse and Glassfish'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4aRLuh8AW_A/TUYgNUh605I/AAAAAAAAAco/qFY6xRZ3nuU/s72-c/Download-Java-SE-6-JDK-%252304.png' height='72' width='72'/><thr:total>29</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-366895878948137286</id><published>2010-10-29T12:23:00.003-04:00</published><updated>2011-02-01T23:51:59.586-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facelets'/><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF2'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='i18n'/><category scheme='http://www.blogger.com/atom/ns#' term='Unicode'/><title type='text'>Internationalization in JSF with UTF-8 encoded properties files</title><summary type='text'>For my current employer I get paid to -among others of course- write blogs for the local development team. Those blogs are fortunately available online for everyone. So, here's just a link instead of a copypaste ;)

Internationalization in JSF with UTF-8 encoded properties files

I must admit that I miss the lack of syntax highlighting over there as well, we would need to look for a Wordpress </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/366895878948137286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=366895878948137286' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/366895878948137286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/366895878948137286'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/10/internationalization-in-jsf-with-utf-8.html' title='Internationalization in JSF with UTF-8 encoded properties files'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-2732089723157789699</id><published>2010-09-05T14:13:00.001-04:00</published><updated>2010-11-27T02:36:32.924-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='StackOverflow'/><title type='text'>Disadvantages of JSF, a bit of history</title><summary type='text'>This is a copy of my answer on stackoverflow.com.



JSF 2.0 disadvantages? Honestly, no serious disadvantages comes to mind. JSF in its current release still need to get rid of the negative imago as it was grown during the early ages. In the history there were indeed several serious disadvantages.

JSF 1.0 (March 2004)

This was the initial release. It was cluttered of bugs in both the core and </summary><link rel='related' href='http://stackoverflow.com/q/3623911/157882' title='Disadvantages of JSF, a bit of history'/><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/2732089723157789699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=2732089723157789699' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2732089723157789699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2732089723157789699'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/09/disadvantages-of-jsf-bit-of-history.html' title='Disadvantages of JSF, a bit of history'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-4557161289836064829</id><published>2010-08-22T00:33:00.004-04:00</published><updated>2011-02-01T06:32:42.785-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='StackOverflow'/><title type='text'>Using the MVC design pattern with JSP/Servlet</title><summary type='text'>This is a copy of my answer on stackoverflow.



A bit decent webapplication exist of a mix of design patterns. I'll mention only the most important ones.



Model View Controller pattern

The core (architectural) design pattern you'd like to use is the Model-View-Controller pattern. The Controller is to be represented by a Servlet which (in)directly creates/uses a specific Model and View based </summary><link rel='related' href='http://stackoverflow.com/q/3541077/157882' title='Using the MVC design pattern with JSP/Servlet'/><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/4557161289836064829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=4557161289836064829' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4557161289836064829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4557161289836064829'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/08/using-mvc-design-pattern-with.html' title='Using the MVC design pattern with JSP/Servlet'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-40073202027909401</id><published>2010-07-29T17:53:00.004-04:00</published><updated>2010-12-19T15:30:27.220-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Renderer'/><category scheme='http://www.blogger.com/atom/ns#' term='Messages'/><title type='text'>Using HTML in JSF messages</title><summary type='text'>A common question which keeps returning is "How to display HTML in &lt;h:messages&gt;?". One would logically think to add an escape="false" attribute to the component, like as you would do in a &lt;h:outputText&gt;. Unfortunately, this is not possible in the standard JSF implementation. The component and the renderer does officially not support this attribute. The &lt;h:outputText&gt; and &lt;f:selectItem&gt; are as far</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/40073202027909401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=40073202027909401' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/40073202027909401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/40073202027909401'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/07/using-html-in-jsf-messages.html' title='Using HTML in JSF messages'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-7120156538010714186</id><published>2010-07-05T10:19:00.002-04:00</published><updated>2010-11-27T02:22:03.773-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='StackOverflow'/><title type='text'>How to avoid Java code in JSP files?</title><summary type='text'>This is a copy of my answer on stackoverflow.com.



The use of scriptlets (those &lt;% %&gt; things) is indeed highly discouraged since the birth of taglibs (like JSTL) and EL (Expression Language, those ${} things) over a decade ago. The major disadvantages of scriptlets are:


Reusability: you can't reuse scriptlets.
Replaceability: you can't make scriptlets abstract.
OO-ability: you can't make use </summary><link rel='related' href='http://stackoverflow.com/q/3177733/157882' title='How to avoid Java code in JSP files?'/><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/7120156538010714186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=7120156538010714186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7120156538010714186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7120156538010714186'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/07/how-to-avoid-java-code-in-jsp-files.html' title='How to avoid Java code in JSP files?'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6229593117074035458</id><published>2010-06-24T10:41:00.000-04:00</published><updated>2010-11-27T02:26:29.976-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='StackOverflow'/><title type='text'>Servlet lifecycle and multithreading</title><summary type='text'>This is a copy of my answer on stackoverflow.com.



ServletContext

When the servletcontainer (like Apache Tomcat) starts up, it will deploy and load all webapplications. When a webapplication get loaded, the servletcontainer will create the ServletContext once and keep in server's memory. The webapp's web.xml will be parsed and every Servlet, Filter and Listener found in web.xml will be created</summary><link rel='related' href='http://stackoverflow.com/q/3106452/157882' title='Servlet lifecycle and multithreading'/><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6229593117074035458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6229593117074035458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6229593117074035458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6229593117074035458'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/06/servlet-lifecycle-and-multithreading.html' title='Servlet lifecycle and multithreading'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6486290728363522921</id><published>2010-06-05T23:18:00.051-04:00</published><updated>2011-08-31T15:10:43.306-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataTable'/><category scheme='http://www.blogger.com/atom/ns#' term='ViewScoped'/><category scheme='http://www.blogger.com/atom/ns#' term='Facelets'/><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF2'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><title type='text'>The benefits and pitfalls of @ViewScoped</title><summary type='text'>
    
        Fast menu
        Introduction
        Really simple CRUD
        Really simple CRUD, now without DataModel!
        Hey, there's "pitfalls" in the title?
    


Introduction

To prepare for a new set of JSF 2.0 targeted articles (have patience, I'd like to wait for Eclipse Helios and Tomcat 7 to be finished), I've played intensively with JSF 2.0 and Facelets the last </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6486290728363522921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6486290728363522921' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6486290728363522921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6486290728363522921'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/06/benefits-and-pitfalls-of-viewscoped.html' title='The benefits and pitfalls of @ViewScoped'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5648862751470752177</id><published>2010-04-25T01:51:00.007-04:00</published><updated>2011-02-01T10:17:45.395-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='StackOverflow'/><title type='text'>Real world Java examples of GoF design patterns</title><summary type='text'>This is a copy of my answer on stackoverflow. GoF stands for Gang of Four, referring the four authors of the Design Patterns book.



You can find an overview of a lot design patterns in Wikipedia. It also mentions which patterns are mentioned by GoF. I'll sum them up here and try to assign as much as possible pattern implementations found in both the Java SE and Java EE API's.



Creational </summary><link rel='related' href='http://stackoverflow.com/q/1673841/157882' title='Real world Java examples of GoF design patterns'/><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5648862751470752177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5648862751470752177' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5648862751470752177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5648862751470752177'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/04/examples-of-gof-design-patterns.html' title='Real world Java examples of GoF design patterns'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-4558425895541001911</id><published>2010-01-27T02:39:00.000-04:00</published><updated>2010-11-27T02:40:58.552-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='StackOverflow'/><title type='text'>Hidden features of JSP/Servlet</title><summary type='text'>This is a copy of my answer on stackoverflow.com.






Hide JSP pages from direct access

By placing JSP files in /WEB-INF folder you effectively hide them from direct access by for example http://example.com/contextname/WEB-INF/page.jsp. This will result in a 404. You can then only access them by a RequestDispatcher in Servlet or using jsp:include.



Preprocess request for JSP

Most are aware </summary><link rel='related' href='http://stackoverflow.com/q/2523430/157882' title='Hidden features of JSP/Servlet'/><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/4558425895541001911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=4558425895541001911' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4558425895541001911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4558425895541001911'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/01/hidden-features-of-jspservlet.html' title='Hidden features of JSP/Servlet'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-648856291048010138</id><published>2010-01-19T18:39:00.003-04:00</published><updated>2010-11-27T02:19:33.838-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='StackOverflow'/><title type='text'>What is the difference between JSF, JSP and Servlet?</title><summary type='text'>This is a copy of my answer on stackoverflow.



JSP (JavaServer Pages)

JSP is a Java view technology running on the server machine which allows you to write template text in (the client side languages like HTML, CSS, JavaScript and so on). JSP supports the so-called taglibs which are backed by pieces of Java code with which you can control the page flow and/or output dynamically (</summary><link rel='related' href='http://stackoverflow.com/q/2095397/157882' title='What is the difference between JSF, JSP and Servlet?'/><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/648856291048010138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=648856291048010138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/648856291048010138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/648856291048010138'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2010/01/what-is-difference-between-jsf-jsp-and.html' title='What is the difference between JSF, JSP and Servlet?'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-7982370937442053341</id><published>2009-12-27T17:35:00.034-04:00</published><updated>2011-06-19T19:06:43.819-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Custom Component'/><category scheme='http://www.blogger.com/atom/ns#' term='Facelets'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF2'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Renderer'/><category scheme='http://www.blogger.com/atom/ns#' term='Upload File'/><title type='text'>Uploading files with JSF 2.0 and Servlet 3.0</title><summary type='text'>
    
        Fast menu
        Introduction
        Custom component and renderer
        Basic use example
        Validate uploaded file
    


Introduction
The new Servlet 3.0 specification made uploading files really easy. However, because JSF 2.0 isn't initially designed to be primarily used on top of Servlet 3.0 and should be backwards compatible with Servlet 2.5, it lacks a standard file </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/7982370937442053341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=7982370937442053341' title='76 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7982370937442053341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7982370937442053341'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2009/12/uploading-files-with-jsf-20-and-servlet.html' title='Uploading files with JSF 2.0 and Servlet 3.0'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>76</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1046065489018035353</id><published>2009-12-27T16:00:00.043-04:00</published><updated>2011-11-08T08:45:54.301-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Filter'/><category scheme='http://www.blogger.com/atom/ns#' term='Upload File'/><title type='text'>Uploading files in Servlet 3.0</title><summary type='text'>
Warning
The MultipartFilter class does not work in Tomcat 7.0.0 until with 7.0.6!
In order to get it to run properly, you need at least Tomcat 7.0.7 and to set allowCasualMultipartParsing="true" in the webapp's &lt;Context&gt; element in Webapp/META-INF/context.xml or Tomcat/conf/server.xml. See also Tomcat 7 issue 47911.


    
        Fast menu
        Introduction
        MultipartMap
        Basic</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1046065489018035353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1046065489018035353' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1046065489018035353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1046065489018035353'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2009/12/uploading-files-in-servlet-30.html' title='Uploading files in Servlet 3.0'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-50407807599929212</id><published>2009-09-09T21:54:00.042-04:00</published><updated>2011-11-19T22:11:32.377-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Webapplication performance tips and tricks</title><summary type='text'>
 
  Fast menu
  Introduction
  Use a Content Delivery Network
  Add an Expires or a Cache-Control Header
  Use Query String with a timestamp to force re-request
  Add LastModified timestamp to CSS background images
  Gzip Components
  Configure ETags
  Flush the Buffer Early
  Use NIO
 


Introduction
Yahoo has a great performance analysis tool in flavor of a Firefox addon: YSlow (yes, you need </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/50407807599929212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=50407807599929212' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/50407807599929212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/50407807599929212'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2009/09/webapplication-performance-tips-and.html' title='Webapplication performance tips and tricks'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8556587254143723367</id><published>2009-09-01T14:19:00.014-04:00</published><updated>2009-09-01T17:33:23.356-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Writers block</title><summary type='text'>What to write?
It is not that I'm out of inspiration. Contrary, I have too much inspiration and too little time that I don't know what to write and finish. When I get inspiration, then I start with some introductory text and some code samples and/or notes. But when I run out of time in meanwhile, I leave it for as it is too long until I get inspiration about another subject .. and the story </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8556587254143723367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8556587254143723367' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8556587254143723367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8556587254143723367'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2009/09/writers-block.html' title='Writers block'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-3321457992769699659</id><published>2009-05-24T21:17:00.070-04:00</published><updated>2010-06-11T09:57:31.647-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Facelets'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Communication'/><title type='text'>Java/JSP/JSF and JavaScript</title><summary type='text'>
 
  Fast menu
  Introduction
  Server side and client side
  Pass variables from server side to client side
  Pass variables from client side to server side
 


Introduction

Today I investigated using Google Analytics the search keywords used to find this blog, so that I can get some blogging inspiration based on the "missing hits" (i.e. the actual search incorrectly showed my blog between the </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/3321457992769699659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=3321457992769699659' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3321457992769699659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3321457992769699659'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2009/05/javajspjsf-and-javascript.html' title='Java/JSP/JSF and JavaScript'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8057047621170213632</id><published>2009-05-05T20:33:00.163-04:00</published><updated>2011-10-04T11:46:02.186-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Filter'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Unicode'/><title type='text'>Unicode - How to get the characters right?</title><summary type='text'>
 
  Fast menu
  Introduction
  Well, where does it go wrong?
  Unicode, what's it all about?
  OK .. So, I have an "Unicode problem", what now?
     1) Development environment
     2) Java properties files
     3) JSP/Servlet request
     4) JSP/Servlet response
     5) Facelets request/response
     6) Databases
     7) Text files
     8) Strings
  References
 


Introduction

Computers </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8057047621170213632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8057047621170213632' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8057047621170213632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8057047621170213632'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html' title='Unicode - How to get the characters right?'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4aRLuh8AW_A/SgDbEfoEsDI/AAAAAAAAAaM/wk-W3nYMWsc/s72-c/notepad-utf8.gif' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5771569684313566405</id><published>2009-02-18T11:22:00.108-04:00</published><updated>2010-07-09T13:39:04.053-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><category scheme='http://www.blogger.com/atom/ns#' term='Download File'/><title type='text'>FileServlet supporting resume and caching and GZIP</title><summary type='text'>
 
  Fast menu
  Introduction
  Resume downloads
  Client side caching
  GZIP compression
  The Code
 


Introduction

In the almost 2 year old FileServlet and ImageServlet articles you can find basic examples of a download servlet and an image servlet. It does in fact nothing more than obtaining an InputStream of the desired resource/file and writing it to the OutputStream of the HTTP response </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5771569684313566405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5771569684313566405' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5771569684313566405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5771569684313566405'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.html' title='FileServlet supporting resume and caching and GZIP'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-3619204489696939524</id><published>2008-10-10T12:53:00.053-04:00</published><updated>2009-09-15T07:18:19.182-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='DataTable'/><category scheme='http://www.blogger.com/atom/ns#' term='DAO'/><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='DTO'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomahawk'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Effective datatable paging and sorting</title><summary type='text'>
 
  Fast menu
  Effective datatable paging and sorting at DAO level
  Preparations
  Backing Bean
  Example DTO
  Example DAO
  Example JSF
 


Effective datatable paging and sorting at DAO level
In the 2 year old article Using datatables I wrote how to sort and page a JSF h:dataTable. Those are useful and nice if the dataset is small. But it is in fact less efficient as it first </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/3619204489696939524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=3619204489696939524' title='56 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3619204489696939524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3619204489696939524'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/10/effective-datatable-paging-and-sorting.html' title='Effective datatable paging and sorting'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4aRLuh8AW_A/SO_PqTgfQYI/AAAAAAAAAWg/dCymENNgnLI/s72-c/effective_paging_and_sorting.gif' height='72' width='72'/><thr:total>56</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-4418876037664149568</id><published>2008-09-20T23:04:00.021-04:00</published><updated>2011-11-08T17:00:04.196-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='SelectBooleanCheckbox'/><title type='text'>Validate required checkbox</title><summary type='text'>
 
  Fast menu
  Introduction
  RequiredCheckboxValidator
  Basic demonstration example
 


Introduction
      The required attribute of a h:selectBooleanCheckbox is a bit non-intuitive. If you want to require the user to check the desired checkbox, you would assume that setting the required attribute to true ought to be sufficient.
startHide('/2008/09/validate-required-checkbox.html');

   But </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/4418876037664149568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=4418876037664149568' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4418876037664149568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4418876037664149568'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/09/validate-required-checkbox.html' title='Validate required checkbox'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5688736504810914282</id><published>2008-08-06T21:41:00.020-04:00</published><updated>2011-08-25T15:55:31.758-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='SelectOneMenu'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Renderer'/><title type='text'>Styling options in h:selectOneMenu</title><summary type='text'>
 
  Fast menu
  Introduction
  ExtendedMenuRenderer
  Basic demonstration example
  And the listboxes then?
 


Introduction
Whenever you want to style a HTML &lt;option&gt; element using CSS, you could just use its style or, preferably, class attribute. But in the default Sun JSF Mojarra implementation there is no comparable attribute available for that. The h:selectOneMenu, h:</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5688736504810914282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5688736504810914282' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5688736504810914282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5688736504810914282'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/08/styling-options-in-hselectonemenu.html' title='Styling options in h:selectOneMenu'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5572345785640080170</id><published>2008-07-29T12:22:00.046-04:00</published><updated>2010-02-21T15:45:04.148-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='DAO'/><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='DTO'/><category scheme='http://www.blogger.com/atom/ns#' term='Focus'/><category scheme='http://www.blogger.com/atom/ns#' term='Converter'/><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Highlight'/><title type='text'>DAO tutorial - use in JSF</title><summary type='text'>
 
  Fast menu
  Introduction
  Webapp configurator
  User registration bean
  Abstract bean for user forms
  Abstract bean for forms
  EmptyToNullConverter
  Message bundle file
  User registration JSF File
  CSS file and JavaScript file
  Web deployment descriptor
  Faces configuration XML
 


Introduction
This tutorial is a JSF-targeted continuation from the previous part DAO tutorial - the </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5572345785640080170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5572345785640080170' title='27 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5572345785640080170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5572345785640080170'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/07/dao-tutorial-use-in-jsf.html' title='DAO tutorial - use in JSF'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4aRLuh8AW_A/SO6nHa6pBMI/AAAAAAAAAWA/aXbvv_L0rXQ/s72-c/register.gif' height='72' width='72'/><thr:total>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8279456445935959631</id><published>2008-07-07T14:22:00.095-04:00</published><updated>2011-01-06T14:39:40.386-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='DAO'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='DTO'/><category scheme='http://www.blogger.com/atom/ns#' term='Focus'/><category scheme='http://www.blogger.com/atom/ns#' term='Highlight'/><title type='text'>DAO tutorial - use in JSP/Servlet</title><summary type='text'>
 
  Fast menu
  Introduction
  Webapp configurator
  User registration controller
  Base bean for forms
  Business form bean for User
  ValidatorException
  Utility class for forms
  User registration JSP File
  CSS file
  JavaScript file
  Web deployment descriptor
  Further exercises
 


Introduction
This tutorial is a continuation from the previous part DAO tutorial - the data layer. In the </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8279456445935959631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8279456445935959631' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8279456445935959631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8279456445935959631'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/07/dao-tutorial-use-in-jspservlet.html' title='DAO tutorial - use in JSP/Servlet'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4aRLuh8AW_A/SO6nHa6pBMI/AAAAAAAAAWA/aXbvv_L0rXQ/s72-c/register.gif' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8233765254814259669</id><published>2008-07-07T14:21:00.150-04:00</published><updated>2011-09-02T12:39:28.483-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='DAO'/><category scheme='http://www.blogger.com/atom/ns#' term='DTO'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>DAO tutorial - the data layer</title><summary type='text'>
 
  Fast menu
  Introduction
  The data layer
  Preparing database
  User DTO
  Handling DAO exceptions
  Properties file
  Properties file loader
  DAO factory
  User DAO
  DAO utility class
  DAO test harness
  Further exercises
  How about connection pooling?
  Next part
 


Introduction
In almost every application there is less or more interaction with a database or any </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8233765254814259669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8233765254814259669' title='52 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8233765254814259669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8233765254814259669'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/07/dao-tutorial-data-layer.html' title='DAO tutorial - the data layer'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>52</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-7555402840725927576</id><published>2008-06-28T23:13:00.048-04:00</published><updated>2009-07-07T09:37:49.173-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>What is it with roseindia?</title><summary type='text'>Cry or laugh?
There's another Java related website at roseindia.net which hosts lot of basic Java EE tutorials along a huge mass of advertisements. There are also some JSF tutorials over there. Since I saw that site for the first time, about 1.5 years ago, I quickly realized that almost every article and code sample at that site must be taken with a huge bag of salt. But OK, I thought, that kind </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/7555402840725927576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=7555402840725927576' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7555402840725927576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7555402840725927576'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/06/what-is-it-with-roseindia.html' title='What is it with roseindia?'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-2673183723296609948</id><published>2008-02-16T16:37:00.025-04:00</published><updated>2011-03-26T09:18:15.459-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomahawk'/><category scheme='http://www.blogger.com/atom/ns#' term='Upload File'/><title type='text'>Uploading files with JSF</title><summary type='text'>
Notice
This article is targeted on JSF 1.2. For JSF 2.0 with Tomahawk, please checkout my answer on this Stackoverflow.com question. For JSF 2.0 on Servlet 3.0 with a custom component, please checkout this article.


       
        Fast menu
        Upload and store files
        Integrating Tomahawk in Mojarra
        Basic use example
       
      

      Upload and store files
      </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/2673183723296609948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=2673183723296609948' title='193 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2673183723296609948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2673183723296609948'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/02/uploading-files-with-jsf.html' title='Uploading files with JSF'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>193</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6789520957767667986</id><published>2008-01-04T15:12:00.044-04:00</published><updated>2011-06-05T11:56:30.183-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>JSF tutorial with Eclipse and Tomcat</title><summary type='text'>
Notice
There is a newer JSF 2.0 tutorial out with Eclipse 3.6 SR1 (Helios) and Glassfish v3.


 
  Fast menu
  Introduction
  Download and install Java SE 6 JDK
  Download and install Eclipse 3.4
  Download and install Tomcat 6.0
  Download and install JSTL 1.2
  Download and install Mojarra 1.2
  Run and configure Eclipse
  Integrate Tomcat in Eclipse
  Prepare JSF web project in Eclipse
  </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6789520957767667986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6789520957767667986' title='156 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6789520957767667986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6789520957767667986'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2008/01/jsf-tutorial-with-eclipse-and-tomcat.html' title='JSF tutorial with Eclipse and Tomcat'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4aRLuh8AW_A/SL_8ZJtrueI/AAAAAAAAALk/4QyJdzAaNa0/s72-c/jdk_install.gif' height='72' width='72'/><thr:total>156</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6707773919307195732</id><published>2007-12-19T06:46:00.002-04:00</published><updated>2008-08-07T20:47:36.330-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><title type='text'>Action dependent requireness</title><summary type='text'>Introduction
      There are scenarios where you want to depend the "requireness" (between quotes, this word doesn't occur in an English dictionary) of an UIInput element on the UICommand action invoked. There are also a lot of hacks and workarounds written about it, e.g. using immediate="true" and valueChangeListener or binding attributes to retain the value (which gives you only two scenario </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6707773919307195732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6707773919307195732' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6707773919307195732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6707773919307195732'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/12/action-dependent-requireness.html' title='Action dependent requireness'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6032045192888151311</id><published>2007-12-14T07:05:00.015-04:00</published><updated>2009-03-17T10:13:00.255-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Focus'/><category scheme='http://www.blogger.com/atom/ns#' term='PhaseListener'/><category scheme='http://www.blogger.com/atom/ns#' term='Highlight'/><title type='text'>Set focus and highlight in JSF</title><summary type='text'>The power of a PhaseListener
      This article shows how to use a PhaseListener to set focus to the first input element which has a FacesMessage (which can be caused by a validation or conversion error or any other custom reason) and highlight all elements which has a FacesMessage. It is relatively simple, it costs effectively only a few lines inside the beforePhase of the RENDER_RESPONSE, two </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6032045192888151311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6032045192888151311' title='32 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6032045192888151311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6032045192888151311'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/12/set-focus-in-jsf.html' title='Set focus and highlight in JSF'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>32</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5405808661218954490</id><published>2007-12-11T17:07:00.014-04:00</published><updated>2011-12-23T09:29:02.659-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><title type='text'>Validator for multiple fields</title><summary type='text'>
       
        Fast menu
        Introduction
        Basic example
       
      

      Introduction
      Validators in JSF are nice. They, however, have its shortcomings. They will by default validate only one field at once. There is no standard way to attach one validator to multiple fields. Although there are some situations where you want this kind of functionality. For example </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5405808661218954490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5405808661218954490' title='43 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5405808661218954490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5405808661218954490'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/12/validator-for-multiple-fields.html' title='Validator for multiple fields'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>43</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8370569308531868450</id><published>2007-12-01T06:26:00.012-04:00</published><updated>2010-02-17T14:31:06.011-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Filter'/><category scheme='http://www.blogger.com/atom/ns#' term='Whitespace'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>WhitespaceFilter</title><summary type='text'>
       
        Fast menu
        Whitespace
        Replace response writer
       
      

      Whitespace
  Whitespace is used everywhere. It covers spaces, tabs and newlines. It is used to distinguish lexical tokens from each other and also to keep the source code readable for the developer. But in case of HTML over network, whitespace costs bandwidth and therefore in some circumstances </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8370569308531868450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8370569308531868450' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8370569308531868450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8370569308531868450'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/12/whitespacefilter.html' title='WhitespaceFilter'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8182262891636943696</id><published>2007-11-08T03:15:00.016-04:00</published><updated>2010-12-08T00:15:18.548-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Filter'/><category scheme='http://www.blogger.com/atom/ns#' term='UseBean'/><category scheme='http://www.blogger.com/atom/ns#' term='Upload File'/><title type='text'>MultipartFilter</title><summary type='text'>
       
        Fast menu
        Upload and store files
        MultipartFilter
        Basic use example
       
      

      Upload and store files

Update: if you're using Servlet 3.0 or newer, then there are built-in ways to process file uploads. You may find it more useful: Uploading files in Servlet 3.0.

      Downloading files is made relatively easy using a FileServlet, but uploading </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8182262891636943696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8182262891636943696' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8182262891636943696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8182262891636943696'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/11/multipartfilter.html' title='MultipartFilter'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5327788084305339452</id><published>2007-10-17T15:11:00.012-04:00</published><updated>2009-08-25T10:39:44.322-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='SelectOneMenu'/><category scheme='http://www.blogger.com/atom/ns#' term='ValueChangeListener'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Immediate'/><title type='text'>Populate child menu's</title><summary type='text'>
       
        Fast menu
        Introduction
        Onchange, valueChangeListener, immediate, renderResponse and binding
        Basic JSF code example
        Menu structure
       
      

   Introduction
      Having multiple h:selectOneMenu instances in one form which depends on each other and of which its values have to be obtained from the backing bean can drive JSF developers nuts. </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5327788084305339452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5327788084305339452' title='43 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5327788084305339452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5327788084305339452'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/10/populate-child-menus.html' title='Populate child menu&apos;s'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>43</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-9180608281933348423</id><published>2007-09-15T17:24:00.006-04:00</published><updated>2010-08-02T14:22:56.796-04:00</updated><title type='text'>DateUtil</title><summary type='text'>Useful date utilities
An utility class with some fairly simple methods and some very useful methods (such as determineDateFormat()). This utility class partly wraps the CalendarUtil so that it can be used with Date and String objects.
The determineDateFormat() method supports the most commonly used date formats. You can always change or extend it to your taste, but take care that there should </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/9180608281933348423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=9180608281933348423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/9180608281933348423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/9180608281933348423'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/09/dateutil.html' title='DateUtil'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1242423098736206405</id><published>2007-09-15T17:12:00.005-04:00</published><updated>2009-03-17T07:19:51.057-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utility'/><title type='text'>CalendarUtil</title><summary type='text'>Useful calendar utilities
An utility class with some fairly simple methods and some very useful methods. The elapsedXxxx methods are absolutely useful. If you want to use it with java.util.Date or even java.lang.String objects, then you may find the DateUtil more useful.
startHide('/2007/09/calendarutil.html');

/*
 * net/balusc/util/CalendarUtil.java
 * 
 * Copyright (C) 2007 BalusC
 * 
 * This </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1242423098736206405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1242423098736206405' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1242423098736206405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1242423098736206405'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/09/calendarutil.html' title='CalendarUtil'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1867388646905277349</id><published>2007-09-10T06:05:00.020-04:00</published><updated>2009-03-17T07:20:06.616-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utility'/><title type='text'>FileUtil</title><summary type='text'>Useful filesystem level utilities
I'd like to share this utility class with lot of useful filesystem level utility methods. It minimizes the effort of the developer to write code for java.io stuff. Just call the utility method in a try-catch-finally block and handle the eventual IOException to your taste.
startHide('/2007/09/fileutil.html');

/*
 * net/balusc/util/FileUtil.java
 * 
 * Copyright (</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1867388646905277349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1867388646905277349' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1867388646905277349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1867388646905277349'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/09/fileutil.html' title='FileUtil'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-4451141435257890630</id><published>2007-09-07T16:20:00.015-04:00</published><updated>2009-12-19T08:04:44.616-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='SelectOneMenu'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Converter'/><title type='text'>Objects in h:selectOneMenu</title><summary type='text'>
       
        Fast menu
        Introduction
        Using a Converter
        Using a backing Map
       
      

      Introduction
      A HTML response is in Object Oriented perspective nothing less or more than one big String value (technically: a long character array). Non-String-typed Java Objects are forced to their String representation using Object#toString() when they are </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/4451141435257890630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=4451141435257890630' title='70 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4451141435257890630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4451141435257890630'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/09/objects-in-hselectonemenu.html' title='Objects in h:selectOneMenu'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>70</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-4890188698128686329</id><published>2007-08-05T20:38:00.026-04:00</published><updated>2010-09-26T01:45:14.350-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utility'/><title type='text'>Generic object converter</title><summary type='text'>Generic Object Converter
      This generic ObjectConverter makes use of the reflection and the generics to convert the given object value to an object of the given type. This utility class may look like overkilled, but it is very useful if you don't always know the type of the given object value before or if you want a fast and easy way of converting objects without nasty if/else blocks. BalusC </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/4890188698128686329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=4890188698128686329' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4890188698128686329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/4890188698128686329'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/08/generic-object-converter.html' title='Generic object converter'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1111160593069163319</id><published>2007-07-20T21:46:00.040-04:00</published><updated>2011-08-21T16:43:44.464-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Download File'/><title type='text'>FileServlet</title><summary type='text'>
       
        Fast menu
        Serve your files
        FileServlet serving from absolute path
        FileServlet serving from database
        Security considerations
       
      

      Serve your files

Update: there's a newer article out for more effective file serving. You may find it useful: FileServlet supporting resume and caching and GZIP.

      If you have stored </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1111160593069163319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1111160593069163319' title='71 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1111160593069163319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1111160593069163319'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/07/fileservlet.html' title='FileServlet'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>71</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8351461604134462032</id><published>2007-04-08T05:05:00.039-04:00</published><updated>2010-03-08T09:05:17.820-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><title type='text'>ImageServlet</title><summary type='text'>
       
        Fast menu
        Serve your images
        ImageServlet serving from absolute path
        ImageServlet serving from database
        Security considerations
       
      

      Serve your images

Update: there's a newer article out for more effective file serving. You may find it useful: FileServlet supporting resume and caching and GZIP.

      If you have stored images in a</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8351461604134462032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8351461604134462032' title='73 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8351461604134462032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8351461604134462032'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/04/imageservlet.html' title='ImageServlet'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>73</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5249522682719920104</id><published>2007-03-20T03:30:00.022-04:00</published><updated>2011-02-20T17:40:38.533-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Filter'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='DTO'/><title type='text'>User session filter</title><summary type='text'>
       
        Fast menu
        Introduction
        Capture the User
        Prepare DTO's
        UserSessionFilter
        Login and Logout
        Security considerations
       
      

      Capture the User
      By default a HTTP session will expire after 30 minutes of inactivity. Although you can change this by the following entry in the web.xml, where the timeout can be set in </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5249522682719920104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5249522682719920104' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5249522682719920104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5249522682719920104'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/03/user-session-filter.html' title='User session filter'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-183269400143841216</id><published>2007-03-19T18:04:00.001-04:00</published><updated>2008-10-20T10:16:32.665-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='POST-Redirect-GET'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='PhaseListener'/><title type='text'>Facade POST by GET</title><summary type='text'>
       
        Fast menu
        Introduction
        Passing GET parameters to backing beans
        Facade POST requests like it are GET requests
        Hide parameters
       
      

      Introduction
      By default the JSF-generated forms only provides POST functionality. There is no default option to transform the POST forms (&lt;form method="post"&gt;) into GET forms (&lt;form method="get"&gt;).</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/183269400143841216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=183269400143841216' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/183269400143841216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/183269400143841216'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/03/facade-post-by-get.html' title='Facade POST by GET'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8330189643822964162</id><published>2007-03-19T18:03:00.022-04:00</published><updated>2009-08-17T09:45:00.092-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='POST-Redirect-GET'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='PhaseListener'/><title type='text'>POST-Redirect-GET pattern</title><summary type='text'>Doing the PRG in JSF
    The POST-Redirect-GET pattern is commonly used in web applications to prevent double submit when refreshing a POST request and navigation problems/annoyances when using browser back/forward button to page between POST requests. Basically it works as follows: after processing the POST request (unnecessarily submitted/displayed form data and/or irritating "Are you sure to </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8330189643822964162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8330189643822964162' title='50 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8330189643822964162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8330189643822964162'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/03/post-redirect-get-pattern.html' title='POST-Redirect-GET pattern'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>50</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-2918991983202837436</id><published>2007-03-02T02:41:00.015-04:00</published><updated>2009-09-15T07:18:37.609-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Dutch'/><category scheme='http://www.blogger.com/atom/ns#' term='DTO'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>JDBC tutorial (Dutch)</title><summary type='text'>
       
        Snelmenu
        Introductie
        Foutenafhandeling
        JDBC driver installeren
        Database voorbereiden
        JDBC URL voorbereiden
        Eenvoudige INSERT
        Eenvoudige SELECT
        Eenvoudige UPDATE
        Eenvoudige DELETE
        Voorbereide statementen
        DTO's zijn een must
        Een universele DAO ontwerpen?
       
      

      Introductie</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/2918991983202837436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=2918991983202837436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2918991983202837436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2918991983202837436'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/03/databases.html' title='JDBC tutorial (Dutch)'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_4aRLuh8AW_A/Rta3HnOhWvI/AAAAAAAAAEc/tU1dV4KmZRM/s72-c/ImportMySQLjar1-sm.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6733371448471231232</id><published>2007-01-31T19:00:00.001-04:00</published><updated>2008-08-07T22:17:36.188-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dutch'/><title type='text'>Generics (Dutch)</title><summary type='text'>
       
        Snelmenu
        Introductie
        Generieke collecties
        Generieke mappen
        Generieke klassen
        Generieke methoden
        Generieke typen
       
      

      Introductie
      Generics, oftwel Generieken, die in Java 5.0 is geintroduceerd slaat op de harde typering van de gebruikte objecten in collecties, mappen, klassen en methoden. Het gebruik hiervan is</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6733371448471231232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6733371448471231232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6733371448471231232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6733371448471231232'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/01/generics.html' title='Generics (Dutch)'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-8999223820305902160</id><published>2007-01-04T11:42:00.009-04:00</published><updated>2010-06-11T09:20:03.280-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Include'/><title type='text'>Dynamic JSF subviews</title><summary type='text'>Dynamically switch between subviews in one main page
      The easiest way would be the following:

&lt;jsp:include page="#{myBean.includePage}" /&gt;

But this only works in JSF 1.2 + JSP 2.1 or newer. Unified Expression Language (the expressions starting with #) namely made its way from JSF to JSP in JSP 2.1. In older versioned environments the above snippet is not valid. To have JSP 2.1, you need a </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/8999223820305902160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=8999223820305902160' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8999223820305902160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/8999223820305902160'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2007/01/dynamic-jsf-subviews.html' title='Dynamic JSF subviews'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-7624740900406393832</id><published>2006-09-27T12:05:00.035-04:00</published><updated>2011-02-02T09:43:12.308-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='ValueChangeListener'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Converter'/><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='PhaseListener'/><category scheme='http://www.blogger.com/atom/ns#' term='Immediate'/><title type='text'>Debug JSF lifecycle</title><summary type='text'>
       
        Fast menu
        Listen and debug JSF lifecycle phases
        Basic debug example
        The first call
        The form submit
        Add immediate="true" to UIInput only
        Add immediate="true" to UICommand only
        Add immediate="true" to UIInput and UICommand
        Conversion error
        Validation error
        Okay, when should I use the immediate attribute</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/7624740900406393832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=7624740900406393832' title='75 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7624740900406393832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7624740900406393832'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/09/debug-jsf-lifecycle.html' title='Debug JSF lifecycle'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>75</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-2968320945354568754</id><published>2006-06-26T09:32:00.004-04:00</published><updated>2008-08-07T22:18:29.969-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dutch'/><title type='text'>Bestandsbewerkingen (Dutch)</title><summary type='text'>
       
        Snelmenu
        Introductie
        Welke moet ik gebruiken?
        Foutenafhandeling
        Werken op bestandsniveau
        Werken op directory niveau
        FileReader en FileWriter
        BufferedReader en BufferedWriter
        CharArrayReader en CharArrayWriter
        FileInputStream en FileOutputStream
        BufferedInputStream en BufferedOutputStream
        </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/2968320945354568754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=2968320945354568754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2968320945354568754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/2968320945354568754'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/bestandsbewerkingen.html' title='Bestandsbewerkingen (Dutch)'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5609022933607034098</id><published>2006-06-13T08:32:00.023-04:00</published><updated>2011-02-20T17:19:01.361-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSV'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Utility'/><category scheme='http://www.blogger.com/atom/ns#' term='Upload File'/><title type='text'>Parse CSV upload</title><summary type='text'>
       
        Fast menu
        How easy can it be done?
        Uploading a CSV file using IBM faces
        Parsing and formatting the CSV file
        CSV formatting example
       
      

How easy can it be done?
      CSV files are commaseparated files and can be opened and saved using Microsoft Excel. However, in most locales (at least US International and Europe) Excel uses a semicolon</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5609022933607034098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5609022933607034098' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5609022933607034098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5609022933607034098'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/parse-csv-upload.html' title='Parse CSV upload'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-296738338805630901</id><published>2006-06-07T03:11:00.068-04:00</published><updated>2011-09-08T13:16:27.447-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='DataTable'/><category scheme='http://www.blogger.com/atom/ns#' term='Managed Bean'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='DTO'/><title type='text'>Using datatables</title><summary type='text'>
Notice
This article is targeted on JSF 1.2. For JSF 2.0, using datatables can be approached much more elegantly with help of a @ViewScoped managed bean. Please checkout this article which contains two basic CRUD examples, one for JSF 2.0 on Srvlet 2.5 and other for JSF 2.0 on Servlet 3.0 which supports passing method arguments in EL 2.2.


       
        Fast menu
        Create DTO class
</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/296738338805630901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=296738338805630901' title='283 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/296738338805630901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/296738338805630901'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/using-datatables.html' title='Using datatables'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4aRLuh8AW_A/ST1DUix12XI/AAAAAAAAAZs/0VhlQ8YCUdE/s72-c/1.gif' height='72' width='72'/><thr:total>283</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-335977923578622160</id><published>2006-06-05T17:38:00.001-04:00</published><updated>2008-08-07T22:19:32.970-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dutch'/><title type='text'>Collecties en mappen (Dutch)</title><summary type='text'>
       
        Snelmenu
        Introductie
        Welke moet ik gebruiken?
        Waarden toevoegen
        Waarden opvragen
        Aanwezigheid controleren
        Waarden wijzigen
        Waarden verwijderen
        Grootte opvragen
        Leeg maken
        Collectie doorlopen
        Map doorlopen
        Collectie sorteren
        Collecties samenvoegen en splitsen
        Duplicaten </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/335977923578622160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=335977923578622160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/335977923578622160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/335977923578622160'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/collecties-en-mappen.html' title='Collecties en mappen (Dutch)'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-30017750346341660</id><published>2006-06-04T18:43:00.001-04:00</published><updated>2008-08-07T22:20:26.512-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dutch'/><title type='text'>Data conversies (Dutch)</title><summary type='text'>
       
        Snelmenu
        Converteren van datatype naar String
        Converteren van String naar datatype
        Converteren van datatype naar wrapper object
        Converteren van wrapper object naar datatype
        Converteren tussen datatypen
        Converteren tussen nummerieke systemen
        Converteren tussen data streams
       
      

      Converteren van datatype naar </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/30017750346341660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=30017750346341660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/30017750346341660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/30017750346341660'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/data-conversies.html' title='Data conversies (Dutch)'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1759555709347960310</id><published>2006-06-04T16:10:00.004-04:00</published><updated>2008-12-19T18:53:35.510-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>DB2 LOWER() bug</title><summary type='text'>Case insensitive search in a table with a foreign key
      The goal is to execute a case insensitive Hibernate search in a DB2 table which has a foreign key linked to another DB2 table. This should be easily done using the LOWER() function of DB2.
startHide('/2006/06/db2-lower-bug.html');
      The relevant DDL of the DB2 table to execute the search on, MyTable.ddl:

CREATE TABLE MYTABLE (
    </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1759555709347960310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1759555709347960310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1759555709347960310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1759555709347960310'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/db2-lower-bug.html' title='DB2 LOWER() bug'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-454870692374581622</id><published>2006-06-04T01:21:00.001-04:00</published><updated>2008-08-07T22:21:10.975-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dutch'/><title type='text'>Datum en tijd (Dutch)</title><summary type='text'>
       
        Snelmenu
        Introductie
        Datum en tijd instellen
        Converteren tussen Date en Calendar
        Converteren tussen Calendar en String
        Converteren tussen Date en String
        Verschil tussen datums berekenen
        Unix TimeStamp in Java
        Werken met Unix TimeStamps
       
      

      Introductie
      Java kent twee hoofdklassen waarmee je met</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/454870692374581622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=454870692374581622' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/454870692374581622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/454870692374581622'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/datum-en-tijd.html' title='Datum en tijd (Dutch)'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1554597962734360660</id><published>2006-06-03T17:00:00.030-04:00</published><updated>2011-09-16T19:28:56.804-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Communication'/><title type='text'>Communication in JSF</title><summary type='text'>
Notice
This article is targeted on JSF 1.x. For JSF 2.x, please checkout this article.



       
        Fast menu
        Passing action parameters from JSF to backing beans
        Passing GET parameters from JSF to backing beans

        Passing component attributes from JSF to backing beans
        Passing objects from request to request
        Passing new hidden values to backing beans
</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1554597962734360660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1554597962734360660' title='143 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1554597962734360660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1554597962734360660'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/06/communication-in-jsf.html' title='Communication in JSF'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>143</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6801366821355822503</id><published>2006-05-21T05:01:00.013-04:00</published><updated>2010-07-14T08:26:34.453-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Download File'/><title type='text'>PDF handling</title><summary type='text'>Read and open the PDF in a new browser window
      The goal is to use JSF to open a PDF file inline in a new browser window without showing the full PDF path and filename for some (security) reasons. You can use either a h:commandLink or a h:commandButton for this:

&lt;h:form&gt;
    &lt;h:commandLink value="Download PDF" action="#{myBean.downloadPDF}" target="_blank" /&gt;
&lt;/h:form&gt;

&lt;h:form target="_</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6801366821355822503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6801366821355822503' title='51 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6801366821355822503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6801366821355822503'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/05/pdf-handling.html' title='PDF handling'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>51</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-6725709544943584973</id><published>2006-05-21T04:50:00.004-04:00</published><updated>2008-08-07T20:34:55.643-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='TabbedPanel'/><title type='text'>Restore tabbedpanel</title><summary type='text'>Maintain the tab selection after form submission
      The IBM JSF version as is in Websphere Studio Application Developer 5.x doesn't return to the tab selected after submitting a form in a certain tab of the odc:tabbedPanel, while the IBM JSF version as is in WSAD 6.x does. This practice describes the javascript hack for IBM JSF in WSAD 5.x to maintain the tab selected after a form submission.
</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/6725709544943584973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=6725709544943584973' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6725709544943584973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/6725709544943584973'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/05/restore-tabbedpanel.html' title='Restore tabbedpanel'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-9188931695780872609</id><published>2006-04-01T02:10:00.006-04:00</published><updated>2009-03-31T20:40:31.116-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Dutch'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Java tutorial (all Dutch)</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Introductie
        Kenmerken
        Werking
        Software
        Hello World in Eclipse
        Eclipse verkennen
       
      

De weg naar Java

      Introductie
      In deze Nederlandstalige Java tutorial wordt uitgelegd hoe het </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/9188931695780872609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=9188931695780872609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/9188931695780872609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/9188931695780872609'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial.html' title='Java tutorial (all Dutch)'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_4aRLuh8AW_A/RtauHnOhWRI/AAAAAAAAAAs/sAQHUStcXzE/s72-c/EclipsePrefs-sm.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-979962923364579166</id><published>2006-04-01T02:09:00.000-04:00</published><updated>2007-08-27T16:31:21.430-04:00</updated><title type='text'>Java tutorial - Basics</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Abstracties
        Klassen
        Objecten
        Variabelen
        Voorbeeld Code
        Een flinke lap
       
      

Object Oriented Programming basics

      Abstracties (abstractions)
      Om in Java of ieder ander willekeurig object</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/979962923364579166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=979962923364579166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/979962923364579166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/979962923364579166'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-basics.html' title='Java tutorial - Basics'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1762796197355399255</id><published>2006-04-01T02:08:00.000-04:00</published><updated>2007-11-24T18:09:26.279-04:00</updated><title type='text'>Java tutorial - Elementen</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Declareren
        Constructeur
        Instanties
        Referenties
        Aanroepen
        Parameters
       
      

Werken met de Java code

      Declareren (declarations)
      Voordat je met de elementen (klassen, variabelen, methoden</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1762796197355399255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1762796197355399255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1762796197355399255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1762796197355399255'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-elementen.html' title='Java tutorial - Elementen'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-3239702046748571252</id><published>2006-04-01T02:07:00.001-04:00</published><updated>2008-06-29T00:28:43.423-04:00</updated><title type='text'>Java tutorial - Bouwstenen</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Leestekens
        Benamingen
        Sleutelwoorden
        Waarden
        Operatoren
        Witruimte
        Commentaren
       
      
      Grammatica van de Java code

      Leestekens (lexical tokens)
      Hieronder vallen benamingen (</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/3239702046748571252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=3239702046748571252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3239702046748571252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3239702046748571252'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-bouwstenen.html' title='Java tutorial - Bouwstenen'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-3517735171710985574</id><published>2006-04-01T02:06:00.000-04:00</published><updated>2008-01-05T12:38:04.474-04:00</updated><title type='text'>Java tutorial - Datatypen</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Primitieve Datatypen
        Initialiseren
        Boolean
        Integers
        Floating Points
        Karakter
        En de String?
       
      
      Informatiedragers van de Java code

      Primitieve datatypen (primitive datatypes)
</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/3517735171710985574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=3517735171710985574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3517735171710985574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3517735171710985574'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-datatypen.html' title='Java tutorial - Datatypen'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5727081227082368560</id><published>2006-04-01T02:05:00.001-04:00</published><updated>2009-08-12T10:45:34.062-04:00</updated><title type='text'>Java tutorial - Operatoren</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Voorrangsregels
        Toewijzings operator
        Rekenkundige operatoren
        Rekenkundige toewijzings operatoren
        Vermeerdering en vermindering operatoren
        Booleanse operatoren
        Booleanse toewijzings operatoren
</summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5727081227082368560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5727081227082368560' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5727081227082368560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5727081227082368560'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-operatoren.html' title='Java tutorial - Operatoren'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-1779231231808112767</id><published>2006-04-01T02:04:00.000-04:00</published><updated>2007-09-23T16:03:57.702-04:00</updated><title type='text'>Java tutorial - Toegangscontrole</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Pakketen
        Toegangsmodifiers
        Klasse toegangsmodifiers
        Variabele toegangsmodifiers
        Methode toegangsmodifiers
        Nog even over de static modifier
       
      
      Verkeersregelaars van de Java code

      </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/1779231231808112767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=1779231231808112767' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1779231231808112767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/1779231231808112767'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-toegangscontrole.html' title='Java tutorial - Toegangscontrole'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-3915064724680307385</id><published>2006-04-01T02:03:00.001-04:00</published><updated>2008-06-29T00:47:37.158-04:00</updated><title type='text'>Java tutorial - Draaiboek</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Gecontroleerde doorstroming
        Selectie statementen
        Herhaal statementen
        Overdracht statementen
       
      

      Keuzes maken binnen de Java code

      Gecontroleerde doorstroming (flow control)
      Er zijn drie </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/3915064724680307385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=3915064724680307385' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3915064724680307385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3915064724680307385'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-draaiboek.html' title='Java tutorial - Draaiboek'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-3388715269158890595</id><published>2006-04-01T02:02:00.000-04:00</published><updated>2008-01-03T16:34:32.687-04:00</updated><title type='text'>Java tutorial - Foutenafhandeling</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Foutenafhandeling
        Try-catch-finally statement
        Throw statement
        Throws bepaling
        Voorkomen is beter dan genezen
       
      

      Voor een stabiele Java code

      Foutenafhandeling (exception handling)
      </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/3388715269158890595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=3388715269158890595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3388715269158890595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/3388715269158890595'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-foutenafhandeling.html' title='Java tutorial - Foutenafhandeling'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_4aRLuh8AW_A/Rtaz73OhWlI/AAAAAAAAADM/bsvnNO7fXDw/s72-c/NullPointerException-sm.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-5910076699822242027</id><published>2006-04-01T02:01:00.000-04:00</published><updated>2007-08-30T08:19:55.418-04:00</updated><title type='text'>Java tutorial - Objecten</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Overerving
        Veelvormigheid
        Methoden overschrijven
        Methoden overladen
        Variabelen schaduwen
        Inkapselen
        Objecten converteren
        Object referenties
        Constructeurs koppelen
        </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/5910076699822242027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=5910076699822242027' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5910076699822242027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/5910076699822242027'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-objecten.html' title='Java tutorial - Objecten'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_4aRLuh8AW_A/Rta03HOhWnI/AAAAAAAAADc/Icx_tQia67Y/s72-c/Super-sm.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5396570633771229267.post-7607158921085680501</id><published>2006-04-01T02:00:00.001-04:00</published><updated>2008-02-17T14:52:14.183-04:00</updated><title type='text'>Java tutorial - Uitvoeren</title><summary type='text'>Intro|Basics|Elementen|Bouwstenen|Datatypen|Operatoren|Toegangscontrole|Draaiboek|Foutenafhandeling|Objecten|Uitvoeren


       
        Snelmenu
        Omgevingsvariabelen
        HelloWorld in console
        Argumenten
        Classpath
        Uitvoerbare JAR bestanden
        PackagesGebruiken
       
      

      Laat de Java code werken

      Omgevingsvariabelen
      We gaan hier even </summary><link rel='replies' type='application/atom+xml' href='http://balusc.blogspot.com/feeds/7607158921085680501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5396570633771229267&amp;postID=7607158921085680501' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7607158921085680501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5396570633771229267/posts/default/7607158921085680501'/><link rel='alternate' type='text/html' href='http://balusc.blogspot.com/2006/04/java-tutorial-uitvoeren.html' title='Java tutorial - Uitvoeren'/><author><name>BalusC</name><uri>http://www.blogger.com/profile/00299057045960008647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_4aRLuh8AW_A/Su248EToqTI/AAAAAAAAAa0/qaRqn7n2rpI/S220/165816.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_4aRLuh8AW_A/Rta2AHOhWrI/AAAAAAAAAD8/GHlKL5X0dCk/s72-c/Omgevingsvariabelen-sm.gif' height='72' width='72'/><thr:total>4</thr:total></entry></feed>
