1

我有以下jsp文件

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*" %>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" version="2.0">
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<!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=UTF-8" />
<title>Home</title>
<link rel="stylesheet" type="text/css" href="css/reset.css" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>

<body>
<div class="container">
  <jsp:include page="/WEB-INF/embeds/header.jsp"/>
  <div class="content">
    <h>Hotel Results</h>
    <table cellpadding="15">
    <c:forEach var="result" items="${search}">
    <tr>
        <td style="padding: 0px 0px 8px 10px">
            <c:out value="${search.roomDescription}"/>
        </td>
    </tr>
    </c:forEach>
    </table>
  </div>
</div>
</body>
</html>

和一个包含and的room对象,我想从我用来存储所有房间的数组列表中打印出这些我得到的结果。此代码似乎与int idString roomDescriptionResultSet

org.apache.jasper.JasperException: /Results.jsp(4,5) Invalid standard action

有人可以告诉我它有什么问题吗?(我的房间类由这两个变量以及 getter 和 setter 组成)。我已经测试了数组列表的大小,并且我知道我正在添加房间对象。

4

3 回答 3

4

我认为导致异常的问题是由<jsp:root>元素引起的,根据此页面,该元素格式错误。如果我正确阅读了链接页面,则</jsp:root>JSP 末尾应该有一个匹配的标记。

即使这不是确切的问题,异常消息也会指出问题出在“[4,5]”:即 JSP 文件的第 4 行字符第 5 行。

于 2012-05-06T03:02:52.923 回答
1

我遇到了同样的问题。

我在之前声明了一个标记库<jsp:root>,如下所示:

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

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">

我颠倒了他们的顺序,并解决了这个问题

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">  

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="psc" %>
于 2015-11-02T14:45:15.980 回答
0
<c:forEach var="result" items="${search}">
<tr>
    <td style="padding: 0px 0px 8px 10px">
        <c:out value="${result.id}"/>
        <c:out value="${result.roomDescription}"/>
    </td>
</tr>
</c:forEach>

search 属性必须返回房间对象的列表,在其中迭代和显示它们。您需要使用将值分配给的结果变量。

于 2012-05-06T02:54:57.403 回答