0

ELのように、通常の HTMLの s: タグの外側でOGNL 式を使用することは可能ですか?

たとえば、EL で何らかの Bean の値を取得したい場合は、 ブロック<div>${beanName.propertyName}内などで何かを行います。DIV

OGNLを使用してこれを行うにはどうすればよいですか。私はコードブロックを持っています:

    <s:iterator value="parentBean.qna" var="questionAndAnswers"
                status="qIndex">
      <li>
        <s:label theme="simple"
                 value="Question %{#qIndex.index+1} - %{#questionAndAnswers.question}"/>

        <ul>
        <s:iterator value="%{#questionAndAnswers.answers}" var="answer" status="answersStat">
        <li>            
        <input  type="radio" name="parentBean.answerMap['%{qIndex}']" />'
        value='<s:property value="%{#answersStat.index}"/>'><s:property value="%{#answer}" /></input>
        </li>
        </s:iterator>
        </ul>
        <br/>
      </li>
    </s:iterator>

の値を現在のインデックスに動的に置き換えて、値を後ろの対応するキーに設定できるようにしinput type="radio" name="parentBean.answerMap['%{qIndex}']" ... たいと言っています。qIndexだった場合parentBean.answerMap[1]、アクションのマップにkey=1は入力の と の値があると想定しています。

何か助けはありますか?

4

1 に答える 1

1

OGNL 構文を使用していません。JSP は OGNL について何も知りません。

S2 のリクエスト ラッパー、JSP EL 構文 ( ) を使用して値スタックをクエリできます${}が、それが名前付きの値 (イテレータ インデックスのようにスタックにプッシュされない値) に拡張されるとは思えません。

もちろん、属性の場合と同様に、タグの属性で使用する必要はありません。<s:property value="#qIndex.index"/>value

于 2012-08-31T22:46:01.713 に答える