c:out标签没有显示结果

时间:2014-05-08 13:02:06

标签: java spring jsp rest

在我输出的jsp文件中没有显示详细信息。我用cout标签。请指教

student.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@  taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01      Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
       <title>Insert title here</title>
   </head>
   <body>
   <c:if test="${not empty objects}">
   <table>
    <tr>
     <td>ID</td>
          <td>Name</td>
          <td>Age</td>
    </tr>
    <c:forEach var="o" items="${objects}">
        <tr>
            <td><c:out value="${o.id}"/></td>
            <td><c:out value="${o.name}"/></td>
            <td><c:out value="${o.age}"/></td>   
        </tr>
    </c:forEach>

    </table>
  </c:if>  

</body>
</html>

我使用的控制器功能

@RequestMapping(value = "/student", method = RequestMethod.GET)
public ModelAndView students() {

    List<Student> students=studentService.getAllStudents();
    return new ModelAndView("students", "command", students);
}

服务中的getAllstudents函数

    public List<Student> getAllStudents()
    {
        List<Student> students=new ArrayList<Student>();

        for(int i=0;i<10;i++)
        {
            Student student=new Student();
            student.setName("Student - " + i);
            student.setId(i);
            student.setAge(i+20);
            students.add(student);
        }

        return students;
    }

2 个答案:

答案 0 :(得分:1)

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

我不确定您的代码是否有效,但如果您更换以下代码,则可以正常使用

2.在Controller类中更改代码修改

ModelAndView view=new ModelAndView();
    view.addObject("stdobj", students);
    view.setViewName("students");
    return view;

3.像这样改变代码

  <c:forEach var="o" items="${stdobj}">
    <tr>
        <td><c:out value="${o.id}"/></td>
        <td><c:out value="${o.name}"/></td>
        <td><c:out value="${o.age}"/></td>   
    </tr>
</c:forEach>

答案 1 :(得分:0)

您有非常基本的设置问题。首先把这个放在最上面的

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

将JSTL库添加到类路径(WEB-INF/lib

注意:下载JSTL 1.2

的链接