- PR -

Strutsの入力データ検証について

投稿者投稿内容
NV
ベテラン
会議室デビュー日: 2003/05/20
投稿数: 73
投稿日時: 2006-03-17 10:32
レスが遅れました。
最終的には、うまく行っているようです。カツノリさんありがとうございました。

参考までに下記に対応を記します。

struts-config.xml
コード:

<message-resources parameter="MessageResources" />
<message-resources parameter="DataBaseResources" factory="DBMessageResourcesFactory" key="dbmsg"/>



DBMessageResourcesFactoryクラス
コード:

/**
* メッセージリソースファクトリ拡張クラス<br/>
* DBMessageResourcesクラス生成
*/
public class DBMessageResourcesFactory extends MessageResourcesFactory {
public DBMessageResourcesFactory() {
super();
}
//このメソッドをオーバーライド
public MessageResources createResources(String config) {
//パラメータ受け渡し用変数
HashMap messages = new HashMap();
//DB接続処理
||||||
省略
||||||
//DBメッセージリソース設定
messages = DBリソース
//DBメッセージリソースを返却
return new DBMessageResources(this, config, messages, this.returnNull);
}
}



DBMessageResourcesクラス
コード:

/**
* メッセージリソース拡張クラス<br/>
* DBエラーメッセージ取得
*/
public class DBMessageResources extends MessageResources {
/** エラーメッセージ格納 **/
protected HashMap messages = new HashMap();
public DBMessageResources(MessageResourcesFactory factory, String config) {
super(factory, config);
}
public DBMessageResources(DBMessageResourcesFactory factory, String config, boolean returnNull) {
super(factory, config, returnNull);
}
public DBMessageResources(DBMessageResourcesFactory factory, String config, HashMap messages, boolean returnNull) {
super(factory, config, returnNull);
this.messages = messages;
}

//このメソッドをオーバーライド
public String getMessage(Locale locale, String key) {
return (String) this.messages.get(key);
}
}



resouceTest.jsp
コード:

<bean:message bundle="dbmsg" key="key001"/>



カツノリさんのお陰で、はじめてオープンソースの扉をオープンしてみました。
一時は躊躇いがありましたが、やらなければできるようにならないということを改めて感じました。

ありがとうございます。


[ メッセージ編集済み 編集者: NV 編集日時 2006-03-17 10:36 ]

スキルアップ/キャリアアップ(JOB@IT)