JSTL <c: out>, где имя элемента содержит пробел - PullRequest
5 голосов
/ 19 марта 2009

У меня есть доступ к массиву значений, но, к сожалению, некоторые имена переменных содержат пробел. Я не могу понять, как просто вывести их на странице. Я знаю, что не очень хорошо объясняю это (я - дизайнер JSP, а не Java-кодер), поэтому, надеюсь, этот пример проиллюстрирует то, что я пытаюсь сделать:

<c:out value="${x}"/>

выводит на страницу (искусственно упакованный) как:

{width=96.0, orderedheight=160.0, instructions=TEST ONLY. This is a test.,
 productId=10132, publication type=ns, name=John}

Я могу вывести имя, используя

<c:out value="${x.name}"/>

без проблем. Проблема в том, что когда я пытаюсь получить «тип публикации» ... потому что у него есть пробел, я не могу получить <c:out> для его отображения.

Я пытался:

<!-- error parsing custom action attribute: -->
<c:out value="${x.publication type}"/>
<!-- error occurred while evaluating custom action attribute: -->
<c:out value="${x.publication+type}"/>
<!-- error occurred while parsing custom action attribute: -->
<c:out value="${x.'publication type'}"/>
<!-- error occurred while parsing custom action attribute: -->
<c:out value="${x.publication%20type}"/>

Я знаю, что реальным решением является правильное форматирование имен переменных (т. Е. Без пробелов), но я не могу обновлять код довольно долго. Можно ли это сделать? Любая помощь с благодарностью.

1 Ответ

9 голосов
/ 19 марта 2009

Вы пробовали:

<c:out value="${x['publication type']}"/>

Я предполагаю, что Map является типом Java, стоящим за этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...