/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JSF Design problemer
Fra : Thomas Sørensen


Dato : 02-03-08 18:15

Hej

Jeg PRØVER på at lave en simpel JSF side hvor man til tilføje produker
til en inkøbskurv..

Efter at have rodet med det i et par dage, er jeg gået lidt kold.. Er
meget i tvivl om min fremgangs måde er den rigtige (kritik af design
modtages meget gerne)..

Som koden ser ud virker siden ikke pga. <h:form id="${p.productId}">

Hvordan får jeg dette til at virke.. ?

<f:view>

   <%
      List<Product> products = pc.getAllProducts();
      Integer limit = (ROWCOUNT < products.size()) ? ROWCOUNT :
products.size();
   
      Product p = null;
      for (int i = 0; i < limit; i++){
         try{p = products.get(i+offset);
         
         %>
         <h:form id="${p.productId}">
         <h:inputText id="amount" value="#
{managedProductBean.amoung}" />
         <h:inputHidden id="product" value="#
{managedProductBean.productId}" />
         <h:commandButton id="submit" action="#
{managedProductBean.addProduct}" value="buy" />
         </h:form>
         <br />
         <%
         } catch (IndexOutOfBoundsException ignore) {}
      }
         %>

 
 
Ukendt (02-03-2008)
Kommentar
Fra : Ukendt


Dato : 02-03-08 19:08

Thomas Sørensen skrev den 02-03-2008 18:15:

>          <h:form id="${p.productId}">

id skal ikke være produktID men en unik ID i dit jsf-dokument.

>          <%
>          } catch (IndexOutOfBoundsException ignore) {}

Fy.

--
Thorbjørn Ravn Andersen "... plus... Tubular Bells!"

Thomas Sørensen (02-03-2008)
Kommentar
Fra : Thomas Sørensen


Dato : 02-03-08 19:27

Hej Thorbjørn

Tak for svaret...

Den Sun, 02 Mar 2008 19:07:58 +0100 skrev Thorbjørn Ravn Andersen:


> id skal ikke være produktID men en unik ID i dit jsf-dokument.
Ja men da jeg opretter en form for hvert produkt, er den bedste måde at
få et unikt id på (som jeg kender til) vel at bruge et af produktets
unikke egenskaber ?.. Findes der en smartere måde, (eller bare en der
virker :)) ?

>
>>          <%
>>          } catch (IndexOutOfBoundsException ignore) {}
>
> Fy.

Ja ved det ikke er den bedste løsning, men det er enten det, eller skal
jeg lave en kontrol hver gang jeg kalder p = products.get(i+offset); om
den giver IndexOutOfBounds Exception.. Og da det burde være Yderst
sjældent at den Exeption opstår, (kun hvis bruger piller ved offset i
QueryString) syntes jeg godt at jeg kan forsvarer løsningen.


Michael Rasmussen (02-03-2008)
Kommentar
Fra : Michael Rasmussen


Dato : 02-03-08 19:42

On 02 Mar 2008 18:27:09 GMT
Thomas Sørensen <falsk@falsk.dk> wrote:

> Ja men da jeg opretter en form for hvert produkt, er den bedste måde
> at få et unikt id på (som jeg kender til) vel at bruge et af
> produktets unikke egenskaber ?.. Findes der en smartere måde, (eller
> bare en der virker :)) ?
>
Jeg antager hvert produkt, er et selvstændigt objekt?
I så fald: int id = this.hashCode();

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Thomas Sørensen (02-03-2008)
Kommentar
Fra : Thomas Sørensen


Dato : 02-03-08 21:25


> Jeg kan ikke lide at id'erne skifter sådan, men det er nok en formssag.
> Det er 1½ år siden jeg sidst har kodet JSF, så tingene kan have ændret
Har du et bedre forslag, er er som sagt meget i tvivl om det er den
bedste løsning jeg har valgt.. Jeg er helt ny til JSF, så er meget åben
for gode forslag.. ?

> Det er en RIGTIG god vane at validere sine data før man bruger dem - det
> kan redde din bagdel i en situation hvor der er nogen professionelle der
> gerne vil knække din webshop og du lige har skudt unødig genvej - fx
> hvis der er en variabel der ikke bliver sat ordentligt.
>
> Desuden bør fangne exceptions ALTID boble hen et sted hvor "nogen" kan
> se dem bagefter når man skal finde ud af hvad i alverden der NU er i
> vejen. Dette er sjældent brugeren selv, men en logfil kan være en
> velsignelse.
Ja det rigtigt, en skrivning til log er en god ide..

Men syntes stadigvæk ikke løsninger er så slem... variablen (offset) er
valideret til at være en positivt int, Det er derfor jeg ikke tager
exeption så slemt.. Men ja, ikke den kønneste løsning...

Lige nu er jeg også bare på "få det til at virke" stadiet, bliver nok
ændret når jeg har fået det hele til at virke..


Thomas Sørensen (02-03-2008)
Kommentar
Fra : Thomas Sørensen


Dato : 02-03-08 21:30

Hej michael

> Jeg antager hvert produkt, er et selvstændigt objekt? I så fald: int id
> = this.hashCode();
Er det nogen fordele ved at bruge objektets hashCode i stedet for
produktets primaryKey fra database?

Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407862
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste