Struts 标签和表达式语言
我在 struts2 项目中一起使用表达式语言和 struts 标签时遇到问题。 jsp 文件中的以下代码片段说明了我的问题。 水果对象由 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} 但没有成功。
I am having a problem using expression language and struts tags together in a struts2 project. The following code snippet from a jsp file illustrates my problem. The fruits object is passed by a servlet. I know that the error is not from the servlet because when I comment out the form code, it correctly prints out each fruit.
<c:forEach var="fruit" items="${fruits}">
<c:out value="${fruit}"/>
<s:form>
<s:checkbox label="${fruit}"></s:checkbox>
</s:form>
</c:forEach>
This doesn't work, and the following error is returned: "According to TLD or attribute directive in tag file, attribute label does not accept any expressions".
What I'm wondering is, is there a way to do this in a similar elegant fashion that doesn't require expression language? I really want to use the struts tags for my jsp page. I've also tried with %{fruit} with no luck.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议更仔细地阅读 Struts 标签的文档。
您的代码失败,因为 s:checkbox 标签不接受表达式。 它应该只是一个简单的标签,如下所示
对于上面的示例,s:checkboxlist 可能效果更好。 请参阅 http://struts.apache.org/2.0.6/docs/checkboxlist .html 了解更多信息。
I suggest reading the docs for the Struts tags more carefully.
Your code is failing because the s:checkbox label doesn't accept expressions. It should be just a plain label something like the following
For your example above the s:checkboxlist may work better. See http://struts.apache.org/2.0.6/docs/checkboxlist.html for more information.