mümkün bir ArrayList değerleri ekleyin yerine HashMapkullanım JSTL arraylist değerleri ekleme
gibi bir şey kullanarak etmektir
mümkün bir ArrayList değerleri ekleyin yerine HashMapkullanım JSTL arraylist değerleri ekleme
gibi bir şey kullanarak etmektir
Yukarıdaki kod çalışmıyor. vb sayfasında, oturuma, kapsama alınmadığı bir ArrayList() üzerine foreach:
animals.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<c:forEach var="animal" items="${animals}">
<c:set var="animalName" value="${animal}"/>
<c:out value="${animalName}"/>
</c:forEach>
JSTL bu tür şeyler yapmak için tasarlanmamıştır. Bu gerçekten bir servlet sınıfı tarafından kontrol edilecek olan iş mantığına aittir. /animals
bir url-pattern
üzerine
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<String> animals = new ArrayList<String>();
animals.add("Sylvester");
animals.add("Goofy");
animals.add("Mickey");
request.setAttribute("animals", animals);
request.getRequestDispatcher("/WEB-INF/animals.jsp").forward(request, response);
}
haritada bu:
sevmediği bir sunucu uygulamasını oluşturun.Şimdi (doğrudan erişimi engellemek için WEB-INF
yerleştirin) /WEB-INF/animals.jsp
bir JSP dosyası oluşturmak:
<c:forEach items="${animals}" var="animal">
${animal}<br>
</c:forEach>
servlet olarak jsp:useBean
gerek yok zaten belirledi.
Şimdi servlet + JSP'yi http://example.com/context/animals
numaralı telefondan arayın.
o c çalıştırmak mümkündür dosyasında yerleştirilecek olan kod satırları aşağıda? Örneğin, eğer arteryist bir alıcı/ayarlayıcı ile bir sınıfta bir özellik olsaydı. –
@robert: Kesinlikle. Bu sınıfı yalnızca kapsam içine koyun ve 'items =" $ {bean.list} "' '' '' '{{'}} 'nin, listeyi döndüren 'getList()' yöntemine sahip olan bu sınıfa işaret eder. – BalusC
Teşekkürler, çok hızlısınız! –
OP zaten JSTL kullanıyordu, cevabımdan bahsetmek gereksizdi. Etiketlerin ayrıştırılabilmesi için taglib'in bildirilmesi yeterli. Ayrıca, taglib URI'niz çok eskidir. Arada bir/jsp olmalı. – BalusC