Язык выражений JSP и имена динамических атрибутов
Я пытаюсь сделать что-то, что кажется достаточно простым и наталкивается на что-то вроде стены.
Позволять'скажи яу меня есть список продуктов, которые я выставляю как атрибут запроса под именемproducts
, Позволять'также говорят, что каждый продукт имеетid
поле, и что у меня также есть куча атрибутов запроса, установленных в видеselectedProduct_
чтобы указать, какие из них выбраны.
Я понимаю, что есть лучшие способы представления этой информации, например, размещение всех выбранных идентификаторов вMap
и проверять против этого, но пустьПредполагаю, что я неу меня нет доступа к этому подходу по любой причине.
Так что яя хотел бы сделать, это итерацияproducts
и испускать некоторую разметку, только если естьselectedProduct_...
Атрибут установлен для текущего продукта. Что-то вроде:
${product.id}
Но, конечно, это нене работает, как он умирает.${! empty selectedProduct_${product.id}}
Что будет работать, если я жестко закодирую идентификатор продукта в выражении, например:
${! empty selectedProduct_17}
...при условии, что '17' является действительным идентификатором продукта. Очевидно, чтоне практично, но, надеюсь, это иллюстрирует то, что яЯ пытаюсь достичь. В основном мне нужно:
Определить правильныйselectedProduct_...
значение, используемое для каждой итерации вforEach
петля. Что-то простое, как
сделал бы это, кроме меняЯ не уверен, как тогда принятьkey
и использовать его, чтобы получить значение атрибута запроса с этим именем (без обмана и запуска буквального кода Java внутри
блок).Получите значение атрибута запроса, имя которого я определил в # 1. Это кажется сложной частью.Возможно ли это с использованием чистого JSP / JSTL? Я знаю, что мог бы запустить некоторый код Java внутри чтобы решить это, но кажется, что это было бы в очень плохой форме. Конечно, существует более элегантное решение?