我正在使用JSP标记来封装可重用的前端逻辑.
我可以成功地将复杂对象com.example.Product传递给标记,但是我无法将List<Product>标记传递给标记.
这是我的product.tag:
<%@ attribute name="product" required="true" type="com.example.Product" %>
<a href="/products/${product.id}/${product.slug}">${product.name}</a>
Run Code Online (Sandbox Code Playgroud)
我可以在JSP页面上使用它,如下所示:
<%@ taglib tagdir="/WEB-INF/tags" prefix="h" %>
<h:product product="${myProduct}"/>
Run Code Online (Sandbox Code Playgroud)
现在,我想创建一个标签来显示产品列表.我坚持如何描述属性声明中的类型:
<%@ attribute name="products" required="true" type="???" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<ul>
<c:forEach items="${products}" var="product">
<li><h:product product="${product}"/></li>
</c:forEach>
</ul>
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
List<com.example.Product>java.util.List<com.example.Product>两者都会产生以下错误: Unknown attribute type (java.util.List<com.example.Product>) for attribute products
我确定如何在属性指令中描述泛型类型只有一些语法,但我找不到任何示例.
| 归档时间: |
|
| 查看次数: |
14082 次 |
| 最近记录: |