Nesnelerin bir Collection
özniteliği olarak kabul edilen özel bir JSP etiketini uygulamaya çalışıyorum ve bunları JSON biçimli bir dizi olarak çektim (her bir nesne Collection
ürününü sağlar. Bu nesnenin JSON biçimli bir temsilini döndüren getJsonString()
yöntemi.JSP/JSTL: Bir Koleksiyonu Özel Bir Etikete Aktarma
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ attribute name="objects" required="true" rtexprvalue="true" %>
<c:set var="output" value="" />
<c:forEach var="obj" items="${objects}">
<c:if test="${! empty showComma}">
<c:set var="output" value="${output}, " />
</c:if>
<c:set var="output" value="${output}${obj.jsonString}" />
<c:set var="showComma" value="yes" />
</c:forEach>
[${output}]
... ve benzeri bir şey yaparak kullanmak mümkün istiyorum: Ben etiket gibi hayata geçirdik
<myTaglib:jsonArray objects="${myCollection}" />
Ben ancak etiketi kullanmayı deneyin, ben bir yığın izleme sözü olsun:
javax.el.PropertyNotFoundException: Property 'jsonString' not found on type java.lang.String
Yani
${obj.jsonString}
ifadesi hakkında şikayetçi, ama kesinlikle dizeleri bir
Collection
geçen değilim. Üstelik,
${obj}
olarak değiştirirseniz, çıkışta doğru nesne türlerini görüyorum ve özel etiketimin kodunu kullanmak istediğim JSP'ye kopyalayıp yapıştırdığımda, düzgün çalışıyor, bu yüzden emin değilim Burada neler oluyor.
Collection
özel etiketine nasıl geçtiğimle ilgili bir sorun olduğunu varsayalım, ama ne olduğunu anlayamıyorum. Herhangi bir fikir? Ben çözüm buldu