Условное выражение в jsp внутри входного тега

<input type="text" name="${task.getTaskId()}today" placeholder="${tm.get(LocalDate.now()).contains(task.getTaskId()) ? 'saved' : 'dosa'}" size="2">

Это мой код, расположенный внутри <c:forEach items="${tasks}" var="task" >, тм это HashMap<LocalDate,List<String>> Я попробовал тот же код в файле Java, он работает. Но в JSP это не так. Я всегда получаю dosa что подразумевает, что условие ложно. Почему это?

1 ответ

Возможно, он не полностью отвечает на ваш вопрос, но, насколько мне известно, для доступа к свойству, полю или экземпляру var в EL вы используете не методы получения Java, а "." обозначения или квадратные скобки.

Так, например, в то время как в Java вы бы пошли

task.getTaskId()

В EL это будет

task.taskId

или же

task['taskId']

Тогда я бы, вероятно, проверил, есть ли функция JSTL, которая может проверить, содержится ли значение в карте

Другие вопросы по тегам