私があなたに与えたいいくつかの提案
- Struts2 Dojo プラグインは開発中ではなく、非推奨であるため、それを使用しないことをお勧めします。それ以外の場合は、struts2 でプレーンな DOJO を使用できます。
アクティブに使用されている Jquery プラグインがあり、探している機能のほとんどを提供します。 A_simple_Doubleselect_with_Topicsをご覧ください。
このプラグインは多くの優れたウィジェットと機能を提供してくれますが、実装に多くの制限があるため、私はこのプラグインの大ファンではありません。
私の提案は、次のアプローチを使用することです
- Struts2-JSONプラグインを追加して、アクションから JSOn データを送り返すようにします。
- シンプルな Jquery を使用してデータをサーバーに送信し、JSON を取得し、Jquery JSON 解析手法を使用して 2 番目のドロップダウンを埋めます。
最初のドロップダウンに変更時イベントを追加し、2 番目のドロップダウンに入力する関数を作成します
function fill statenames(countryID)
var formInput='country='+countryID;
$.getJSON('search/getStateNames',formInput,function(data) {
$("#employee.statename option:first").val("-1").text("Please select state");
$('.result').html('' + data.states + '');
$.each(data.states ,function(index, value){
var stateid= document.getElementById("state");
var option=new Option(value,value);
try{
stateid.add(option);
}
catch(e){
stateid.appendChild(option);
}
});
});
アクション クラス
public class StateListAction extends ActionSupport{
private String country;
// getter and setter
private List<String> states;
//getter and setter
public String getStateList(){
states=fillStatebasedonCountry(country);
return SUCCESS;
}
}