我想做这样的事情:
<c:import url="${myvar.url}">
<c:forEach items="${myvar.params}" var="param">
<c:param name="${param.name}" value="${param.value}"/>
</c:forEach>
</c:import>
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
"c:import"标记中的非法子标记:"c:forEach"标记
显然,c:import期望c:param在其中,它会看到ac:forEach.
如果我尝试使用jsp:include和jsp:params,我会遇到同样的问题.
有帮助吗?
如果你不想担心凌乱的"?" 和"&"逻辑你也可以使用类似下面的东西:
<c:url var="urlWithQueryString" value="${myvar.url}">
<c:forEach var="thisParam" items="${myvar.params}">
<c:param name="${thisParam.name}">${thisParam.value}</c:param>
</c:forEach>
</c:url>
<c:import url="${urlWithQueryString}"/>
Run Code Online (Sandbox Code Playgroud)