JSP(JavaServer Pages)是一种在服务器上运行的基于Java的视图技术,它允许您在(客户端语言,如HTML,CSS,JavaScript等)中编写模板文本,并与后端Java代码进行交互。
[错误](https://i.stack.imgur.com/PMaZo.png) [scheduleEmail.jsp](https://i.stack.imgur.com/LtbWH.png) [EmailjobSchedulerController.java-1](https://i.stack.imgur.com/7O32a.png) [
我想在用户单击特定框时显示 html 代码。 当用户从一个可用选项中选择一个值时,将调用一个 JavaScript 函数来存储选择...
我在 jsp 中添加这一行时遇到 jstl 依赖问题 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> , 我得到 Whitelabel Error Page 这个应用程序...
我在 jsp 中添加这一行时遇到 jstl 依赖问题 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> , 我得到 Whitelabel Error Page 这个应用程序...
为什么不能将 jsp include 标记与 <%= ... %> 表达式结合起来? ...
作为一个 UI 开发人员和 Java 知识非常有限的人,我如何简单地理解什么是 servlet 容器? 我听说过 Weblogic、JBoss 等都是 servlet 容器,但是...
HTTP 500 错误- javax.servlet.ServletException: BeanUtils.populate: NullPointerException
我明白了 javax.servlet.ServletException: BeanUtils.populate: NullPointerException 当我让页面打开一段时间(大约 30 分钟),然后单击我页面上的“提交”按钮时。我有...
在 Apache Tomcat 或 TomEE 上部署 配置文件模式:假 调试模式:假 强制重新部署:真 就地部署在 C:\Users\MSI GF63\Documents\UMT DEGREE\UMT Semester 4\Web Based Development\Lab\
我正在做我的学校项目,这是一个使用 JSP 和 Spring 框架完成的学校 Web 应用程序。 我不是 Spring 框架方面的专家,如果我的问题听起来很愚蠢,请注意我。 这是...
如何在不影响 httpsession 的情况下将对象从一个 servlet 发送到另一个 servlet 并在第二个 servlet 中检索其信息,然后再将其转发到 JSP
这是我的第一个 servlet 代码: 封装servlet; 导入java.io.IOException; 导入 java.io.PrintWriter; 导入 javax.persistence.EntityManager; 导入 javax.persistence.PersistenceContext; 进口...
我有一个任务,我应该使用 EJB、JPA、JSP 和其他一些东西(如 CSS 和 javascript)制作一个简单的网站。 我正在尝试发送包含所有产品的列表......
有点被这个搞糊涂了。 示例:HelloBubble.html 将 * 作为 d3 从“https:...</desc> <question vote="0"> <p>有点困惑。</p> <p>示例:HelloBubble.html</p> <pre><code><!DOCTYPE html> <html> <head></head> <body> <script type="module"> import * as d3 from "https://cdn.jsdelivr.net/npm/d3@7/+esm"; const svg = BubbleChart([["Hello", 10], ["World", 20]]); document.body.appendChild(svg); // Copyright 2021 Observable, Inc. // Released under the ISC license. // https://observablehq.com/@d3/bubble-chart function BubbleChart(data, { name = ([x]) => x, // alias for label label = name, // given d in data, returns text to display on the bubble value = ([, y]) => y, // given d in data, returns a quantitative size group, // given d in data, returns a categorical value for color title, // given d in data, returns text to show on hover link, // given a node d, its link (if any) linkTarget = "_blank", // the target attribute for links, if any width = 640, // outer width, in pixels height = width, // outer height, in pixels padding = 3, // padding between circles margin = 1, // default margins marginTop = margin, // top margin, in pixels marginRight = margin, // right margin, in pixels marginBottom = margin, // bottom margin, in pixels marginLeft = margin, // left margin, in pixels groups, // array of group names (the domain of the color scale) colors = d3.schemeTableau10, // an array of colors (for groups) fill = "#ccc", // a static fill color, if no group channel is specified fillOpacity = 0.7, // the fill opacity of the bubbles stroke, // a static stroke around the bubbles strokeWidth, // the stroke width around the bubbles, if any strokeOpacity, // the stroke opacity around the bubbles, if any } = {}) { // Compute the values. const D = d3.map(data, d => d); const V = d3.map(data, value); const G = group == null ? null : d3.map(data, group); const I = d3.range(V.length).filter(i => V[i] > 0); // Unique the groups. if (G && groups === undefined) groups = I.map(i => G[i]); groups = G && new d3.InternSet(groups); // Construct scales. const color = G && d3.scaleOrdinal(groups, colors); // Compute labels and titles. const L = label == null ? null : d3.map(data, label); const T = title === undefined ? L : title == null ? null : d3.map(data, title); // Compute layout: create a 1-deep hierarchy, and pack it. const root = d3.pack() .size([width - marginLeft - marginRight, height - marginTop - marginBottom]) .padding(padding) (d3.hierarchy({children: I}) .sum(i => V[i])); const svg = d3.create("svg") .attr("width", width) .attr("height", height) .attr("viewBox", [-marginLeft, -marginTop, width, height]) .attr("style", "max-width: 100%; height: auto; height: intrinsic;") .attr("fill", "currentColor") .attr("font-size", 10) .attr("font-family", "sans-serif") .attr("text-anchor", "middle"); const leaf = svg.selectAll("a") .data(root.leaves()) .join("a") .attr("xlink:href", link == null ? null : (d, i) => link(D[d.data], i, data)) .attr("target", link == null ? null : linkTarget) .attr("transform", d => `translate(${d.x},${d.y})`); leaf.append("circle") .attr("stroke", stroke) .attr("stroke-width", strokeWidth) .attr("stroke-opacity", strokeOpacity) .attr("fill", G ? d => color(G[d.data]) : fill == null ? "none" : fill) .attr("fill-opacity", fillOpacity) .attr("r", d => d.r); if (T) leaf.append("title") .text(d => T[d.data]); if (L) { // A unique identifier for clip paths (to avoid conflicts). const uid = `O-${Math.random().toString(16).slice(2)}`; leaf.append("clipPath") .attr("id", d => `${uid}-clip-${d.data}`) .append("circle") .attr("r", d => d.r); leaf.append("text") .attr("clip-path", d => `url(${new URL(`#${uid}-clip-${d.data}`, location)})`) .selectAll("tspan") .data(d => `${L[d.data]}`.split(/\n/g)) .join("tspan") .attr("x", 0) .attr("y", (d, i, D) => `${i - D.length / 2 + 0.85}em`) .attr("fill-opacity", (d, i, D) => i === D.length - 1 ? 0.7 : null) .text(d => d); } return Object.assign(svg.node(), {scales: {color}}); } </script> </body> </html> </code></pre> <p>现在我将完全相同的内容放入 JSP 中,但我遇到了问题,特别是这两行;</p> <pre><code>.attr("clip-path", d => `url(${new URL(`#${uid}-clip-${d.data}`, location)})`) </code></pre> <p>和</p> <pre><code>const uid = `O-${Math.random().toString(16).slice(2)}`; </code></pre> <p>应该说这是从 D3 的文档中复制和粘贴 JavaScript 示例(给或拿...)</p> <p>我只是很困惑为什么这在基本的 .html 文件中工作正常,但是当我使用 NetBeans IDE 8.2 时我无法编译 .war 文件时遇到错误(是的,我知道,它很旧......我喜欢它) 与 Java Maven Web 应用程序项目。</p> <p>我不是 JavaScript 大师。但是在我收到错误的这两行中非常明显的是,这看起来与 Java 语法非常相似。感觉好像 JavaScript 对于它的引导来说可能有点太大了并且混淆了 IDE。</p> <p>此外,我也不知道这段代码当时实际上做了什么。我花了几周的时间从 D3 获得一个工作示例,我实际上可以在文档如此糟糕的情况下工作。因此,我假设根本原因很可能是更现代的 JavaScript 语法(和模块)和更旧的 NetBeans 变得有点混乱。</p> <p>我只是不想因为一个库而升级我的本地开发环境(尽管我可能不得不在 StackOverflow 上解决这个问题时测试它以排除这种情况......)</p> <p><strong>更新 1 - 在 Web 浏览器中运行 JSP 时 IDE 中的错误</strong></p> <p>上面两行导致的错误</p> <p>在 IDE 中编译是——从技术上讲不是编译,但在第 1 行第 7 列有一条大红线,上面写着“Encoutered“URL”。期待其中之一;{加载不同类型的左/右括号,大约 20 个他们}";</p> <p>然后当我运行 JSP 时,IDE 控制台中出现此错误(页面无法在 Web 浏览器中加载);</p> <pre><code>***lots of other stuff*** javax.el.MethodNotFoundException: Method not found: class java.lang.String.slice(java.lang.Long) 415: 416: if (L) { 417: // A unique identifier for clip paths (to avoid conflicts). 418: const uid = `O-${Math.random().toString(16).slice(2)}`; 419: 420: leaf.append("clipPath") 421: .attr("id", d => `${uid}-clip-${d.data}`) ***lots of other stuff*** Stacktrace:] with root cause javax.el.MethodNotFoundException: Method not found: class java.lang.String.slice(java.lang.Long) </code></pre> <p>然后我删除导致错误的那行并得到一个不同的错误;</p> <pre><code>21-Apr-2023 22:05:24.783 SEVERE [http-nio-8084-exec-295] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet jsp threw exception javax.el.ELException: The identifier [new] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true. ***lots of other stuff*** 423: .attr("r", d => d.r); 424: 425: leaf.append("text") 426: .attr("clip-path", d => `url(${new URL(`#${uid}-clip-${d.data}`, location)})`) 427: .selectAll("tspan") 428: .data(d => `${L[d.data]}`.split(/\n/g)) 429: .join("tspan") Stacktrace:] with root cause javax.el.ELException: The identifier [new] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true. </code></pre> <p><strong>更新 2 - 在外部 .js 文件中尝试使用 JavaScript</strong> 我们可能在这里有所作为。所以我刚刚尝试的是……按照建议将其拆分。</p> <p>所以我们现在有;</p> <ul> <li>HelloBubble.jsp</li> <li>/JavaScript/HelloBubble.js</li> </ul> <p>JSP;</p> <pre><code><script src="/JavaScript/HelloBubble.js"></script> <script type="module"> import * as d3 from "https://cdn.jsdelivr.net/npm/d3@7/+esm"; const svg = BubbleChart([["Hello", 10], ["World", 20]]); document.body.appendChild(svg); </script> </code></pre> <p>JavaScript;</p> <pre><code>Rest of code from earlier, excluding for ease </code></pre> <p>当我这样做时,这是我在加载页面时在 Web 浏览器控制台中遇到的错误 - 似乎这是朝着正确方向迈出的一步;</p> <pre><code>caught TypeError: svg.selectAll(...).data(...).join is not a function at BubbleChart (HelloBubble.js:73:14) at HelloBubble**[.jsp]**:524:25 </code></pre> <p>在上面添加了 <strong>[.jsp]</strong> 位以便于理解。</p> <p>我觉得这两个 JavaScript(JSP 中的数据和 .js 文件中的核心函数)并没有完全相互交谈。</p> <p>为了完整起见,现在这是 HelloBubble.js 文件的完整内容;</p> <pre><code>// Copyright 2021 Observable, Inc. // Released under the ISC license. // https://observablehq.com/@d3/bubble-chart function BubbleChart(data, { name = ([x]) => x, // alias for label label = name, // given d in data, returns text to display on the bubble value = ([, y]) => y, // given d in data, returns a quantitative size group, // given d in data, returns a categorical value for color title, // given d in data, returns text to show on hover link, // given a node d, its link (if any) linkTarget = "_blank", // the target attribute for links, if any width = 640, // outer width, in pixels height = width, // outer height, in pixels padding = 3, // padding between circles margin = 1, // default margins marginTop = margin, // top margin, in pixels marginRight = margin, // right margin, in pixels marginBottom = margin, // bottom margin, in pixels marginLeft = margin, // left margin, in pixels groups, // array of group names (the domain of the color scale) colors = d3.schemeTableau10, // an array of colors (for groups) fill = "#ccc", // a static fill color, if no group channel is specified fillOpacity = 0.7, // the fill opacity of the bubbles stroke, // a static stroke around the bubbles strokeWidth, // the stroke width around the bubbles, if any strokeOpacity, // the stroke opacity around the bubbles, if any } = {}) { // Compute the values. const D = d3.map(data, d => d); const V = d3.map(data, value); const G = group == null ? null : d3.map(data, group); const I = d3.range(V.length).filter(i => V[i] > 0); // Unique the groups. if (G && groups === undefined) groups = I.map(i => G[i]); groups = G && new d3.InternSet(groups); // Construct scales. const color = G && d3.scaleOrdinal(groups, colors); // Compute labels and titles. const L = label == null ? null : d3.map(data, label); const T = title === undefined ? L : title == null ? null : d3.map(data, title); // Compute layout: create a 1-deep hierarchy, and pack it. const root = d3.pack() .size([width - marginLeft - marginRight, height - marginTop - marginBottom]) .padding(padding) (d3.hierarchy({children: I}) .sum(i => V[i])); const svg = d3.create("svg") .attr("width", width) .attr("height", height) .attr("viewBox", [-marginLeft, -marginTop, width, height]) .attr("style", "max-width: 100%; height: auto; height: intrinsic;") .attr("fill", "currentColor") .attr("font-size", 10) .attr("font-family", "sans-serif") .attr("text-anchor", "middle"); const leaf = svg.selectAll("a") .data(root.leaves()) .join("a") .attr("xlink:href", link == null ? null : (d, i) => link(D[d.data], i, data)) .attr("target", link == null ? null : linkTarget) .attr("transform", d => `translate(${d.x},${d.y})`); leaf.append("circle") .attr("stroke", stroke) .attr("stroke-width", strokeWidth) .attr("stroke-opacity", strokeOpacity) .attr("fill", G ? d => color(G[d.data]) : fill == null ? "none" : fill) .attr("fill-opacity", fillOpacity) .attr("r", d => d.r); if (T) leaf.append("title") .text(d => T[d.data]); if (L) { // A unique identifier for clip paths (to avoid conflicts). leaf.append("clipPath") .attr("id", d => `${uid}-clip-${d.data}`) .append("circle") .attr("r", d => d.r); leaf.append("text") .attr("clip-path", d => `url(${new URL(`#${uid}-clip-${d.data}`, location)})`) .selectAll("tspan") .data(d => `${L[d.data]}`.split(/\n/g)) .join("tspan") .attr("x", 0) .attr("y", (d, i, D) => `${i - D.length / 2 + 0.85}em`) .attr("fill-opacity", (d, i, D) => i === D.length - 1 ? 0.7 : null) .text(d => d); } return Object.assign(svg.node(), {scales: {color}}); } </code></pre> </question> </body></html>
我在显示来自 Tomcat 服务器的 register.jsp 网页时遇到问题。 register.jsp 位于 WEB-INF/jsp 和 webapps/register 文件夹中,RegisterController.class 位于 WE...
我正在尝试进行电子邮件订阅,用户在其中输入他们的电子邮件,mySQL 中的“空”字段将更新为提供的电子邮件地址。这是我到目前为止所拥有的: 公共布尔值
在我的 Jsutil 函数中,我添加了一个 css,但它没有响应。 我试过绝对路径 link rel="stylesheet" type="text/css" href="" 但它没有响应。 这是我的示例代码: link rel="stylesheet" type="text/css" href=""
为什么我的 javascript 文件不能像 jsp 那样识别 servlet?
我有一个名为 like 的 servlet @WebServlet("/UserServlet"),当我在 JSP 上使用 action="UserServlet" 时,它可以识别它,但 JavaScript 文件不能。 文件路径信息: Servlet 是
我包含我的根目录中的文件。它在本地运行良好,但当我托管我的网站时,它会给我: 错误 HTTP 状态 500:找不到“../connection.jsp” 我的文件在 public_html/我的文件夹/