我有以下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>
和一个room
对象,其中包含int id
和String roomDescription
,我想从arraylist中打印出这些,我过去常常通过结果存储所有房间ResultSet
。
org.apache.jasper.JasperException: /Results.jsp(4,5) Invalid standard action
有人能告诉我它有什么问题吗? (我的房间类由这两个变量和getter和setter组成)。我已经测试了数组列表的大小,我知道我正在添加房间对象。
答案 0 :(得分:4)
我认为导致异常的问题是由<jsp:root>
元素引起的,根据this page,该元素格式不正确。如果我正确阅读链接页面,JSP末尾应该有一个匹配的</jsp:root>
标记。
即使这不是确切的问题,异常消息表明问题出在“[4,5]”:即JSP文件的第4行#5字符。
答案 1 :(得分:1)
我遇到了同样的问题。
我在<jsp:root>
之前声明了 taglib ,如下所示:
<%@ 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" %>
答案 2 :(得分: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>
搜索属性必须返回房间对象列表,迭代并显示它们。您需要使用值赋值的结果变量。