bboss mvcコントローラメソッドパラメータバインドテクニック-mapタイプパラメータバインドの紹介
本文はbboss mvcコントローラ方法パラメータバインドテクニック-mapタイプパラメータバインドの使用方法を紹介し、本題に入る.
1、概要
Mapタイプのパラメータバインドには、次の2つの方法があります.
方式1 Map方式でRequestオブジェクトのパラメータを直接Mapオブジェクトにダンプする
方式2 Map方式では、複数のレコードをBeanタイプ値オブジェクトに変換し、@MapKeyで指定したレコードフィールドの値をMapのkey値、Beanオブジェクトをvalueとして、コントローラメソッドパラメータとして1つのMapオブジェクトを形成する.
この2つのMapパラメータのバインド方法について説明するほか、jspでmapラベル/mapkeyラベルと組み合わせてmapタイプのデータを表示する方法についても説明します.
これらの機能について直接説明します
2、機能の詳細
2.1、方式一Map方式
まずフォームの書き方を見て、2つのパラメータnameとsex:
コントロールメソッドの書き方、Mapparamsはrequestのすべてのパラメータのダンプです.
jspでmapタグを使用してparamsのkeyとvalueを表示する方法:
2.2、方式二Map方式
まずフォームの書き方を見て、フォームの中に複数のnameとsexパラメータを配置して、複数の記録を形成するBeanオブジェクトをシミュレートします.私たちのBeanオブジェクトExampleBeanの構造も非常に簡単で、nameとsexの2つの属性が含まれています.
フォーム・コード
ExampleBeanコード:
制御方法の書き方:
注記@MapKey("name")で宣言したMapパラメータのkeyはnameフィールドの値をkeyとし、Mapの汎用情報で各レコードがバインドされるBeanオブジェクトのタイプを指定します.ここでExampleBeanです.制御方法の論理は非常に簡単で、バインドされたパラメータmapBeansをjspページに直接渡します.
jspでmapタグを使用してmapBeansのkeyとExampleBeanを表示する方法:
さらに、mapラベルの定義ファイルをjspのヘッダにインポートする必要があります.
ラベル・ライブラリの使用については、次の文書を参照してください.
http://yin-bp.iteye.com/blog/1136924
http://yin-bp.iteye.com/blog/1137674
bboss mvcデータバインドのより包括的な紹介資料:
http://yin-bp.iteye.com/blog/1070614
1、概要
Mapタイプのパラメータバインドには、次の2つの方法があります.
方式1 Map
方式2 Map
この2つのMapパラメータのバインド方法について説明するほか、jspでmapラベル/mapkeyラベルと組み合わせてmapタイプのデータを表示する方法についても説明します.
これらの機能について直接説明します
2、機能の詳細
2.1、方式一Map
まずフォームの書き方を見て、2つのパラメータnameとsex:
<form action="sayHelloStringMap.page" method="post">
<table cellspacing="0" >
<tbody>
<tr><td>
:
<input name="name" type="text">
</td> <td>
:
<input name="sex" type="text">
</td>
</tr> </tbody>
</table> </form>
コントロールメソッドの書き方、Mapparamsはrequestのすべてのパラメータのダンプです.
public String sayHelloStringMap(Map params,
ModelMap model)
{
// params jsp , map
model.addAttribute("serverHelloMapBean", params);
return "path:sayHello";
}
jspでmapタグを使用してparamsのkeyとvalueを表示する方法:
<table>
<h3>map<String,String> </h3>
<pg:map requestKey="mapstrings"> <tr class="cms_data_tr">
<td>
mapkey:<pg:mapkey/>
</td>
<td>
value:<pg:cell/>
</td>
</tr>
</pg:map> </table>
2.2、方式二Map
まずフォームの書き方を見て、フォームの中に複数のnameとsexパラメータを配置して、複数の記録を形成するBeanオブジェクトをシミュレートします.私たちのBeanオブジェクトExampleBeanの構造も非常に簡単で、nameとsexの2つの属性が含まれています.
フォーム・コード
<form action="sayHelloBeanMap.page" method="post">
<table cellspacing="0" >
<tbody> <tr> <td>
:
<input name="name" type="text">
</td>
<td>
:
<input name="sex" type="text">
</td>
</tr>
<tr>
<td>
:
<input name="name" type="text">
</td>
<td>
:
<input name="sex" type="text">
</td>
</tr> <tr> <td>
:
<input name="name" type="text">
</td>
<td>
:
<input name="sex" type="text">
</td>
</tr>
<tr><td>
:
<input name="name" type="text">
</td>
<td>
:
<input name="sex" type="text">
</td>
</tr>
<tr>
<td>
:
<input name="name" type="text">
</td>
<td>
:
<input name="sex" type="text">
</td>
</tr>
<tr>
<td><input type="submit" name=" " value=" "></td> </tr>
</tbody>
</table> </form>
ExampleBeanコード:
public class ExampleBean
{
private String name = null;
private String sex = null;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getSex()
{
return sex;
}
public void setSex(String sex)
{
this.sex = sex;
}
}
制御方法の書き方:
public String sayHelloBeanMap(@MapKey("name") Map<String, ExampleBean> mapBeans, ModelMap model)
{
model.addAttribute("serverHelloMapBean", mapBeans);
return "path:sayHello";
}
注記@MapKey("name")で宣言したMapパラメータのkeyはnameフィールドの値をkeyとし、Map
jspでmapタグを使用してmapBeansのkeyとExampleBeanを表示する方法:
<table>
<tr> <td>
<pg:map requestKey="serverHelloMapBean" > <ul><li> mapkey: <pg:mapkey/></li> <li>name :<pg:cell colName="name"/></li> <li>sex :<pg:cell colName="sex"/></li> </ul>
</pg:map>
</td> </tr> </table>
さらに、mapラベルの定義ファイルをjspのヘッダにインポートする必要があります.
<%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg"%>
ラベル・ライブラリの使用については、次の文書を参照してください.
http://yin-bp.iteye.com/blog/1136924
http://yin-bp.iteye.com/blog/1137674
bboss mvcデータバインドのより包括的な紹介資料:
http://yin-bp.iteye.com/blog/1070614