我有一组下拉控件,我想使用自定义标记库进行渲染。以下是标签lib的代码:
<spring:bind path="${path}">
<c:choose>
<c:when test="${readOnly}">
<span class="readOnly">${status.value}</span>
</c:when>
<c:otherwise>
<form:select path="${path }" itemLabel="${label }" itemValue="${value }" items="${itemList}">
</form:select>
</c:otherwise>
</c:choose>
这是我在JSP文件中编写的代码:
<tag:conditionalListControl path="model.selectedCountry"
readOnly="false" label="name" value="id"
listItems="model.countryList" className="simple" />
执行时,配对会返回以下错误:
[jsp:165] javax.servlet.jsp.JspException: Type [java.lang.String] is not valid for option items
但是,如果我将items="${itemList}"
更改为items="${model.countryList}"
这是我想要显示的列表,它可以正常工作而没有任何问题,并且还可以绑定到表单提交上的必需变量。
但我不想硬编码标签lib中的任何变量。 任何建议???
答案 0 :(得分:1)
随着以下更改,问题就消失了
Contact.jsp
<tag:conditionalListControl path="model.selectedQualification"
readOnly="false" label="name" value="id"
listItems="${model.qualificationList}" className="simple" />
conditionalListControl.tag
<%@ attribute name="listItems" required="true" type="java.util.List" %>