我正在做一门类(class)的家庭作业。我将项目的大部分设置为从用户处获取信息等,但我想向浏览器显示一个简单的文本文件作为最后一部分。无论我如何尝试,我都无法让它发挥作用。
我必须使用 JSP 或 HTML,别无其他。我宁愿使用另一种语言,或者坦白地说,任何不像 Java 或其相关部分那么让人完全恼火的语言,但出于教育目的,我不能完成这项作业。
显示结果的 JSP 页面的代码如下:
<%@page import="java.io.*"%>
<%
BufferedReader input = new BufferedReader(new FileReader("WEB-INF/EmailList.txt"));
String line = "";
while ((line = input.readLine()) != null) {
out.println(line);
}
out.flush();
input.close();
%>
我继续收到此错误:
Scripting elements ( <%!, <jsp:declaration,
<%=, <jsp:expression, <%, <jsp:scriptlet )
are disallowed here.
经过无数个小时的谷歌搜索和浏览其他帖子,我似乎找不到对我来说对此有任何意义的答案。我想做的就是在屏幕上显示一个简单的文本文件。我看到的几乎每个例子都来自 5 年前或更长时间,当时某些事情必须是被允许的。我目前在 Mac OSX 10.11.5 上运行最新版本的 Netbeans 和 Tomcat Server 8。
有人可以提供一个比我读过的其他内容更有意义的答案吗?对于我的挫败感,我深表歉意,这是迄今为止我所参加的最糟糕的设置类(class)之一,而且我通常甚至无法让代码运行,所以我到目前为止的事实本身就令人印象深刻。老师也根本没有帮助,而且这本书的主题与每两周发布的作业完全不同。
最佳答案
看来您的web.xml
已指定<scripting-invalid>true</scripting-invalid>
,这意味着您不能在 JSP 中执行 Java 代码,即 <% code %>
是不允许的。
正如消息所说(为了清晰起见,进行了格式化和排序):
Scripting elements are disallowed here:
<%!
<%=
<% <-- That's what you are doing
<jsp:declaration
<jsp:expression
<jsp:scriptlet
删除<scripting-invalid>
标记,或将值更改为 false
.
或者更好的是:不要
在 servlet 所属的位置编写代码。
关于java - JSP 出现脚本错误,只是尝试将 txt 文件内容显示到浏览器窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38289263/