2012-01-11 13 views
0

属性。この部分はうまく動作します。春フォーム - フォームの値は:選択項目は、私は自分のフォーム用に設定バッキングBeanを持って

私はすでに私のバッキングBeanのリストとして設定フィールドの可能な値を持っています。 pathと同じ方法でcommandNameのコンテキストでこのリストにアクセスする方法はありますか?

例として:私はオンラインの例の多くを見る

(私はこれをしたくない)

<form:form method="POST" commandName="address"> 
    <form:select path="country"> 
     <form:options items="${address.countryList}" itemValue="countryId" itemLabel="countryName" /> 
    </form:select> 
</form:form> 

(私はそれをこのようにアクセスしたい)

<form:form method="POST" commandName="address"> 
    <form:select path="country"> 
     <form:options items="countryList" itemValue="countryId" itemLabel="countryName" /> 
    </form:select> 
</form:form> 

項目属性のためのELスタイル$ {}を使用しますが、これは、フォームのコンテキストで行われているか、誰かが私を見ることができる場合、私は疑問に思って。より良い用語の欠如のために、私は、コマンド名と同じ「スコープ」にあるリストにアクセスしたいと思います。

これはできますか?

なぜ私はこのようにしたいのだろうかと疑問に思っている場合:ネストされたループ内にいくつかのレベルの深いフォームがあるので、似たような(しかし正確ではない)リストには、毎回同じリストを使用することができないので、私はバッキングビーンのリストを持っているのです。リストには、各Beanに固有の許可された値が含まれています。

答えて

0

いいえ、pathitemsは根本的に異なっているので。

TLDは、フォームタグのpath属性が、選択したオプションをバインドするフィールドを示し、items属性がすべてのオプションを生成するのに便利な方法であることを示します。

public String formSetup(ModelMap model) { 
    //... 
    model.put("countryList", backingBean.getCountryList()); 
    //... 
    return "mySuperAwesomeView.jsp"; 
} 

あなたのコントローラは、まだおおよそこのようなコードが必要になるだろう

関連する問題