从另一个自定义JSP标记内部调用一个自定义JSP标记的最佳方法?

时间:2014-12-17 23:09:41

标签: java html spring jsp

我们正尝试使用OWASP Java Encoder Project's custom tag library在我们的应用中实施其他跨站点脚本保护。在我正在处理的概念验证页面上,我遇到了如何在现有标记内使用e:forHtml标记的问题,在本例中是Spring form:input标记:< / p>

<form:input id="Quantity_${status.index}" path="<e:forHtml value=${myData.items[status.index].quantity} />" size="4" maxlength="4"/>

我被告知这应该没问题,但是当我尝试这个时,我得到以下运行时错误:

org.springframework.beans.NotReadablePropertyException: 
Invalid property '<e:forHtml value=1 />' of bean class [com.mystuff.MyData]: 
Bean property '<e:forHtml value=1 />' is not readable or has an invalid getter method: 
Does the return type of the getter match the parameter type of the setter?

是否可以这样做,还是应该以另一种方式重新实现?

1 个答案:

答案 0 :(得分:0)

我相信你可以使用变量:

<c:set var="myPath"><e:forHtml value="${myData.items[status.index].quantity}" /></c:set>

<form:input id="Quantity_${status.index}" path="${myPath}" size="4"
            maxlength="4"/>

但这基本上使问题与Calling a custom JSP tag from JSTL tag

重复