Условное выражение в 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, которая может проверить, содержится ли значение в карте