Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在jsp中把字符串放在大括号中_Jsp - Fatal编程技术网

为什么在jsp中把字符串放在大括号中

为什么在jsp中把字符串放在大括号中,jsp,Jsp,在编辑现有JSP页面时,我发现了一些类似的代码: <script type="text/javascript" src="<mytaglib:url p1="blah" p2="${'/some/path/file.js'}" />"> </script> mytaglib:url生成以p2结尾的url 为什么路径字符串放在花括号内?我还看到了相同的代码,其中没有使用花括号,而且似乎工作得很好。这是不是有些习惯在这里没

在编辑现有JSP页面时,我发现了一些类似的代码:

<script type="text/javascript" src="<mytaglib:url 
                 p1="blah" p2="${'/some/path/file.js'}" />">
</script>

mytaglib:url
生成以p2结尾的url


为什么路径字符串放在花括号内?我还看到了相同的代码,其中没有使用花括号,而且似乎工作得很好。这是不是有些习惯在这里没有用?我很确定我可以删除这里的大括号,但在其他情况下,仅仅使用表达式语言作为字符串是否有用?

${}
是JSP表达式语言的表达式。JSP表达式语言(EL)可以轻松访问存储在JavaBeans组件中的应用程序数据


了解有关JSP表达式语言的更多信息

它是JSP表达式语言。当JSP编译器在属性中看到
${}
表单时,它会生成代码来计算表达式并替换表达式的值。它类似于jsp中的

你会从中得到一个想法


在本例中,${}接受一个字符串,它不必计算任何内容,因此返回相同的字符串。相反,您可以指定一个变量名,在这种情况下,它计算变量的值并返回与我最终能够询问我正在修改的应用程序的一些初始作者相同的值。他们中没有人能告诉我,这似乎实际上是无用的(更糟糕的是:它有一点性能开销),最初是错误的,并且以某种方式在代码库中的许多地方复制了…

谢谢Sree。我知道什么是表达语言,我的问题是为什么在这里使用它?它降低了可读性,但在这里似乎没有任何用处。对此我不确定。可能是由于特殊字符给路径直接造成了一些问题。