Struts 2在foreach中的URL参数

时间:2009-03-29 05:18:24

标签: java struts2 foreach

有人可以向我解释为什么以下代码会导致错误:根据标记文件中的TLD或属性指令,属性值不接受任何表达式。每当我尝试为URL的参数动态设置值时,它总是会中断。

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:forEach var="v" items="${files}">
    ${v} <a href='<s:url action="DeleteFile"><s:param name="fileName" value="${v}" /></s:url>'>Delete</a><br />
</c:forEach>

我正在使用Struts 2和最新版本的Java。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

您正在混合使用JSTL标记(foreach)和Struts标记(s param)。虽然有可能让它们协同工作,但为什么会遇到麻烦?

使用struts iterator 标记并转储foreach。

详情请见http://struts.apache.org/2.0.14/docs/iterator.html

理论上,使用本机struts 2标签可以实现JSTL的所有功能,因此您的应用程序可能根本不需要JSTL。