【问题标题】:uncaught syntaxerror: unexpected token < in calling JSP first line未捕获的语法错误:在调用 JSP 第一行时出现意外标记 <
【发布时间】:2026-01-27 09:40:01
【问题描述】:

当我使用脚本标记从另一个 jsp 页面调用一个 jsp 页面时,另一个 jsp 页面正在抛出错误。并且一些不需要的标签被添加到该页面。

<script language="javascript"  src="<%= strDocRoot+"reports/reports/reporttree.jsp" %>"></script>

在我的 reporttree.jsp 中只有 javascript 函数。

【问题讨论】:

  • reports/reports/reporttree.jsp 的第一行是什么样子的
  • 你的 src 是指向 jsp 页面还是 javascript 页面?除非它是纯 javascript,否则您不应该尝试使用脚本标签引入 jsp
  • 实际上它在 tomcat 上适用于 ssl 而没有 ssl 仅适用于 Apache 服务器这个问题正在发生我的报告 tree.jsp 如下只有 javascript 函数在 reporttree.jsp 中
  • 该链接打开一个登录页面。不是 javascript

标签: javascript jsp jsp-tags


【解决方案1】:

JSP 和 JavaScript 是不一样的。

JSP(JavaServer Pages)基于 HTML、XML 或其他文档类型。因此它可以包含&lt;tagname&gt; 之类的标签,也可以包含 JavaScript。

Javascript,不要使用相同的语法。 &lt;&gt; 最常用于比较数字。

为了从 JSP 交付 Javascript 代码,您必须

  • 内容类型设置为application/javascript
  • 并且只输出一个有效的javascript,没有其​​他标签。

例子:

<%@ page language="java"%>
<%@ page pageEncoding="UTF-8"%>
<%@ page contentType="application/javascript; charset=UTF-8"%>

<%@ include file="yourJavascript.js"%>

前三行将由服务器处理为响应标头。
最后一个作为响应正文。

你可以使用 include 指令来代替:

<jsp:include page="yourJavascript.js" />

或者把你的Javascript代码放在那里:

alert("javascript loaded."); 

【讨论】:

    最近更新 更多