2011-09-14 6 views
0

プロパティファイルに保存されたカンマ区切りの文字列値を使用してjspにドロップダウンボックスを作成するコードがあります。これらの値のいずれかを選択すると、ユーザーは検索文字列として渡される検索を実行します。しかし、私の要件は、ドロップダウン "My Application"に表示されている特定の値に対して、検索要求を送信する際に "MyApp"として送信する必要があるという要件です。 1つの特定の値とそれ以外の値だけがクエリ文字列で送信されるため、これを達成する方法についての考えは、ドロップダウンに表示されるものと同じでしょうか?検索の実行中にドロップダウンボックスに表示される値の代わりに別の値を送信する方法はありますか?

<option id="classification" value="${values}">${values}</option> 

答えて

0

すべての値とラベルを使用してMap<String, String>を作成する必要があります。次のように表示さ

基本的には、

Map<String, String> options = new LinkedHashMap<String, String>(); 

for (String value : values.split(",")) { 
    if (value.equals("My Application")) { 
     options.put("MyApp", value); 
    } else { 
     options.put(value, value); 
    } 
} 

<c:forEach items="${options}" var="option"> 
    <option value="${option.key}">${option.value}</option> 
</c:forEach> 

を私はそれがプロパティファイル内の値とラベルの両方を指定した方が良いと思います。例えば。

for (String valueAndLabel : valuesAndLabels.split(",")) { 
    String[] parts = valueAndLabel.split("="); 
    options.put(parts[0], parts[1]); 
} 

values = MyApp=My Application,FooApp=Foo Application,EtcApp=Etc Application 

関連する問題