0

我在 struts2 项目中同时使用表达式语言和 struts 标签时遇到问题。以下来自 jsp 文件的代码片段说明了我的问题。fruits 对象由一个 servlet 传递。我知道错误不是来自 servlet,因为当我注释掉表单代码时,它会正确打印出每个水果。

<c:forEach var="fruit" items="${fruits}">
    <c:out value="${fruit}"/>
    <s:form>
        <s:checkbox label="${fruit}"></s:checkbox>
    </s:form>
</c:forEach>

这不起作用,并返回以下错误:“根据 TLD 或标记文件中的属性指令,属性标签不接受任何表达式”。

我想知道的是,有没有一种不需要表达语言的类似优雅方式的方法?我真的很想为我的jsp 页面使用struts 标签。我也试过 %{fruit} 没有运气。

4

1 回答 1

0

我建议更仔细地阅读 Struts 标签的文档。

您的代码失败,因为 s:checkbox 标签不接受表达式。它应该只是一个普通标签,如下所示

<s:checkbox label="Male" name="male" value="true" />
<s:checkbox label="Female" name="male" />

对于您上面的示例, s:checkboxlist 可能会更好。有关详细信息,请参阅http://struts.apache.org/2.0.6/docs/checkboxlist.html

于 2009-07-11T04:17:22.827 回答