当前位置: 首页 > 知识库问答 >
问题:

JSTL自定义标记变量替换

裴兴学
2023-03-14

我在这里做错了什么:

<custom:tag param="<c:out value="${param.val}"/>" >
...
</custom:tag>

我一直在

test.jsp:6: expected `>' at ``$'' (for tag `<custom:tag>' at line 6).  The XML tag syntax is: <tag attr1='value1'>

但这很好:

<a href="<c:out value="${param.val}"/>">link</a>

显然我想避免

<custom:tag param="<%= request.getParameter("val") %>" />

没有c: out也不行,我的jstl不知道

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
  <tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
  <short-name>...</short-name>
  <uri>...</uri>

  <tag>
       <name>...</name>
       <tag-class>...</tag-class>
       <description>...</description>
       <attribute>
         <name>attr1</name>
         <required>true</required>
       </attribute>
       <attribute>
         <name>param</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
       </attribute>
  </tag>
</taglib>

共有2个答案

齐志勇
2023-03-14

尝试使用。

<custom:tag param="<c:out value='${param.val}'/>" >
   ...
</custom:tag>  

这将简单地修复语法,因此您不会收到您在顶部发布的错误消息。使用EL应该可以工作。EL最初是JSTL的一部分。一个简单的标签(没有自定义标签)像什么

<c:out value='${"Hello JSTL"}'/>

打印

梁丘经艺
2023-03-14

嘿,你为什么要加

<c:out value="${param.val}"/>

在参数中

<custom:tag param="<c:out value="${param.val}"/>" >
...
</custom:tag>

你只需要加上

${param.val} 

在如下参数中。。。

 类似资料:
  • 因此,我想访问子标记result1、result2、result3中父标记属性test1、test2、test3(这些属性的返回值为true/false)的结果,以根据返回的条件值显示输出,不管它是true还是false。 谢谢,开发者。

  • 定义和使用自定义标记可以吗?(这不会与将来的html标记冲突)-通过更改outerHTML替换/呈现这些标记?? 我在下面创建了一个演示,看起来效果不错 问题的最新情况: 让我进一步解释一下。请假设浏览器上启用了JavaScript-也就是说,应用程序不应该在没有javascript的情况下运行。 我见过使用自定义属性在指定标记中定义自定义行为的库。例如,角度。js大量使用自定义属性。(它还有关于

  • 在JSTL标记库中,是标记,它有一个可选属性。使用标记时,可以通过属性传入一个字符串,该属性指定将要创建的变量的名称,其值将是格式化的日期字符串。 不幸的是,Java(从Java8开始)不支持我需要的汤加和萨摩亚地区。因此,一位同事创建了一个自定义日期格式标签,基本上只使用对日期进行格式设置,然后(在汤加和萨摩亚的情况下)用适当的翻译替换日期名称和月份名称值。但是,这个自定义标记只输出(使用)结果

  • 下面的类是自定义标记的实现。 稍后在我的jsp中,当我尝试使用textColor时,我发现它是空的 当然,在tld中,我声明了一个属性var。 如何公开自定义标签的结果?

  • 我正在尝试访问自定义javascript中与单击事件相关的变量。单击事件变量应该是所谓的内置变量,但它仍然表示未知。 我正在使用以下语法,该语法用于获取单击链接的ID,并根据ID返回社交媒体操作: 编辑:对我来说,我使用的变量就像在这个页面上一样http://www.apasters.com/blog/google-tag-manager-custom-javascript-variable-ex

  • 我正在使用React视图上的Highcharts。出于可访问性和搜索引擎优化的原因,我想定制标记,但我在文档中找不出如何实现。Highcharts会自动插入一个标记,如下所示: <代码> 有没有办法改变这一点,或者这是硬编码的?