java - JSP 出现脚本错误,只是尝试将 txt 文件内容显示到浏览器窗口

标签 java html jsp

我正在做一门类(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 ( &lt;%!, &lt;jsp:declaration, 
&lt;%=, &lt;jsp:expression, &lt;%, &lt;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/

相关文章:

javascript - 如何在 Node 中解析 POST 响应体

html - 有没有办法为非语言文本内容指定合理的替代文本?

javascript - 有没有可能固定底部滚动条?

javascript - 未捕获的语法错误 : Unexpected identifier in Spring MVC JSP

java - 从jsp页表中获取值

java - 我得到 "HTTP Status 404 -/MVC_demo/LoginController"。请检查我的程序是否有错误

java - 将 Double 格式化为正确的格式

java - Android:按下项目时会按下可扩展 ListView 项目按钮

java - 通过 JMX 调用操作会出现 NoAccessRuntimeException

java - 由于开头字符无效,Feign 客户端无法将响应 json 转换为 Java 对象