2017-11-20 8 views
0

Spring MVCアプリケーションにはいくつかの送信ボタンがあるJSPページがあります。 (btnSelectAll、btnUnselectAll)、いくつかの送信ボタンのクリックに対してアプリケーションの定義済みの値(例: 'getInfo')を保持する必要があり、ユーザーが選択した値を保持する必要があります( 'getInfo'他のいくつかの送信ボタンのクリック( 'defaultAction'、 'btnReset')があります。Spring MVCドロップダウンはフォームアクションに基づいた値を保持します

ユーザが選択したボタンアクションの値をキャプチャする(hidden、modelattribute)変数 'buttonClicked'が作成されました。たとえば、 'defaultAction'、 'btnReset'など、JSPページでユーザーが選択したボタンの値を確認できます。

<form:select path = "user.action" multiple="false" > 
    <c:forEach items="${actions}" var="role"> 
     <option value="${role}" ${(role eq 'getInfo' and (buttonClicked eq 'defaultAction' or buttonClicked eq 'btnReset')) ? 'selected' : ''}>${role}</option> 
    </c:forEach> 
</form:select> 

「はGETINFO」に等しい反復値を検証するために、上記JSTLロジックを加え、溶液のためのbuttonClicked変数と共に使用します。しかし、何らかの理由でJSTL foreach内の条件付き操作にbuttonClicked値を使用することができません。

誰かが間違っていることを指摘できますか?または、他の優れたソリューションやリンクがある場合は、共有してください。

私は良い時間を過ごすため、事前に感謝します。

は、この使用してJavaScriptを達成することができ、 ラメシュ

答えて

-1

、ありがとうございました。 buttonClickedの値をjavascript変数に割り当て、条件に基づいてドロップダウンに値を設定することができます。

<form:select path = "user.action" multiple="false" > 
    <c:forEach items="${actions}" var="role"> 
     <option value="${role}">${role}</option> 
    </c:forEach> 
</form:select> 
... 
<script> 
     var buttonClicked = <c:out value="${buttonClicked}"/> 
     var roleObj = document.getElementById('<dropdown id>'); 
     setValue(roleObj,'getInfo'); 
     function setValue(selectObj, valueToSet) { 
     for (var i = 0; i < selectObj.options.length; i++) { 
      if (selectObj.options[i].text== valueToSet 
       && (buttonClicked == 'defaultAction' || buttonClicked == 'btnReset')) { 
      selectObj.options[i].selected = true; 
      return; 
      } 
     } 
     } 
</script> 
関連する問題