チェックボックスは、Web開発で多く使用されています。ここで、Struts2のチェックボックスラベルを使用して、開発でしばしば遭遇する問題を実装します。
このタグのプロパティを見てみましょう。
注:ListKeyは、HTMLの値属性に相当します。この値は、バックグラウンドと対話するときにバックグラウンドで使用したいものです。 ListValueは、単なるコンテンツの表示です。
ユーザーはお気に入りのコースを選択しており、選択したコースを変更し、変更インターフェイスにジャンプしてから、選択したコースをエコーする必要があります。
ユーザーはコースインターフェイスを選択しました。
ボタンをクリックして、コース変更インターフェイスを入力します。
注:変更インターフェイスでは、ユーザーの最初の選択をエコーする必要があります。
ユーザーはコースインターフェイスを選択しました。
<body> Your Course:<form Action = "Checkboxaction_test.action" method = "post"> <s:checkboxlist list = "{'java'、 '。アクションコード:
パブリッククラスのチェックボックスはActionSupportを拡張します{プライベートスタティック最終long serialversionuid = 1L;/*ユーザーが選択したコース(文字列、スペースを削除する必要があります)*/プライベートストリングコース(){return courses;} public void setcourses(String cours){thiscourses = courtes;この方法で削除する必要があり、trim()は機能しません]*/string courstrs = this.courses.replaceall( "" "、" ");/*コレクションを定義して、コレクションに選択されたコースを保存します*/list <string> usercourses = new arraylist <string>();/*旅行*/*/* Courstrs.split( "、")){usercourses.add(str);}/*ognlコンテキストでユーザーが選択したコースを保存します*/actioncontext.getContext()。 arrayList <string>(); cous.add( "java"); cous.add( "。net"); cous.add( "php"); cous.add( "c ++");/*ognlコンテキストのすべてのコースを保存*/actioncontext.getContext()。インターフェイスを変更します。
<body>選択したコースは次のとおりです。
注:変更インターフェイスでは、結果のエコーを実現することは非常に簡単です。さらに、リストと値の値を取得するには#属性名のみが必要です。これは、ActionContext、つまりアクションのOGNLContextコンテキストにオブジェクトを既に配置しているためです。
ここでは、同様のケースを使用して、シミュレーション開発環境に近づきます。
ユーザーは自分のアイドル(Javabeanオブジェクト)を選択し、変更インターフェイスにジャンプして変更し、変更インターフェイスのデータをエコーします。
ユーザーはアイドルインターフェイスを選択しました:
インターフェイスを変更する(データエコーを実装する)
ユーザーはアイドルインターフェイスを選択しました:
<body> your idol:<form action = "checkboxlistaction.action" method = "post"> <s:checkboxlist list = "#{1: 'deng xiaoping'、2: 'xi jinping'、3: 'hu jintao'、4: 'li keqiang'}" name = "" key = "key =" "/</</</ value = "私は変更したい"/> </form> </body>注:リストは、OGNLによって作成されたマップのコレクションです。 ListKeyは、提出されたフォームの実際の値に相当します。処理のために背景にマップキーを渡します。
Javabeanオブジェクト:
public class user {ユーザーID*/private integer uid;/* username*/private string uname;/* no-argument constructor*/public user(){}/* constructor*/public user(integer uid、string uname){this.uid = uid; this.uname = uname; {this.uid = uid;} public string getuname(){return uname;} public void setuname(string uname){this.uname = uname;}}}アクションコード:
public class checkboxListactionはactionsupportを拡張します{private static final long serialversionuid = 1l;/* idol collection*/private list <user> users;/* idol id string*/private string ids; public list <user> getusers(){return users;} public void setusers(list <ules> user> public string; setids(string ids){this.ids = ids;} public string execute(){/*データベースからすべてのアイドルを取得し、フロントデスクに渡してユーザーの選択肢と表示してから、new arraylist <ユーザー>(); users.add(new user(1、 "deng xiaoping"); jinping ")); users.add(new user(3、" hu jintao ")); users.add(new user(4、" li keqiang "));/*ognlコンテキストで保存*/actioncontext.getContext()。 arraylist <integer>();/*ユーザーが選択したIDを取得してスペースを削除します[この方法で使用する必要があります]*/ids = ids.replaceall( ""、 "");/*iteration*/for(string str:ids.split( "、"、 "))) ognlコンテキストセット*/actionContext.getContext()。put( "userids"、userids); return this.success;}}}インターフェイスを変更します(データをエコー):
<body>アイドルは次のとおりです。
注: ListKeyとListValueは、Javabeanの2つのプロパティです。チェックボックスリストの反復時に値スタックに配置されるため、#NamesPaceの形で取得する必要はありません。属性名を使用して直接入手できます。値の値は、JavabeanのUIDのコレクションであり、自動的に一致し、対応する値を選択します。
添付:
1.プロジェクトがFreeMakerを使用していないが、以下の図に示されているエラーが表示されます!
だから、おめでとうございます、それはあなたのstruts2タグに名前属性がないためです! ! ! ! (涙からのレッスン、私は2時間それにだまされました!)
上記は、JavaフレームワークのStruts2チェックボックスインスタンスコードの学習に関するこの記事のすべての内容です。すべての人に役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!