jstl 相关问题

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

如何在 EL 中连接字符串?

如何将 promoPrice 变量打印为字符串的一部分,仅需 4.67 美元? ${(促销价格!= null)? “只需 $${promoPrice}”:“免费”} 如何获取 promoPrice 变量作为字符串 ONLY $4.67 的一部分进行打印? <c:set var="promoPrice" value="4.67" /> <p>${(promoPrice != null) ? "ONLY $${promoPrice}" : "FREE"}</p> 如果您已经使用 EL 3.0(Java EE 7;WildFly、Tomcat 8+、GlassFish 4+、Payara、WAS 9+ 等),那么您可以使用新的 += 运算符: <p>${not empty promoPrice ? 'ONLY $' += promoPrice : 'FREE'}</p> 如果您尚未使用 EL 3.0,则可以使用 EL 2.2(Java EE 6;JBoss AS 6/7、Tomcat 7、GlassFish 3、WAS 8 等)通过参数调用直接方法的功能,然后应用该功能于String#concat(): <p>${not empty promoPrice ? 'ONLY $'.concat(promoPrice) : 'FREE'}</p> 或者,如果您甚至还没有使用 EL 2.2(Java EE 5 或更早版本;JBoss AS 5- Tomcat 6-、WAS 7- 等),则使用 JSTL <c:set> 使用连接的值创建一个新的 EL 变量只是内联值: <c:set var="promoPriceString" value="ONLY $${promoPrice}" /> <p>${not empty promoPrice ? promoPriceString : 'FREE'}</p> 在您的特定情况,另一种方法是将表达式分成两部分: <p>${not empty promoPrice ? 'ONLY $' : 'FREE'}${promoPrice}</p> 如果 ${promoPrice} 为 null 或空,则无论如何都不会打印。 直接jstl方式 <c:set var="promoPrice" value="4.67" /> <p> <c:choose> <c:when test="${(promoPrice != null)}"> ONLY $${promoPrice} </c:when> <c:otherwise> FREE <c:otherwise> </c:choose> </p> 与 EL 2.0+ 兼容的字符串连接的一个简单而强大的解决方案是使用中间变量: <c:set var="promoPrice" value="4.67" /> <c:set var="priceText" value="ONLY ${promoPrice}" /> <p>${(promoPrice != null) ? priceText : "FREE"}</p> 根据 @BalusC,从 EL 2.2 开始,您可以使用 String#concat() 方法进行串联,从 EL 3.0 开始,您可以使用新的 += 运算符来实现此目的。 我做了类似的事情,我有一个变量mathjaxUrl,我想联系它其他字符串 <c:set var="mathjaxUrl" value="https://cdnjs.cloudflare.com/ajax/libs/mathjax" /> ... some other stuff here <c:set var="mathjaxUrl" value="${mathjaxUrl}?config=TeX-AMS-MML_HTMLorMML" /> 希望这对你有帮助 这行不通? <c:set var="promoPrice" value="4.67" /> <p>${(promoPrice != null) ? "ONLY $"${promoPrice} : "FREE"}</p> 请注意,${promoPrice} 位于引号之外。这看起来是最简单的解决方案。

回答 5 投票 0

jstl 的 web.xml

我尝试使用jstl编写代码。例外的是 org.apache.jasper.JasperException:绝对 uri:http://java.sun.com/jsp/jstl/core 无法在 web.xml 或使用

回答 4 投票 0

Tomcat 10 上的 JSTL URI 异常

我正在练习使用 JSTL 库来显示 ArrayList,直到这一部分我都没有遇到任何问题。 Maven 项目转换并添加 JSTL 后

回答 1 投票 0

无法加载或实例化 TagLibraryValidator 类:org.apache.taglibs.standard.tlv.JstlCoreTLV

所以我在 Gemini 运行时下的 OSGi 中使用 JSTL。当我尝试访问 servlet 的 url 时,出现以下异常:- 严重:servlet jsp 的 Servlet.service() 抛出异常...

回答 6 投票 0

如何在 *.tag 自定义标签中设置 pageEncoding 的全局指令?

在 JSP 中您可以使用以下内容: *.jsp 真实 在 JSP 中您可以使用以下内容: <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <scripting-invalid>true</scripting-invalid> <!-- 1 --> <page-encoding>UTF-8</page-encoding> <!-- 2 --> </jsp-property-group> <jsp-property-group> <url-pattern>*.tag</url-pattern> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config> 是否有一个自定义标签相当于为使用 *.tag 文件创建的所有自定义标签设置编码指令? 您可以在部署描述符中定义JSP配置参数,但在TLD(标签库描述符)中声明标签。 TLD 没有编码参数,并且 部署描述符没有这样的选项 对于 <taglib> 元素,这意味着您不能。 看来是做不到了。我发现了这个:https://stackoverflow.com/a/9739412/8081996。 我认为 njjnex 的回答不是重点。他指的是用 Java 编码的标签库,但这不是问题所在。

回答 2 投票 0

BindingResult 和 bean 名称“todooo”的普通目标对象都不能用作请求属性

在没有验证的情况下运行插入时它可以工作,但是当我添加诸如目标日期必须是未来日期之类的验证并尝试以双向绑定形式显示时,就会出现此错误。 不知道...

回答 1 投票 0

到处都找不到 JSTL 1.2 官方规范的链接

这个或这个导致我可以在这里找到官方 JSTL 1.0 版本规范(JSR 52 Final Release)。很好,有很多例子,但是已经过时了(就现在实际使用而言......

回答 1 投票 0

java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator [重复]

我按照此链接中的指南安装 JSTL,但当我尝试启动 JSP 页面时出现以下错误: java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator ...

回答 5 投票 0

无法在JSP中使用JSTL迭代数组(java.lang.NoClassDefFoundError)

我在尝试在 JSP 页面 (registration-success.jsp) 中使用 JSTL 标记迭代一系列爱好时遇到问题。我使用 Spring MVC 作为容器。 目标: 我的 JSP 页面显示

回答 1 投票 0

<c:out/>未知标签

为什么当我包含以下行时,我在左侧的 Eclipse 中收到错误提示消息。 我收到错误“未知标签(c:out)” 我还包括在顶部 <%@ page isELIg...

回答 6 投票 0

如何在按钮单击时在请求参数中传递 html 输入值

我有一个使用表内核心库动态生成的书籍列表。用户可以选择要添加到购物车的书籍数量,然后单击“添加到购物车”按钮。我想要的是...

回答 1 投票 0

如何将简单的JSONObject转换为java中的HashMap键值对

我有一个像这样的简单 JSON 对象: 字符串 jsonString = new String( "{ “表”:{“列1”:“描述1”, “列2”:“描述2”, "列N" : "描述N" } }" ); 我需要什么...

回答 2 投票 0

如何从jsp中的数组项中选择不同的值

目前,我想显示列表项中的所有值,但我想删除重复值并仅向用户显示唯一值。 我尝试按照下面的代码实现,但它不起作用。 <...

回答 4 投票 0

如何在 JSTL 中实现“instanceOf”

或者说获取类名或获取类型名 那么这可以在主要流行的 Web 容器/服务器上工作吗? 谢谢你。

回答 2 投票 0

评估空或 null JSTL c 标签

如何使用 JSTL 的 c 标签验证字符串是否为 null 或为空? 我有一个名为 var1 的变量,我可以显示它,但我想添加一个比较器来验证它。 如何使用 String 的 c 标签验证 JSTL 是否为空或为空? 我有一个名为 var1 的变量,我可以显示它,但我想添加一个比较器来验证它。 <c:out value="${var1}" /> 我想验证它何时为空或为空(我的值是字符串类型)。 如何使用 JSTL 的 c 标签验证字符串是否为 null 或为空? 您可以在 empty 中使用 <c:if> 关键字来实现此目的: <c:if test="${empty var1}"> var1 is empty or null. </c:if> <c:if test="${not empty var1}"> var1 is NOT empty or null. </c:if> 或者<c:choose>: <c:choose> <c:when test="${empty var1}"> var1 is empty or null. </c:when> <c:otherwise> var1 is NOT empty or null. </c:otherwise> </c:choose> 或者,如果您不需要有条件地渲染一堆标签,因此只能在标签属性内检查它,那么您可以使用 EL 条件运算符 ${condition? valueIfTrue : valueIfFalse}: <c:out value="${empty var1 ? 'var1 is empty or null' : 'var1 is NOT empty or null'}" /> 要了解有关这些 ${} 的更多信息(表达式语言,它是与 JSTL 不同的主题),请查看此处。 另请参阅: JSF 中的 EL 空运算符如何工作? 还要检查空白字符串,我建议遵循以下 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:if test="${empty fn:trim(var1)}"> </c:if> 它还处理空值 如果您仅检查 null 或空,那么您可以使用 with default 选项: <c:out default="var1 is empty or null." value="${var1}"/> 此代码是正确的,但如果您输入了大量空格 (' ') 而不是 null 或空字符串 返回错误。 要纠正此问题,请使用正则表达式(下面的代码检查变量是否为 null 或空或空白,与 org.apache.commons.lang.StringUtils.isNotBlank 相同): <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <c:if test="${not empty description}"> <c:set var="description" value="${fn:replace(description, ' ', '')}" /> <c:if test="${not empty description}"> The description is not blank. </c:if> </c:if> 这是一个衬里。 EL 中的三元运算符 ${empty value?'value is empty or null':'value is NOT empty or null'} 你可以使用 ${var == null} 或者。 下面是如何验证从 Java 控制器传递到 JSP 文件的 int 和 String 的示例。 MainController.java: @RequestMapping(value="/ImportJavaToJSP") public ModelAndView getImportJavaToJSP() { ModelAndView model2= new ModelAndView("importJavaToJSPExamples"); int someNumberValue=6; String someStringValue="abcdefg"; //model2.addObject("someNumber", someNumberValue); model2.addObject("someString", someStringValue); return model2; } 导入JavaToJSPExamples.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <p>${someNumber}</p> <c:if test="${not empty someNumber}"> <p>someNumber is Not Empty</p> </c:if> <c:if test="${empty someNumber}"> <p>someNumber is Empty</p> </c:if> <p>${someString}</p> <c:if test="${not empty someString}"> <p>someString is Not Empty</p> </c:if> <c:if test="${empty someString}"> <p>someString is Empty</p> </c:if> In this step I have Set the variable first: <c:set var="structureId" value="<%=article.getStructureId()%>" scope="request"></c:set> In this step I have checked the variable empty or not: <c:if test="${not empty structureId }"> <a href="javascript:void(0);">Change Design</a> </c:if>

回答 8 投票 0

使用 JSTL 标签时出现 TagLibraryValidator 错误

我一直在 EclipseIDE 中练习 JSTL 标签,但代码抛出 HTTP Status 500 错误。 我正在尝试将 JSTL 标签集成到我的 .jsp 文件中,但我遇到了 TagLibraryValidator 错误....

回答 1 投票 0

无法在网页上显示请求的属性属性

我正在尝试从数据库获取数据并将其显示在网页上。 我期望包含实体数据的表,但是有这个: 我接下来有一些课程: 部门: 包实体; 导入 javax.persistence.*;

回答 2 投票 0

javax.servlet.jsp.JspTagException:'开始'< 0

javax.servlet.jsp.JspTagException:'开始'< 0 Once in a while you run into an error and you say: What the WHAT?? tagexception begin < 0. Seen this wonder before??

回答 2 投票 0

如何在Tomcat 10.1中使用JSTL错误:jakarta.tags.core无法识别[重复]

我知道Tomcat v10.1,指的是以下规格: 小服务程序6.0 JSP 3.1 EL 5.0 所以我的 Gradle 依赖项是: 依赖项{ 仅编译“jakarta.servlet:jakarta.servlet-api:6.0....

回答 1 投票 0

如何在 JakartaEE 中使用 JSTL 错误:jakarta.tags.core 无法识别

我知道Tomcat v10.1,指的是以下规格: 小服务程序6.0 JSP 3.1 EL 5.0 所以我的 Gradle 依赖项是: 依赖项{ 仅编译“jakarta.servlet:jakarta.servlet-api:6.0....

回答 1 投票 0

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