[rd_jsfsquad] Re: Bemerkingen extval-poc

  • From: Steve Schols <steve.schols@xxxxxxxxx>
  • To: rd_jsfsquad@xxxxxxxxxxxxx
  • Date: Wed, 17 Feb 2010 11:34:39 +0100

Dag Rudy,

Kan je mij op weg helpen met die "iets gebaseerd op een EL expressie"?

Ik vind zoveel verschillende dingen terug dat ik het bos door de bomen niet
meer zie.
Er waren constraints hierop dacht ik, dat je enkel iets mocht injecteren via
managed-property dat in een hogere scope lag dan de bean waarin je
injecteert ... dacht ik, of omgekeerd. Ik vind het niet meer terug via
google.

Zowel voor MessageUtils als voor PersonBean zou ik niet echt weten hoe dit
precies met EL dient te gebeuren...


Op 6 februari 2010 15:02 schreef Rudy De Busscher
<rdebusscher@xxxxxxxxx>het volgende:

> Steve,
>
> Ik heb de laatste week heel weinig tijd gehad, maar ben toch eens diagonaal
> door je code gelopen.  Hieronder heb ik een lijstje gemaakt van enkele
> belangrijke punten. Dit zijn geen absolute waarheden maar kunnen je
> problemen besparen of zijn geinspireerd op enkele best practices.
> Als er vragen hierover zijn, laat maar horen.
>
> Zal over een tweetal weken nog eens proberen de code te overlopen.
>
> groeten
> Rudy.
>
> -Je hebt 2 logging frameworks, probeer commons logging overboord te gooien.
> (Ik zet het al bij de Questions voor volgende vergadering, over het hoe en
> waarom)
>
> *MessageUtils*
> - Dit is een Myfaces specifieke klasse dus kan je niet switchen naar
> Mojarra.
> - Hierdoor moest je de resource bundle ook tweemaal specifieren, eenmaal in
> faces-config en eenmal in de Constants klasse.
> ==> gebruik dus liever iets wat gebaseerd is op een EL expressie.
>
> *UserBean*
> - Is op sessie en is goed om user authenticatie data bij te houden.  Maar
> bevat ook data welke eigenlijk op applicatie niveau (de predefined users)
> horen.
> Het is daarom beter een andere backing bean te maken, op scope application,
> welke de users bijhoud maar ook zal bepalen of username en paswoord correct
> zijn. Deze kan dan in de userBean geinjecteerd worden.
> - de methode authenticate is een action methode.  Deze dient in principe
> enkel om de navigatie te bepalen, niet de logica welke uitgevoerd moet
> worden bij een klik.  Dit moet in principe in de actionListener.
> - Je hebt een navigatie constante gedefinieerd om op de pagina zelf te
> blijven, return van null is voldoende en deze moet niet in
> faces-config-navigation gespecifieerd worden.
>
> *xxx.jsf*
> - Wanneer je een lege cel wenst aan te maken in een panelgrid volstaat
> <f:verbatim/> op de plaats en is <panelGroup> niet nodig.
> - In je link naar de CSS gebruik je de root, als er een war gemaakt wordt
> en deze app wordt onder een andere root gedeployed dan wordt de CSS niet
> gevonden. gebruik altijd relatieve paden.
>
> Het is beter dat je de action methoden en actionListeners voor een pagina
> bij de bean houdt waarin de data staan.  Dus de personBean niet gebruiken
> voor personList.jsp
>
> PersonListBean moet inderdaad op session staan om de sortering van de tabel
> mogelijk te maken. -> Jan dit is iets voor je Conversation scope in CDI.
>
> *PersonBean*
> - Dit kan je op request niveau plaatsen (zo veel mogelijk op request). Je
> hebt dan wel een probleempje op te lossen omdat PersonBean niet in
> PersonListBean kan geinjecteerd worden maar daarvoor bestaat er een
> oplossing (weeral via EL)
>
> **
>
>

Other related posts: