Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

selectタグのoption要素の名称を置き換える

playframeworkを使用しています。
宜しくお願いします。

いま、データベースの名称一覧を選択できるselectタグがあります。
optionはcontrollerからDBの名称を取ってくる作業をしていて、
html上では@forを使い、表示しています。

<select name="DB_NAME" >        
 <option value="" selected>----------</option>        
  @for(row <- DbForm){
   <option value="@row">@row</option>
    }
</select>

この時、DBの名称なので全て英語でoption要素が並びます。

これを日本語に訳して表示させたいのですが、手動でhtmlに日本語でoption要素を書き込み、valueを設定する以外に、効率のよい方法はありますでしょうか。

質問の意図が伝わらなかったら、すいません。

以上、宜しくお願い致します。

2

回答

297

閲覧

2件の回答

評価

30

例えばこんな感じにしたいのだろうか?

<option value="instance1">インスタンス1</option>
<option value="instance2">インスタンス2</option>

「手動でhtmlに」というのはhtmlにべた書きするということなんだろうか。
べた書きするならDB名をサーバーで取得している意味がない。
もっとも「効率」がパフォーマンスを意味しているなら、一番効率が良いのはべた書きだが…。

少し前にselectやradioの質問があったが、HTMLの要素を動的に生成したいならサーバーからViewへ渡すべきはただの文字列のリストではなくBeanのリスト、最低でも文字列の配列を要素とするリストを渡すべきだ。
valueだけのリストから、Beanのリストに詰め替えるロジックを考えてみよう。

評価

0

optionの数が多かったため、べた書き以外の方法を探っていましたが、
仰るとおりで、DB名をserverから取得する意味がなくなり、valueで
”instance1”を送る。といった形になりました。

他にもアドバイスいただき、ありがとうございます。
匿名なのに同一人物と気づいてくださって、そちらもありがとうございます。

回答する

ログインしていません。

ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 アカウントをお持ちでない方は会員登録を行ってください。

ユーザ名匿名