2016-04-15 3 views
0

私はそれについて同様の質問を見ましたが、答えは説得力がありませんでした。HTMLドロップダウン値をJSTL sql:queryに渡すにはどうすればよいですか?

私のプログラムは、ドロップダウン値に基づいてコンテンツをロードする必要があります。私はJSTLのsql:queryを使用していますので、ドロップダウンの値をsql:queryタグに渡す必要があります。

私のコード

Select Book Type <br> 
<select name="bookdropdown"> 
    <option value="Crime">Crime </option> 
    <option value="Comedy">Comedy</option> 
    <option value="Mystery">Mystery</option> 
</select>  

//SQL Datasource configuration code 


     <sql:query var="listBooks" dataSource="${myDS}"> 
      SELECT * FROM Books WHERE type = ? 
      <sql:param value="${bookdropdown}" /> 
       </sql:query> 

私が試したように値ドロップダウンをもとにしたいコンテンツをロードするための直接的な方法はありますか?または、URLを使用してサーブレットのパラメータを渡す必要がありますか?

ありがとうございます。

答えて

0

htmlコードはブラウザのクライアント側で動作します。 JSTLコードはサーバ側で動作します。選択したアイテムをサーバー側に渡すには、フォームを送信する必要があります。フォームのコンテンツには、パラメータとして${param.bookdropdown}にアクセスできます。私はこの古い技術とajaxを混ぜ合わせることはしません。

<sql:query var="listBooks" dataSource="${myDS}"> 
     SELECT * FROM Books WHERE type = ? 
     <sql:param value="${param.bookdropdown}" /> 
      </sql:query> 
+0

ドロップダウン値に基づいてコンテンツをロードするにはサーブレットを経由する必要がありますか? – dav191

+0

私はあなたがこの質問を超えて達成しようとしていることを知らないので、私はそのようなことを示唆していません。 JSTLを完全に置き換えることが可能かどうかは確かに考えています。しかし、そのような質問は、SOの範囲を超えています。 – Shadow

+0

* "JSTLを完全に置き換える" *修正: "JSTLの' sql'(および 'xml')タグライブラリを置き換えます。彼らは実際には2001年以来落胆しています(ao http://stackoverflow.com/tags/jstl/infoも参照してください)。しかし、 'c'、' fmt'、 'fn' taglibを過度に生成しないでください。今日まで。 – BalusC

関連する問題