<input type="radio" name="${questions.qid}" value="${questions.ans1}" <s:if test="%{(#session.map.get(1)).equals(\'ans1\')}">checked</s:if>><s:property value="#attr.questions.ans1"/>
В этом коде «вопросы» - это список, содержащий объекты вопросов со строковым вопросом, ans1, ans2, ans3. В моей программе, я буду делать это появляется в браузере какКак поместить переменную в тег OGNL
Question 1
(RadioButton) Answer 1
(RadioButton) Answer 2
(RadioButton) Answer 3
Question 2
(RadioButton) Answer 1
(RadioButton) Answer 2
(RadioButton) Answer 3
.
.
.
В списке может содержать несколько объектов вопрос, так что я сделал это, чтобы показать 5 вопрос на странице. Моя проблема (например), что пользователь может перейти со страницы 4 на страницу 2, и я хочу пополнить ответы, которые пользователь нажал на странице 2. Итак, в классе действий я создаю HashMap и ставил вопрос id (qid) и ответил вопрос (например, ans2) на карту, а затем поместил эту карту в сеанс под названием «карта».
В коде выше, я использую
<s:if test="%{(#session.map.get(1)).equals(\'ans1\')}">checked</s:if>
в HTML радио теге. Я жестко закодировал идентификатор вопроса (qid) как «1», и он работает так, как планировалось. Но число в get() должно быть переменной. Это должно быть реальный вопрос идентификатор, как я использовал в
name="$(questions.qid)"
Я попытался поставить параметр как
#session.map.get(#attr.questions.qid)
но это не работает. Пожалуйста, любезно посоветуйте мне, как я могу внести переменную параметра.