1
<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"/>
在此代碼中,「questions」是一個包含問題對象的列表,其中包含String question,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),然後將該地圖放入名爲「地圖」的會話中。
在上面的代碼中,我在HTML無線標籤使用
<s:if test="%{(#session.map.get(1)).equals(\'ans1\')}">checked</s:if>
。我將問題ID(qid)硬編碼爲「1」,並按計劃運行。 但get()中的數字必須是可變的。那一定是真正的問題ID就像我在
name="$(questions.qid)"
使用我試圖把參數作爲
#session.map.get(#attr.questions.qid)
,但它不工作。請引導我如何使參數變量。