这段代码的错误在哪里,id属性的值为空,但是控制台能输出所有的value值,求大神解答??

    <s:form action="deleteMessageAction" method="post">
        <table align="center" width="40%" border="5">
            <tr>
                <td>请选择要删除学生的学号:</td>
                <td><select name="id">
                        <%
                            ArrayList list = (ArrayList) session.getAttribute("allInfo");
                                if (list.isEmpty()) {
                        %>
                        <option value="null">null</option>
                        <%
                            } else {
                                    for (int i = 0; i < list.size(); i++) {
                                        Student info = (Student) list.get(i);
                        %>
                        <option value="<%=info.getId()%>">
                            <%=info.getId()%></option>

                        <%
                        System.out.println("执行到这一行"+info.getId());
                            }
                                }
                        %>
                </select></td>
                <td><s:submit value="确定"></s:submit></td>
            </tr>
        </table>
    </s:form>

阿萨德发生啊实打实的发发

你的后台代码怎么写的?有没有id的set方法?