jstl 相关问题

JSTL(JSP标准标记库)是一个基于JSP的标准标记库,它提供标记来控制JSP页面中的流,日期/数字格式和国际化设施以及几个实用程序EL函数。

如何访问jsp里面的<sql:query>结果集<script>

我正在尝试使用 FullCalendar 库来设计一个交互式日历,用户可以单击日期来查看相应的课程安排/活动。为此,我需要填充 t 中的事件...

回答 1 投票 0

关于访问对象中的键的 JSP 问题?

假设你有这样的东西: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 假设你有这样的东西: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <table> <c:forEach items="${products}" var="product"> <tr> <td>${product.name}</td> <td>${product.description}</td> </tr> </c:forEach> </table> 如何查看此 name 对象还有哪些其他键(例如键:description 或 "product")?我主要是一名 JavaScript 工程师,所以 JSP 对我来说仍然很陌生。 举例来说,我想要将 price 放入新的 <td> 中,但是 product.price 不起作用,而且我无法找出访问其真实名称的正确键。 尝试在网上寻找答案,但没有看到。 类似这样的东西是使用 JSTL 标记的 JSP 代码片段。 JSTL 在其标签中大量使用 EL 表达式。这是代码中的 <c:forEach> 标签。即使定义了整个 JSP 页面,您也可能不知道其中使用的属性。如果您尝试在浏览器中访问此类页面,则会失败并显示空内容或返回 404 错误代码。如果您的 JSP 页面位于 WEB-INF 文件夹下,则确定最后一种情况。 什么原因仍然无法访问视图目录中的JSP页面? 事实是WEB-INF是服务器上的受保护目录;从外部访问文件是不可能的。应用程序可以将其文件存储在此目录中,以确保用户无法访问它们。这主要适用于配置文件和其他内部文件。一些 MVC 框架中的 JSP 文件开始放置在那里,以限制绕过控制器对视图的直接访问。同样的事情也适用于使用调度程序实现 MVC 模式的 servlet。由于这些JSP如果没有在控制器上初始化就无法运行,直接访问这些页面会抛出异常。 初始化由控制器执行的 JSP 页面,其中准备好所有属性并将其放入 JSP 范围中。一旦“准备好”显示,控制器就会使用调度程序将其请求转发到 JSP 页面。所有属性都转移到新请求中,并且可以通过 JSTL 标记中的 EL 表达式找到。因此,您应该查看控制器代码以查找它作为属性传递给 JSP 的对象。通常控制器不关心对象结构,因为它将它们保存为 Object。 EL 表达式使用内省机制来研究对象并找出其属性。

回答 1 投票 0

<c:import var="lib" url="someURL.xml"/> 未将 xml 内容保存在 var 变量中导致 <x:parse/> 没有任何内容可读取

发现这个问题在其他论坛问过两次,都是12年前,都没有答案 可悲的是我的问题(因为没有答案)完全相同。 当我使用 发现这个问题在其他论坛问过两次,都是12年前,但都没有答案 可悲的是我的问题(因为没有答案)完全相同。 当我使用 <c:import var="lib" url="someURL.xml"/> 内容未保存在 var lib 中,因此导致第一行出现文件过早结束错误,因为没有任何内容可读取。 浏览器将显示 XML 文档的内容,但在使用 调用时不会将其保存到变量中 我是新手,在这次神秘冒险中我已经学到了很多东西。 提前致谢,任何关于该走哪条路的线索,或者我可能缺少的某种配置,将不胜感激。 谢谢大家 我设法找到了问题的解决方案,这是一个配置问题,我不知道该怎么做。 所以我改变了我的方法,尝试做一些不同的事情,将服务器更改为 Tomcat 9.0 并使用以下库。 taglibs-standard-impl-1.2.5.jar taglibs-standard-jsttel-1.2.5.jar taglibs-standard-spec-1.2.5.jar 序列化器-2.7.1.jar xalan-2.7.1.jar 使用了以下标签: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %> 这工作得很好,也许有一天我能够找出 tomcat 10.1 和 jakarta 3.0.0 出了什么问题。 感谢您的所有回答{:D!

回答 1 投票 0

无法找到 URI 的 taglib [c]:[jakarta.tags.core] Tomcat 10.1.x

迁移到 spring 6.0.11 和 tomcat 10.1.13 后,我们开始遇到 jstl 和 jsp 的问题。 根据雅加达标准标签库3.0文档,我已经更改了al...中的taglib uri...

回答 1 投票 0

java.lang.ClassNotFoundException:javax.servlet.jsp.jstl.sql.SQLExecutionTag

这可能是一个菜鸟问题,但我陷入了这个错误。我正在使用 Tomcat 7.0.34 WebContent/WEB-INF/lib jstl-1.2-sources.jar jstl-1-2.jar mysql-连接器-java-5.1.31 下面...

回答 3 投票 0

IntelliJ 中的 JSTL 在 JSP 中给出错误

我正在 IntelliJ 中使用 Google App Engine。我正在尝试在 JSP 中使用 JSTL 标记。我尝试了在互联网上找到的两个不同的 URI,但它们都给出了错误: <%@ taglib prefix...

回答 5 投票 0

JSTL 在 forEach 循环中递增日期字符串

我在 JSTL 中有这个 forEach 循环。日期字符串的格式为 MM/dd/yyyy,在 for 循环的末尾,我想每次将日期加 1。 我在 JSTL 中有这个 forEach 循环。日期字符串的格式为 MM/dd/yyyy,在 for 循环的末尾,我想每次将日期增加 1。 <c:set var="currentDate" value="${param.STARTDATE}"/> <c:forEach begin="1" end="7" varStatus="loop"> <!-- Doing other stuff with the date as a string here --> <c:set var="nextDay" value="currentDate + someDateCalculation" /> <c:set var="currentDate" value="${nextDay}" /> </c:forEach> 您可以使用类 LocalDateTime 从参数中解析日期字符串,然后将其转换为 LocalDate。然后您可以使用它的 API 增加一天。如果您想将日期用作字符串,那么您应该使用格式化程序使用指定的模式对其进行格式化。 <c:set var="currentDate" value="${LocalDateTime.parse(param.STARTDATE, DateTimeFormatter.ofPattern("MM/dd/yyyy"))}" /> <c:forEach begin="1" end="7" varStatus="loop"> <!-- Doing other stuff with the date as a string here --> <c:set var="currentDateAsString" value="${currentDate.format(DateTimeFormatter.ofPattern("MM/dd/yyyy"))}" /> <!-- Increment a current date by 1 day --> <c:set var="currentDate" value="${currentDate.plusDays(1)}" /> </c:forEach>

回答 1 投票 0

如何将布尔值表示为“是”或“否”?

如何使用 JSP 和 JSTL 将 true 和 false 替换为 yes 或 no? 我的表中有值 TRUE 和 FALSE。 我希望当我在 jsp 页面上使用 jstl 检索这些值时,true false 将重新...

回答 3 投票 0

我有这个 td 标签,它正在对变量执行 nullcheck,如果变量不为 null,则需要在原始变量上附加一个字符串

<td class="dataentry"> <c:if test="${videosDataset.lastBackupSource ne null}"> <fmt:messagekey="${videosDataset.lastBackupSource}.SourceDisplayName"/> </c:if> </td> 需要附加 SourceDisplayName。但是当它被渲染时,我得到这样的字段 ???SomeSource.SourceDisplayName??? 如果我删除空检查并执行以下操作,我将没有问号 <td class="dataentry">${videosDataset.lastBackupSource} </td> 但我想使用 String SourceDisplayName 获取它,并对 videosDataset.lastBackupSource 进行空检查并获得以下输出 SomeSource.SourceDisplayName 有人可以帮忙吗?我已经添加了 但这没有用。

回答 0 投票 0

JSTL 标签在 Eclipse 中不起作用 [重复]

我是 JSTL 的新手,我从这里下载了 jstl-1.2.jar 到我的 web-content/web-inf/lib 文件夹。 在我的 JSP 文件中,我提到: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>...

回答 4 投票 0

JSTL 错误:绝对 uri:http://java.sun.com/jsp/jstl/core 无法在 web.xml 或随此应用程序部署的 jar 文件中解析 [重复]

这是我的代码: <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre...

回答 3 投票 0

使用 eclipse IDE 在 apache tomcat 服务器上运行 jsp 文件时出现“org.xml.sax.SAXParseException”错误

我越来越 “org.xml.sax.SAXParseException;systemId:jstl:;lineNumber:1;columnNumber:1;文件过早结束。 在 java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMP...

回答 0 投票 0

JSTL看不到属性

我的 jsp 文件中有以下代码: 我的 jsp 文件中有以下代码: <jsp:useBean id="taskList" scope="session" type="java.util.List"/> <c:forEach var="task" items="${taskList}"> <tr> <td><c:out value="${task.name}" /></td> <td><c:out value="${task.date}" /></td> <td><c:out value="${task.completeness}" /></td> 但是在部署服务器后我得到以下异常: 1.jakarta.servlet.ServletException: java.lang.InstantiationException: bean taskList not found within scope 2.java.lang.InstantiationException: bean taskList not found within scope 3.org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:610) 但是没有这行代码:<jsp:useBean id="taskList" scope="session" type="java.util.List"/>。 IntelliJ 告诉我它无法解析变量taskList。有人可以帮帮我吗?谢谢!

回答 0 投票 0

无法访问 JSP/Servlet 中的 HttpSession 属性

我正在创建一个基本的网络应用程序,但问题是我无法访问会话属性。如果用户凭据正确维护会话,我已经为 msg 属性设置了一些值。但是

回答 0 投票 0

jsp中的动态下拉列表

我有一个动态的下拉列表,那么如何迭代并将列表值插入下拉列表中? var questionids = {“姓名”,“年龄”,“吸烟者”,“饮酒者”,“拜访丹尼斯特”}; 我有一个动态的下拉列表,那么如何迭代并将列表值插入下拉列表中? var questionids = {"Name", "Age", "Smoker", "Drinker", "Visit Denist"}; <select name="questionid" id="questionids"> <c:forEach var="questionids" items="${questionids}"> <option value="">${questionids}</option> </c:forEach> </select> 我按照上面的方法试过了。它不工作。我还需要每个选项的值应该自动递增,例如,第一个选项值为 1,第二个选项值为 2。e.t.c 任何人都可以提出解决方案吗 这是正确的方法,但你必须在var中给<c:forEach>另一个名字,如下所示: var questionids = {"Name", "Age", "Smoker", "Drinker", "Visit Denist"}; <select name="questionids" id="questionids"> <c:forEach var="questionid" items="${questionids}"> <option value="${questionid}">${questionid}</option> </c:forEach> </select> <% java.util.HashMap map = new java.util.HashMap(); map.put("0", "Name"); map.put("1", "Age"); map.put("2", "Smoker"); map.put("3", "Drinker"); map.put("4", "Visit Denist"); pageContext.setAttribute("map", map); %> <select name="questionid" id="questionids" > <c:forEach items="${map}"> <option value="${items.key}">${items.value}</option> </c:forEach> </select> <select name="questionid" id="questionids"> </select> 您可以使用 javascript 动态构建选择。您可能希望使用 arr 值作为选项值。如果你想使用增量,你可以创建一个 arr 并循环它们。 var questionids = {"Name", "Age", "Smoker", "Drinker", "Visit Denist"}; // var valuesArr = [1, 2, 3, 4, 5]; $.each(questionids , function(i, e) { $('#questionids').append("<option value='"+e+"'>"+e+"</option>"); // $('#questionids').append("<option value='"+valuesArr[i]+"'>"+e+"</option>"); });

回答 0 投票 0

如何使用 JSTL 在 JSP 中遍历 JSON 数组或 JSON 对象

我有这个 json: { “最大代理金额”:66, “minComAmt”:3, “最大交易量”:7, “最大金额”:99, “最低金额”:3, “maxComAmt”:99 } 我也必须...

回答 1 投票 0

Web 项目未在浏览器上运行(错误 500)

我正在学习 spring boot,我在一个名为 DocumentWeb 的项目上,它是一个简单的 Web 项目,带有控制器、jsp 模式和扩展 JpaRepository 的文档存储库(接口)

回答 1 投票 0

在 TomCat 服务器中运行 JSTL 文件时返回 404

在 tomcat 服务器上运行此代码时显示 404 错误。这里我使用的是标准标记,并且我也在 lib 文件夹中添加了 jar 文件。任何解决方案将不胜感激。

回答 1 投票 0

JSP编译时不识别fn前缀

我不熟悉 Jsp 和 Jstl ,我创建了这个小比较器来按名称对我的所有用户进行排序: 我不熟悉 Jsp 和 Jstl ,我创建了这个小比较器来按名称对我的所有用户进行排序: <c:set var="userList" value="${fn:toList(users)}"/> <c:set var="comparator" value="${new Comparator() { public int compare(Object o1, Object o2) { User u1 = (User) o1; User u2 = (User) o2; return u2.getName().compareTo(u1.getName()); } }}" /> <c:set var="sortedUsers" value="${fn:sort(userList, comparator)} 将 fn 标签库导入我的 JSP 文件: <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> 我不断收到同样的错误: The function toList cannot be located with the specified prefix [...] The function sort cannot be located with the specified prefix 我做错了什么?导入在我看来是正确的

回答 0 投票 0

根据另一个下拉 JSP 中的选择在下拉列表中显示某些值

在 javascript 中,我可以通过以下方式获取用户为第一个下拉列表选择的值: $('#food-type').val() == "水果" 我要展示 在 javascript 中,我可以通过以下方式获取用户为第一个下拉列表选择的值: $('#food-type').val() == "fruit" 如果食物类型是“水果”,我想显示<form:options items="${fruitOptions}" itemValue="code" itemLabel="desc"/>,如果食物类型是“蔬菜”,我想显示<form:options items="${vegetableOptions}" itemValue="code" itemLabel="desc"/>。但是,我不确定如何在 JSP 中区分这一点。 我已经试过了,但它破坏了我的申请: <c:if test="${('#food-type').val() == "fruit"}"> <form:options items="${fruitOptions}" itemLabel="desc"/> </c:if> <c:if test="${('#food-type').val() == "vegetable"}"> <form:options items="${vegetableOptions}"itemLabel="desc"/> </c:if> 如何访问我在 JSTL 中的第一个下拉列表中选择的内容?

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.