私はストラットが初めてです。<s:select>
セッション内のデータのリストを、純粋な html に等しいselect タグにロードしたいと考えています<select><option>values..</option></select>
。データはデータベースからロードされ、リストに入れられます。インターネットを探しました。しかし、それはすべてうまくいきませんでした。これを行う方法を教えてください。または、実際の例へのリンクを提供してください。
2 に答える
なぜリストをセッションに入れたいのかわかりませんか?Struts2は、リクエスト/レスポンスデータをValuestackに配置するためのクリーンな方法を提供し、そのOGNLシステムは、バリュースタックからそれらのデータにアクセスするための非常にクリーンな方法を提供します。 UIはbuildinstruts2タグを使用してこれらのデータにアクセスします。これを実現するための簡単なコードは、次のとおりです。
アクションクラス
public Class MyAction extends ActionSupport{
private List<String> myList;
//getter and setter for myList
public String execute() throws Exception{
myList=new ArrayList<String>();
// fill the list
return SUCCESS;
}
}
UIレベルでは、次のようなS2選択タグを使用する必要があります。
JSP
<s:select label="MyList"
name="myList"
headerKey="-1" headerValue="Select Value"
list="myList"
/>
これがあなたがする必要があるすべてです。struts.xmlでこれをマッピングするために、それは非常に簡単であり、アクション名とその尊重されるクラスを構成するために必要なすべてです。これがあなたを助けることを願っています。S2の詳細については、公式ドキュメントを参照することをお勧めします。
それでも、Javaクラスのセッションにリストを配置し、jspでリストにアクセスしたい場合は、JSPコードを参照してください。
%{#session.MyList}
スタック上のjava.util.Listに値のリストがある限り、次のような問題はありません。
<s:select label="Some label"
list="yourList"
name="somName" />
ここでサンプルを見つけることができます:http ://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/