Do të doja të merrja diçka si kodi tjetër i krijuar në JSTL
<c:choose>
<c:when test="${random number is even}">
<div class="redlogo">
</c:when>
<c:otherwise>
<div class="greenlogo">
</c:otherwise>
</c:choose>
Do të doja të merrja diçka si kodi tjetër i krijuar në JSTL
<c:choose>
<c:when test="${random number is even}">
<div class="redlogo">
</c:when>
<c:otherwise>
<div class="greenlogo">
</c:otherwise>
</c:choose>
Kjo është pak e shëmtuar por funksionon...
<c:set var="rand"><%= java.lang.Math.round(java.lang.Math.random() * 2) %></c:set>
Më vonë mund të kontrolloni për ${rand mod 2 == 0}
dhe ${rand mod 2 == 1}
për të marrë rezultatin tuaj të dëshiruar.
Mund ta mbështillni java.util.Random
në një fasule dhe përdorni jsp:useBean
.
package com.example;
import java.util.Random;
public class RandomBean {
private static final Random RANDOM = new Random();
public int getNextInt() {
return RANDOM.nextInt();
}
}
...në mënyrë që ta përdorni në JSP tuaj si më poshtë:
<jsp:useBean id="random" class="com.example.RandomBean" scope="application" />
...
<div class="${random.nextInt % 2 == 0 ? 'redlogo' : 'greenlogo'}">
(vini re se kam optimizuar c:choose
larg me ndihmën e operatorit tresh).
${random.nextInt() ... }
(+1 është dhënë shumë kohë më parë :) ) 24.02.2011 Unë thjesht dua të theksoj se nëse jeni duke përdorur EL 2.2 (ose më lart), mund të telefononi drejtpërdrejt çdo metodë në EL (shiko këtë pyetje), kështu që ndoshta metoda më e shpejtë është inicializimi i një fasule
<jsp:useBean id="random" class="java.util.Random" scope="application" />
dhe më pas thirrni drejtpërdrejt nextInt()
ose ndonjë metodë tjetër nga java. util.Random faqen e brendshme:
${random.nextInt()}
ose me parametrin:
${random.nextInt(10)}
Shpresoj se ndihmon! taglib i rastësishëm
Gjithashtu mund të provoni funksionin $Math.random.