03. december 2005 - 21:33
Der er
43 kommentarer
Speciel løkke i JSTL, hvordan?
Det drejer sig simpelthen om at lave en løkke på, der skal løbe nøjagtig 13 gange. Undervejs i disse genneløb, skal jeg matche noget tekst med et datostempel (fx '10:00' matche i '2005-11-05 10:00' (her er der match)). Hvis ikke så viser jeg bare 10:00 som ledigt. Jeg har meget meget lidt erfaring med jstl, hvis der er nogen, der ved noget eller har et eksempel, så meldt gerne tilbage her.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
03. december 2005 - 21:34
#1
Er der nogen der har nogle forslag?
03. december 2005 - 21:39
#2
<c:forEach var="i" start="1" end="13"> ... </c:forEach> må være selve løkken
03. december 2005 - 21:42
#3
Ok, vi arbejder os stille og roligt derhenne af :o)
03. december 2005 - 21:44
#4
aaahhh den bliver svær....lad mig lige tænke mig om....
03. december 2005 - 21:56
#5
Hele udfordringen er at jeg har en hel masse tider startende fra: 07:00 08:00 ... 20:00 Jeg skal løbe en løkke igennem fra kl 7 - 20 :o). For hver af disse tider skal jeg matche den igennem arrays af af tidstempler. Så det vil betyder en løkke til at løbe fra kl.07:00 til kl.20:00 og en løkke indeni der simpelhen mather tiden med tidstemplerne i et array af dem. Hvon gør man det???
03. december 2005 - 22:00
#6
i jstl? Løkke i løkke....
03. december 2005 - 22:03
#7
hm jeg prøver lige at brygge på noget
03. december 2005 - 22:11
#8
det lyder godt... jeg prøver også lige, selvom jeg tror du er hurigst.
03. december 2005 - 22:32
#9
<%@ taglib prefix="c" uri="
http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.*" %>
<%
// just for test
List data = new ArrayList();
data.add("16:00");
data.add("17:00");
data.add("18:00");
request.setAttribute("data", data);
%>
<c:forEach var="i" begin="7" end="20">
<c:set var="ti" value="${i}:00"/>
<c:out value="${ti}"/>
<c:forEach var="t" items="${data}">
<c:if test="${ti==t}">
****
</c:if>
</c:forEach>
<br>
</c:forEach>
03. december 2005 - 22:37
#10
7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 **** 17:00 **** 18:00 **** 19:00 20:00
03. december 2005 - 22:38
#11
ohhh virker det?
03. december 2005 - 22:38
#12
hmmm det ser ud som om noget af det er jsp?
03. december 2005 - 22:39
#13
nååh det bare dit arraylist der er i jsp, fair nok.
03. december 2005 - 22:42
#14
Prøver liiiiige.
03. december 2005 - 22:43
#15
Ahhh næsten ved at være der. Hvordan får jeg min <fmt:formatDate value="${inspections.startTime}" pattern="HH:mm" /> ind istedet for dit t i <c:if test="${ti==t}"> ?????
03. december 2005 - 22:44
#16
Ellers skal denne ${inspections.startTime} formateres i JSTL til HH:mm.....men how?
03. december 2005 - 22:46
#17
det virker min ArrayList er bare en til test din ArrayList kommer sikkert et helt andset sted fra men bare du får den gemt i request så er det OK
03. december 2005 - 22:46
#18
...men hvad med det sidste???
03. december 2005 - 22:51
#19
nu mistede jeg tråden
03. december 2005 - 23:05
#20
Det jeg prøver er følgende: <c:forEach var="i" begin="7" end="20"> <c:set var="ti" value="${i}:00"/> <c:forEach var="inspections" items="${requestScope.arrayOfInspections}"> <c:if test="${ti==${inspections.startTime}}"> **** </c:if> </c:forEach> </c:forEach>
03. december 2005 - 23:06
#21
${inspections.startTime} er et timestamp, så det skal jeg jo klippe ned til jeg bare har tiden fx. 12:00 som vi så kan lave en if på.
03. december 2005 - 23:07
#22
Håber du er tilbage på tråden :o)
03. december 2005 - 23:08
#23
prøv: <c:if test="${ti==inspections.startTime}">
03. december 2005 - 23:10
#24
vi prøver......
03. december 2005 - 23:26
#25
Er der ikke noget der hedder <c:else></c:else>???? <c:forEach var="i" begin="7" end="20"> <c:set var="ti" value="${i}:00"/> <c:forEach var="inspections" items="${requestScope.arrayOfInspections}"> <c:if test="${ti==${inspections.startTime}}"> **** </c:if> <c:else> #### </c:else> </c:forEach> </c:forEach> Det kan jeg nemlig ikke....
03. december 2005 - 23:29
#26
nej så skal du bruge choose, when og otherwise
03. december 2005 - 23:29
#27
03. december 2005 - 23:30
#28
okay, prøver det...
03. december 2005 - 23:33
#29
Koden blev til det her....men det virker ikke helt..... <c:choose> <c:when test="${!empty requestScope.arrayOfInspections}"> <c:forEach var="i" begin="7" end="20"> <c:set var="ti" value="${i}:00"/> <c:forEach var="inspections" items="${requestScope.arrayOfInspections}"> <c:choose> <c:when test="${ti==inspections.startTime}"> <tr> <td width="15" align="left" class="timeslotText">${ti}</td> <td width="200" class="inspectionTimeSlotReserved"> </td> <td> </td> </tr> </c:when> <c:otherwise> <tr> <td width="15" align="left" class="timeslotText">${ti}</td> <td width="200" class="inspectionTimeSlotFree"> </td> <td><a href="#" onclick="doInsertTimeSlot('${ti}');" title="Send inspection request"><-</a></td> </tr> </c:otherwise> </c:choose> </c:forEach> </c:forEach> </c:when> </c:choose>
03. december 2005 - 23:35
#30
Jeg tror ikke denne her virker -> <c:when test="${ti==inspections.startTime}"> da ti jo fx er (10:00) og inspections.startTime} er et tidstempel (2005-11-05 10:00)
03. december 2005 - 23:38
#31
Jeg paster lige koden ind igen, da det første blev grimt pastet ind. <c:choose> <c:when test="${!empty requestScope.arrayOfInspections}"> <c:forEach var="i" begin="7" end="20"> <c:set var="ti" value="${i}:00"/> <c:forEach var="inspections" items="${requestScope.arrayOfInspections}"> <c:choose> <c:when test="${ti==inspections.startTime}"> <tr> <td width="15" align="left" class="timeslotText">${ti}</td> <td width="200" class="inspectionTimeSlotReserved"> </td> <td> </td> </tr> </c:when> <c:otherwise> <tr> <td width="15" align="left" class="timeslotText">${ti}</td> <td width="200" class="inspectionTimeSlotFree"> </td> <td><a href="#" onclick="doInsertTimeSlot('${ti}');" title="Send inspection request"><-</a></td> </tr> </c:otherwise> </c:choose> </c:forEach> </c:forEach> </c:when> </c:choose>
03. december 2005 - 23:47
#32
prøv og formater din start tid til en String med en df.format inden du sammenligner
03. december 2005 - 23:51
#33
Jeg tror ikke jeg må så meget i min mainkode. Jeg skal 'bare' ha' {$inspections.startTime} klippet lidt til kun at have tiden i sig. Man må kunne formatere en dato i jstl...
03. december 2005 - 23:54
#34
kan jeg ikke på en eller anden måde bruge <fmt:formatDate "${inspections.startTime}" pattern="HH:mm" /> inde i min <c:when test="${ti==inspections.startTime}"> ??? Kan man ikke erklære en variable af en eller anden art og bruge den ?????
04. december 2005 - 00:02
#35
Hvordan negerer man <c:if test="${reserved==ti}"> ?????
04. december 2005 - 00:17
#36
Nåh ja...<c:if test="${!reserved==ti}">
04. december 2005 - 00:20
#37
prøv med !=
04. december 2005 - 00:27
#38
Kan du ikke prøve at smide tidsstempler istedet for tider i dit arrayList, og prøve at få det til at virke????
<%@ taglib prefix="c" uri="
http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.*" %>
<%
// just for test
List data = new ArrayList();
data.add("2005-11-05 16:00");
data.add("2005-11-05 17:00");
data.add("2005-11-05 18:00");
request.setAttribute("data", data);
%>
<c:forEach var="i" begin="7" end="20">
<c:set var="ti" value="${i}:00"/>
<c:out value="${ti}"/>
<c:forEach var="t" items="${data}">
<c:if test="${ti==t}">
****
</c:if>
</c:forEach>
<br>
</c:forEach>
04. december 2005 - 00:52
#39
hvad siger du til:
<%@ taglib prefix="c" uri="
http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="
http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ page import="java.util.*" %>
<%
// just for test
List data = new ArrayList();
data.add("2005-11-05 16:00");
data.add("2005-11-05 17:00");
data.add("2005-11-05 18:00");
request.setAttribute("data", data);
%>
<c:forEach var="i" begin="7" end="20">
<c:set var="ti" value=" ${i}:00"/>
<c:out value="${ti}"/>
<c:forEach var="t" items="${data}">
<c:if test="${fn:endsWith(t,ti)}">
****
</c:if>
</c:forEach>
<br>
</c:forEach>
04. december 2005 - 00:52
#40
der er ikke ret mange prædefinerede funktioner i EL men du kan lavce dine egne, så kan du få det præcis som du vil
04. december 2005 - 01:02
#41
Vi prøver liiiige....
31. december 2005 - 14:13
#42
virkede det ?
26. november 2007 - 21:57
#43
??
Kurser inden for grundlæggende programmering