forEach JSTL循环用于下拉列表没有值传递

时间:2016-03-10 13:28:54

标签: jsp jstl javabeans el

我有forEach JSTL循环,它通过javabean名称State中几个状态的ArrayList。

 <%         State state = new State();
            pageContext.setAttribute("state", state);%>

            <select name="state">
            <c:forEach items="${state.states}" var="state">
                <option value="${state}>
                ${state}
                </option>
            </c:forEach>
            </select><br>

由于某种原因,每个选项的值为null。但选项标签之间的EL评估正确。

在我的java Bean类下面

import java.io.Serializable;
import java.util.ArrayList;


public class State implements Serializable{

private ArrayList states = new ArrayList();


public State() {
    states.add("Massachusetts");
    states.add("New Hampshire");
    states.add("Connecticut");
    states.add("Rhode Island");
}

public ArrayList getStates() {
    return states;
}

public void setStates(ArrayList states) {
    this.states = states;
}

}

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:0)

当你使用

时,

没有名字乱七八糟

 State state = new State();     
  pageContext.setAttribute("state", state);

<option value="${state}">${state}</option>

在你的c:forEach?