Avatar billede dennish Nybegynder
24. september 2009 - 10:36 Der er 4 kommentarer og
1 løsning

Dynamisk JSP med JSTL med c:choose - kan det gøres smartere

Hejsa

Jeg har en JSP sider der via request scope får et objekt. (Status objekt)
Hvis status er: (ikoner er <a href) på siden)
0 = vis ikon 2 og deaktiver ikon 1,3,4
1 = vis ikon 3 og deaktiver ikon 1,2,4
osv...

<c:choose>
<%--  0 = ikke bestilt --%>
<c:when test='${entry.value.status == "0"}'>
<td class="tableEvenRow l nowrap" width="50px">
<a href="#" title="Bestil afregning"onClick="bestilAfregning();">
  <img alt="Bestil" src="/images/ExportTable.gif" style="border-style: none"/>bestil   
</a>
</td>
                                <td class="tableEvenRow l nowrap" width="50px" style="opacity:.5 filter:alpha(opacity=50);">
<a href="#"title="Aflys afregning" onclick="return false"/>
  <img alt="Aflyst" src="/images/Cancel.gif" style="border-style:none"/>Aflys
</a>
</td>
                                <td class="tableEvenRow l nowrap" width="50px" style="opacity:.5;filter:alpha(opacity=50);">
<a href="#" title="Afslut afregning" onclick="return false"/>
  <img alt="Afslut" src="/image /GreenCheck.gif"style="border-style: none"/>Afslut
</a>
</td>
</c:when>

I ovenstående kodeafsnit håndterer jeg den dynamiske side ved at have en c:when betingelse på min status og ud fra den generer jeg så JSP siden (view). Men hvis jeg benytter nedenstående fremgangsmåde bliver jeg nødt til at mange c:when i min kode og jeg kan umiddelbart ikke udskifte mit view(JSP side) med en anden side uden også at have en masse c:when på den anden side. Jeg vil i bund og grund gerne have et Model View Controller patterne med lav kobling imellem de enkelte dele.

Mit spørgsmål kan jeg ikke lave min kode på en anden mere smart måde ?
Avatar billede arne_v Ekspert
25. september 2009 - 04:17 #1
Kan du i.s.f. at putte status i request så putte title, onclick og src i request ?
Avatar billede dennish Nybegynder
25. september 2009 - 09:24 #2
Arne>> øhh er ikke helt med. Mener du at jeg i stedet skal bruge title, onklick og src på request scope, dvs opbygge min html række på server side (controller) og sende den afstede som en String og sætte den ind på request scope på min JSP side. Med andre ord jeg flytte mine if betinger over på serverside fremfor som nu på min JSP side ?
Avatar billede arne_v Ekspert
25. september 2009 - 19:57 #3
Min ide er noget ligende:

<a href="#" title="${entry.value.title}" onclick="${entry.value.onclick}"/><img alt="${entry.value.title}" src="${entry.value.imgsrc}" style="border-style: none"/>${entry.value.title}</a>
Avatar billede dennish Nybegynder
26. september 2009 - 11:21 #4
arne>> god idet. smider du ikke et svar ?
Avatar billede arne_v Ekspert
26. september 2009 - 15:00 #5
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester