Dynamisk JSP med JSTL med c:choose - kan det gøres smartere
HejsaJeg 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 ?