Remote.jsp代码:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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>Remote Value</title>
</head>
<body>
<%
File remote = new File("D:\\test.txt");
FileReader fr = new FileReader(remote);
int ch;
while((ch = fr.read()) != -1)
out.println("<p>" + (char)ch + "</p>");
fr.close();
%>
</body>
</html>
<jsp:include page="Remote.jsp"/>
嵌入到另一个jsp中,路径正确。
但每次我得到例外。
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 11 in the jsp file: /Remote.jsp File cannot be resolved to a type
答案 0 :(得分:0)
当Remote.jsp
无法自行编译时,您可以获得此异常。您可以直接打开文件进行测试,而不必将其包含在另一页中。然后,您会看到有关原因的明确例外情况。据我所知,您至少缺少java.io.*
中的Remote.jsp
导入。
<%@page import="java.io.*" %>
无关,这是一种糟糕的做法。它不仅可能导致其他JSP中语法无效的HTML(您无法嵌套<html>
等)。考虑使用从磁盘读取文件并将其传输到响应的servlet。那你就可以做到
<div style="white-space: pre;">
<jsp:include page="fileservlet/test.txt" />
</div>