为什么我们不能独立使用JSTL的fn标签,就像core标签一样
Why can't we use JSTL fn tags independently, just like core tags
如果 functions
标签库也是 JSTL 的一部分那么为什么我们不能(或不)像其他标签一样使用它们?例如,使用 core
我们可以这样说?
<c:if test="1==1">
<h3>Render this if 1==1</h3>
</c>
为什么我们不能像这样用函数做同样的事情?
<fn:...
我们只能在 ${} 中使用它们吗?
这里有演示。
<%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html>
<head></head>
<body>
${fn:toUpperCase("jstl")}
||${fn:substring(fn:toUpperCase(fn:trim(" xxxjstl ")), 3, 7)}||
</body>
</html>
输出:
江苏科技研究院||江苏科技研究院||
你说得对。 JSTL 函数 (fn) 只能在 ${ } 内部使用,因为它会影响或产生变量的值。例如,如果我想知道名为 'array'
的数组的大小
<c:out value="${fn:length(array)}" />
使用像 <c:xxx ... />
这样的 JSTL 标签,您可以处理和定义变量。
在 ${ }
中,您处理变量的值
如果 functions
标签库也是 JSTL 的一部分那么为什么我们不能(或不)像其他标签一样使用它们?例如,使用 core
我们可以这样说?
<c:if test="1==1">
<h3>Render this if 1==1</h3>
</c>
为什么我们不能像这样用函数做同样的事情?
<fn:...
我们只能在 ${} 中使用它们吗?
这里有演示。
<%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html>
<head></head>
<body>
${fn:toUpperCase("jstl")}
||${fn:substring(fn:toUpperCase(fn:trim(" xxxjstl ")), 3, 7)}||
</body>
</html>
输出: 江苏科技研究院||江苏科技研究院||
你说得对。 JSTL 函数 (fn) 只能在 ${ } 内部使用,因为它会影响或产生变量的值。例如,如果我想知道名为 'array'
的数组的大小<c:out value="${fn:length(array)}" />
使用像 <c:xxx ... />
这样的 JSTL 标签,您可以处理和定义变量。
在 ${ }
中,您处理变量的值