<c:foreach paramvalues =“”>不输出任何内容

时间:2016-02-21 21:13:42

标签: jsp jstl

我在表格中有这些复选框:

Ethnicity (Check all that apply):<br>
<input type="checkbox" name="ethnicity" value="Caucasian">Caucasian<br>
<input type="checkbox" name="ethnicity" value="Asian">Asian<br>
<input type="checkbox" name="ethnicity" value="Hispanic">Hispanic<br>
<input type="checkbox" name="ethnicity" value="African American">African American<br>
<input type="checkbox" name="ethnicity" value="Pacific Islander">Pacific Islander<br>
<input type="checkbox" name="ethnicity" value="Native American">Native American<br>
<input type="checkbox" name="ethnicity" value="Prefer not to answer">Prefer not to answer<br><br>

提交表单后,我转到另一个名为echo.jsp的页面。在echo.jsp里面,我想做的就是回复所有提交的内容。

但是,此代码绝对不打印:

<c:forEach items="${paramValues.ethnicity}" var="item">
       <c:out value="${item}" /> <br>
</c:forEach>

虽然这段代码打印出确切的内容......

<%
    String select[] = request.getParameterValues("ethnicity"); 
    if (select != null && select.length != 0) {
        out.println("You have selected: ");
        for (int i = 0; i < select.length; i++) {
             out.println(select[i]); 
        }
     }
%>

我错过了什么吗?为什么JSTL foreach循环不能与paramValues一起使用?

我应该注意,这只是表格的一小部分。我有很多其他表格项目,如名字,姓氏,电子邮件等....

1 个答案:

答案 0 :(得分:0)

我弄明白了这个问题。我是一个jsp / jstl新手,并且不知道我在我的页面中需要这个:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

我意识到必须有一些非常基本的东西,因为我使用的jstl标签都没有。