Я не могу понять, почему это не работает. В основном следующий фрагмент кода отлично работает, если только c:if
не является истинным.Сброс значения JSTL
Если утверждение if истинно, тогда clientId следует установить вручную в 1. Это действительно работает, но по какой-то причине он не будет получать клиентские приложения.
ClientId = 1 отлично работает, если он извлекается из переменной «пользователь» сеанса. Таким образом, клиентские приложения должны иметь что-то в точке 1. Любая подсказка?
<c:set var="clientId" value="${sessionScope['user'].client.clientId}"/>
<c:if test="${empty sessionScope['user'].client.clientId}">
True
<c:set var="clientId" value="1" />
</c:if>
<c:set var="clientProperties" value="${clientProps[clientId]}"/>
<c:set var="clientLogo" value="${clientProperties.clientLogo}"/>
<c:set var="clientURL" value="${clientProperties.clientWebURL}" />
clientId = ${clientId}
clientLogo = ${clientLogo}
clientURL = ${clientURL}
Результат, если пользователь-объект существует:
clientId = 1 clientLogo = /images/logos/Logo1.png clientURL = http://www.xxx.xxx
Результат, если существует пользователь-объект Безразлично:
True clientId = 1 clientLogo = clientURL =
Являются ли типы 'clientId' одинаковыми в обоих случаях? –
Это длинный, когда он извлекается из объекта «Пользователь». Что это, когда я вручную установил его, я не знаю .. – user829237
Вы пытались установить его на долго? Не знаю, решит ли он проблему. –