BeanUtilツールクラス&&MVC+3階層アーキテクチャ
1610 ワード
BeanUtilツールクラスガイドパッケージ「commons-beanutils.jar」および「commons-logging.jar」 は空のbeanオブジェクトを作成し、オブジェクトに対応するクラスの属性属性の私有化はgetterメソッドとsetterメソッド を提供する.フォームデータのname属性名の値とBeanクラスの属性名が一致する Date日付タイプに遭遇した場合、フォーマット変換 を事前に行う必要があります. onvertUtils.register()フォーマット変換string-->Date
servletでフォームデータを取得するには
Map map = request.getParameterMap();
静的メソッドpopulate(bean,properties)try catch を呼び出す
注意:
BeanUtilsはデフォルトのデータ型カプセル化を行います.つまり、
定義されたメンバー変数のタイプはintで、BeanUtilsはStringを自動的に変換します.
intタイプですが、複数選択ボックスcheckboxタイプの場合は、メンバーを
変数のタイプをString[]と定義しないと、変換例外が発生します.
需要があるのがListタイプであれば、私たち自身で変換する必要があります.
MVC:開発モデル
M:Model、モデル.JavaBean
V:View、ビュー.JSP
C:コントローラ.Servlet
3階層アーキテクチャ:ソフトウェア設計アーキテクチャ
インタフェースレイヤ(表示レイヤ):ユーザが見るインタフェース.ユーザは、インタフェース上のコンポーネントとサーバとのインタラクションを行うことができる.
ビジネスロジック層:ビジネスロジックを処理します.
≪データ・アクセス・レイヤ|Data Access Layer|ldap≫:データ・ストレージ・ファイルを操作します.
servletでフォームデータを取得するには
Map map = request.getParameterMap();
注意:
BeanUtilsはデフォルトのデータ型カプセル化を行います.つまり、
定義されたメンバー変数のタイプはintで、BeanUtilsはStringを自動的に変換します.
intタイプですが、複数選択ボックスcheckboxタイプの場合は、メンバーを
変数のタイプをString[]と定義しないと、変換例外が発生します.
需要があるのがListタイプであれば、私たち自身で変換する必要があります.
User user = new User();
//
ConvertUtils.register(new Converter() {
@Override
public Date convert(Class aClass, Object o) {
return User.string2Date(((String)o));
}
}, Date.class);
try {
BeanUtils.populate(user, request.getParameterMap());
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
MVC:開発モデル
M:Model、モデル.JavaBean
V:View、ビュー.JSP
C:コントローラ.Servlet
3階層アーキテクチャ:ソフトウェア設計アーキテクチャ
インタフェースレイヤ(表示レイヤ):ユーザが見るインタフェース.ユーザは、インタフェース上のコンポーネントとサーバとのインタラクションを行うことができる.
ビジネスロジック層:ビジネスロジックを処理します.
≪データ・アクセス・レイヤ|Data Access Layer|ldap≫:データ・ストレージ・ファイルを操作します.