Java/BeanUtils
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
[[BeanUtils - Commons>http://commons.apache.org/beanutils...
似たようなプロパティをもつ別のクラス、たとえばStrutsのAct...
SrcBean src = ...
DestBean dest = new DestBean();
PropertyUtils.copyProperties(dest, src);
などとするだけで、同じ名称のプロパティを移し替えてくれた...
**ダウンロード [#aaf0899b]
[[Beanutils Downloads>http://commons.apache.org/downloads...
-commons-logging
-commons-collections
なども必要みたいですね。
**やってみる [#ecfb84fb]
SrcBeanのプロパティをDestBeanへ載せ替えることを考えてみま...
package src;
public class SrcBean {
private String message;
private boolean[] boolArray;
private List list;
private Map map;
.... Getter/Setterは削除
}
package dest;
public class DestBean {
private String message;
private boolean[] boolArray;
private List list;
private Map map;
.... Getter/Setterは削除
@Override
public String toString() {
return new ToStringBuilder(this).append("message", m...
"booleanArray", boolArray).append("list", list)....
map).toString();
}
}
この例ではSrcBeanもDestBeanも同じプロパティを持っていると...
各プロパティの値を載せ替えるコードは以下の通りです。
public class Main {
public static void main(String[] args) throws IllegalA...
InvocationTargetException, NoSuchMethodException {
SrcBean src = new SrcBean();
src.setMessage("ほげほげ");
boolean[] boolArray = new boolean[] { true, false, t...
src.setBoolArray(boolArray);
List<String> list = new ArrayList<String>();
list.add("first");
list.add("second");
src.setList(list);
Map<String, Object> map = new HashMap<String, Object...
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("chars", new char[] { 'a', 'b' });
src.setMap(map);
DestBean dest = new DestBean();
PropertyUtils.copyProperties(dest, src);
System.out.println(dest);
}
}
実行結果は以下の通り。
dest.DestBean@bb0d0d[
message=ほげほげ,
booleanArray={true,false,true},
list=[first, second],
map={
chars=[C@2c1e6b,
arr=[Ljava.lang.String;@811c88,
int=1,
bool=true,
name=json
}
] 整形してます
SrcBeanのプロパティがコピーされていることが確認できました。
***コンテンツ一覧 [#vd07dcbd]
#ls2
***関連リンク [#k8b55eb0]
----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
[[BeanUtils - Commons>http://commons.apache.org/beanutils...
似たようなプロパティをもつ別のクラス、たとえばStrutsのAct...
SrcBean src = ...
DestBean dest = new DestBean();
PropertyUtils.copyProperties(dest, src);
などとするだけで、同じ名称のプロパティを移し替えてくれた...
**ダウンロード [#aaf0899b]
[[Beanutils Downloads>http://commons.apache.org/downloads...
-commons-logging
-commons-collections
なども必要みたいですね。
**やってみる [#ecfb84fb]
SrcBeanのプロパティをDestBeanへ載せ替えることを考えてみま...
package src;
public class SrcBean {
private String message;
private boolean[] boolArray;
private List list;
private Map map;
.... Getter/Setterは削除
}
package dest;
public class DestBean {
private String message;
private boolean[] boolArray;
private List list;
private Map map;
.... Getter/Setterは削除
@Override
public String toString() {
return new ToStringBuilder(this).append("message", m...
"booleanArray", boolArray).append("list", list)....
map).toString();
}
}
この例ではSrcBeanもDestBeanも同じプロパティを持っていると...
各プロパティの値を載せ替えるコードは以下の通りです。
public class Main {
public static void main(String[] args) throws IllegalA...
InvocationTargetException, NoSuchMethodException {
SrcBean src = new SrcBean();
src.setMessage("ほげほげ");
boolean[] boolArray = new boolean[] { true, false, t...
src.setBoolArray(boolArray);
List<String> list = new ArrayList<String>();
list.add("first");
list.add("second");
src.setList(list);
Map<String, Object> map = new HashMap<String, Object...
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("chars", new char[] { 'a', 'b' });
src.setMap(map);
DestBean dest = new DestBean();
PropertyUtils.copyProperties(dest, src);
System.out.println(dest);
}
}
実行結果は以下の通り。
dest.DestBean@bb0d0d[
message=ほげほげ,
booleanArray={true,false,true},
list=[first, second],
map={
chars=[C@2c1e6b,
arr=[Ljava.lang.String;@811c88,
int=1,
bool=true,
name=json
}
] 整形してます
SrcBeanのプロパティがコピーされていることが確認できました。
***コンテンツ一覧 [#vd07dcbd]
#ls2
***関連リンク [#k8b55eb0]
----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: