3

選択したラジオ ボタンのフォームと値をデータベースに保存する JSP ページがあります。ここで、そのページを更新する必要があります。すべてが表示されていますが、ラジオ ボタンが選択されていません。JSP で以前に選択したラジオ ボタンを表示する方法がわかりません。私はStruts2、Javaを使用しています。

JSP コード:

    <div id="patientCondition">
            <input type="radio" id="new" value="n" name="pSB.radioInnerSubjective" /><label for="new">New</label>
            <input type="radio" id="noChange" value="nC" name="pSB.radioInnerSubjective" /><label for="noChange">No Change</label> 
            <input type="radio" id="progressing" value="p" name="pSB.radioInnerSubjective" /><label for="progressing">Progressing</label>
            <input type="radio" id="notProgressing" value="nP" name="pSB.radioInnerSubjective" /><label for="notProgressing">Not Progressing</label>
    </div>

データベースからラジオボタンの値を「nC」として取得するとします。次に、2番目のラジオボタンを自動的に選択するにはどうすればよいですか。

私は試した:

<input type="radio" id="new" value="n" <s:if test="${patientSoapBean.radioInnerSubjective == 'n'}">CHECKED</s:if> name="patientSoapBean.radioInnerSubjective"/><label for="new">New</label>

しかし、私はエラーが発生しています:

Mar 28, 2013 6:07:54 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /WEB-INF/views/patient_soap.jsp (line: 703, column: 44) According to TLD or attribute directive in tag file, attribute test does not accept any expressions
4

1 に答える 1

3

Struts2 タグ内では使用できません。また、1 つの文字列と正しく比較するには、in 属性とin属性を${...}入れ替える必要があります。'"test

<input type="radio" id="new" value="n" <s:if test='patientSoapBean.radioInnerSubjective == "n"'>checked</s:if> name="patientSoapBean.radioInnerSubjective"/>
<label for="new">New</label>

patientSoapBeanもちろん、とにはゲッター/セッターが必要ですradioInnerSubjective

BTW Struts2 には<s:radio>、選択したラジオ ボタンをチェックするタグがあります。

于 2013-03-29T15:11:46.323 に答える