使用括号符号分配变量会引发错误 "equal symbol expected"
Assigning a variable with bracket notation throws error "equal symbol expected"
我正在尝试从 JSON 来源调用一个字符串,当这样调用时 有效 :
${item.promo_images["default"].url}
然而,每当我将其放入变量中时,它都会抛出一条错误消息。
<c:set var="photo" value="${item.promo_images["default"].url}" />
${photo}
错误信息如下:
Cause: /WEB-INF/jsp/features/global/curated-article-list/feature.jsp
(line: 21, column: 58) equal symbol expected.
我分配这个变量的方式有问题吗?我可以使用纯点符号来分配变量,但在这种情况下我不得不用括号的原因是因为 JSP 似乎不喜欢调用 ${item.promo_images.default.url}
(与这个词有关默认?)
如有任何建议,我们将不胜感激。
仔细观察语法突出显示。
<c:set var="photo" value="${item.promo_images["default"].url}" />
default
之前的 "
字符结束属性值,default
本身被解释为新属性。你得到的错误,
equal symbol expected
基本上表明它希望在 default
和随后的 "
之间看到一个 =
,如下所示。
<c:set var="photo" value="${item.promo_images[" default="].url}" />
但是,这显然不是您的本意。
改用单引号。不,它不会被解释为 char
左右。
<c:set var="photo" value="${item.promo_images['default'].url}" />
至于为什么不能使用${item.promo_images.default.url}
,那是因为Java语言标识符,如import
、public
、class
、protected
、instanceof
、package
、default
、while
等..等.. 不能用作 EL.
中的标识符
我正在尝试从 JSON 来源调用一个字符串,当这样调用时 有效 :
${item.promo_images["default"].url}
然而,每当我将其放入变量中时,它都会抛出一条错误消息。
<c:set var="photo" value="${item.promo_images["default"].url}" />
${photo}
错误信息如下:
Cause: /WEB-INF/jsp/features/global/curated-article-list/feature.jsp (line: 21, column: 58) equal symbol expected.
我分配这个变量的方式有问题吗?我可以使用纯点符号来分配变量,但在这种情况下我不得不用括号的原因是因为 JSP 似乎不喜欢调用 ${item.promo_images.default.url}
(与这个词有关默认?)
如有任何建议,我们将不胜感激。
仔细观察语法突出显示。
<c:set var="photo" value="${item.promo_images["default"].url}" />
default
之前的 "
字符结束属性值,default
本身被解释为新属性。你得到的错误,
equal symbol expected
基本上表明它希望在 default
和随后的 "
之间看到一个 =
,如下所示。
<c:set var="photo" value="${item.promo_images[" default="].url}" />
但是,这显然不是您的本意。
改用单引号。不,它不会被解释为 char
左右。
<c:set var="photo" value="${item.promo_images['default'].url}" />
至于为什么不能使用${item.promo_images.default.url}
,那是因为Java语言标识符,如import
、public
、class
、protected
、instanceof
、package
、default
、while
等..等.. 不能用作 EL.