トップページphp
982コメント329KB

フレームワークStrutsをいじくり倒す人の為のスレ

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん03/04/28 08:14ID:Ub0n1fGR
 流行っているのか、流行っていないのか謎の Struts を語るスレです。
http://www.ingrid.org/jajakarta/struts/
http://jakarta.apache.org/struts/
0815nobodyさん05/02/25 00:17:00ID:???
>>814
ネスト?
関連が強いなら当然、インナークラスだろ。
メンテナンス性が低下しないならインナークラスの多段ネストでもいい。
再利用性があるなら、普通の外だしクラス。POJO。

Form はそのコレクションの単純なアクセッサ、入力可能なら
int 引数付き getter も用意。
0816nobodyさん05/02/25 00:19:38ID:???
>813
それは理解できる。

今回は、
5.画面Bでsubmit
6.Action Bが起動

って流れなわけ。
で、1で送信したActionFormと、5で送信したいActionFormの内容が違う場合なんだよな。
そしたら画面BのJSPってなんかおかしいことにならない?
1のAFも表示したいけど、5のAFも送信したいわけ。
0817nobodyさん05/02/25 00:21:59ID:???
>815
>普通の外だしクラス
ってのはStringだけのAFのことよな?
Formについては理解してる。OKOK。

それで入力受けた後、エンティティに値を放り込むわけよな?
そこは自作のコピーユーティリティ?
0818nobodyさん05/02/25 00:23:38ID:???
>>816
だから、そういう画面だったら1Form だろ。
全然違う機能だったら、Action で別 Form を new するなり、
BeanUtils なり手動なりでコピーしれ。

・・・眠いから寝る。
0819nobodyさん05/02/25 00:27:58ID:???
>>816
外野からだが、とりあえず試してみてくれ。
んで結果を教えてくれ。
0820nobodyさん05/02/25 01:15:26ID:zGPxgdzB
>819
まぁ当然できるわけ無かった。
req.getAttirbuteは、当然そのリクエスト範囲でしか有効ではない。
前のActionのリクエストなんか見れるわけ無いからね。
sessionなら多分いけると思う。
が、sessionはできるだけ使わないようにせんとね。だから却下

>818
最後は俺がしつこいから少々面倒だったと思うが、勉強になった。ありがとう。
俺はやっぱりAFとエンティティの二つを作るのは嫌だからAF=エンティティなノリで行くわ。
0821nobodyさん05/02/25 03:52:21ID:bTaebwTj
規模が小さければ、まぁそれでもいいが・・・・
0822nobodyさん05/02/25 09:16:27ID:???
あ〜やっぱStruts自体、なんか使い辛い・・
0823nobodyさん05/02/25 12:37:03ID:???
というか、夢を持ちすぎなのかと。
項目数が変わる程度の固定フォームの入力結果を、Javaのオブジェクトにまとめてくれるだけのライブラリだよ。
ActionFormを表示で使いまわすのは、まぁ好きにやってくれと。
0824nobodyさん05/02/25 13:06:51ID:zGPxgdzB
>823
動的に項目数が変わる複雑っぽいフォームはやっぱり面倒かな?
082582005/02/25 22:46:08ID:???
俺はようやく気がついた。

ActionForm の属性が String なんてどうでも良い。
問題は ActionForm の中のネストした部分が、ActionFormであるかどうかだ!
エンティティそのまんま引っ付けたら reset, validate も呼べない(使えない)んだよな
つくづくあふぉだなぁと思った

すまんみんな。

つか、俺の作業報告書みたいになって巣マソ
0826nobodyさん05/02/25 22:53:26ID:???
ActionForm interface なんてねーのかよ?
0827nobodyさん05/02/25 23:01:01ID:???
> エンティティそのまんま引っ付けたら reset, validate も呼べない(使えない)んだよな
つかえるけど?
0828nobodyさん05/02/25 23:06:19ID:???
エンティティに対しての validate よ?
0829nobodyさん05/02/25 23:23:03ID:???
>>826
Struts in Actionに、「なぜActionFormはインターフェイスじゃないのか」みたいなこじつけとしか思えない理由が書いてあった。
0830nobodyさん05/02/25 23:28:41ID:???
>>828
ルール作れば?
0831nobodyさん05/02/26 00:58:37ID:???
ActionやActionFormがインターフェースでないのは
設計ミスとしか思えない
0832nobodyさん05/02/26 02:15:39ID:vpZ2inME
Validatorの話題が出てたのでちょっと聞きたい。

普通の ValidatorForm で JavaScript のチェックをかけることはできる。

ValidatorFormのListの中に入れたクラスに対して JavaScript でのチェックがかけれないんだけど、
これってどうしようもないんかなぁ?
0833nobodyさん05/02/26 02:33:09ID:???
>>832
自分でJavaScript関数を書くしかないけど、えらい面倒で俺は断念した
0834nobodyさん05/02/26 07:28:24ID:???
>>831
ActionFormにしなくてよくなったんじゃなかったけ?次のバージョンから?
0835nobodyさん05/02/26 10:57:05ID:???
>>834
次のバージョンってどれだ?
2.0のことを言っているのか?
0836nobodyさん05/02/26 12:08:18ID:???
わかんないけど、POJOでいけるようになるんじゃなかった?
0837nobodyさん05/03/08 22:37:02ID:???
しつもーん。

Strutsのライブラリをリンクした一般Javaアプリケーションでの話なんですが、
ModuleConfigインスタンスを、お手軽にstruts-config.xmlに戻す方法はないでつか?
逆(ファイル名を指定してModuleConfigインスタンスを取得)は、Digesterと
org.apache.struts.config.ConfigRuleSetを使えば、簡単に出来ました。

お手軽Struts-configエディタを作るのに、いちいちDOMとかSAXとかいぢるのは面倒かと思って。
0838nobodyさん05/03/09 20:24:27ID:???
<logic:iterate id="item" name="hoge" property="items">
<bean:write "ほげほげ"/>
<html:errors />
<html:text property="text"/>
</logic:iterate>

とやって、複数行テキストを入力させて、入力エラーになった行だけにエラーマーキングをしたいのですが。
<html:errors />を、<logic:equal>で囲ったり、試行錯誤していますが、いまいち巧いやり方が分かりません。
誰か良い知恵を授けてください。
0839nobodyさん05/03/10 21:09:13ID:???
>>838
まず items の要素を Bean にして、それに
エラー情報を持たせる。
0840nobodyさん05/03/14 02:17:45ID:J20fAtXM
サーブレット action が現在利用できません。。503ってエラー
がでるのですが、誰か教えてください。。。
お願いします。。
0841nobodyさん05/03/14 04:12:34ID:???
ログに何か出てないか?
それもだめならwork以下削除
0842nobodyさん05/03/14 05:17:10ID:???
>>840
struts-config.xmlの記述が間違っていて、ActionServletの初期化でコケている可能性大。
0843nobodyさん2005/03/21(月) 11:24:39ID:???
>>181さんと同じ現象なのですが。
>>186の対応をしても、同様の現象が治まりません。

struts-config-foo.xml(分割後)には、
<action path="/hoge" forward="/hoge.jsp" />
を記述。

違うところは、0サイズのインラインフレームを呼び出しているところだけです。
呼び出し元JSPは、
<iframe src="/hoge" 縦=0 横=0></iframe>

src="hoge.jsp"がダメなのは>>185さんの説明で理解できたのですが、
上記のように、action経由にしても、Cannot retrieve action mapping /hoge
と言われてしまいます。

呼び出し元JSP、呼び出し先JSPともに、foo/xxx.JSPにあります。

また、呼び出し先JSPにも、<html:form action="/hogehoge">を記述し
こちらは、JavaScriptよりsubmitを行っていますが、
こちらも同様に、Cannot retriece action mapping /hogehogeと
怒られてしまいます。

どなたか解決策のご教授を・・・
0844nobodyさん2005/03/26(土) 13:30:58ID:omE1qwtI
こんにちは。質問があります。
例えば掲示板などのWEBサイトで、レス表示ページと書き込みフォームページが一緒になっている場合(2chのスレッドなど)、
「1.jsp」と言うページから書き込みを行い、書き込み成功後の遷移先として同じurlのページ(「1.jsp」)を指定し、
書き込んだ内容が反映されている、と言うような動作をさせたいのですが、
書き込み後1.jspに遷移させてもキャッシュがロードされてしまい、ブラウザの更新ボタンを使用しないと反映されたページが表示されません。
これは、どのように対処すればよろしいのでしょうか。
誰か分かる方がいらっしゃいましたらご教授よろしくおねがいします。
0845nobodyさん2005/03/27(日) 14:38:42ID:???
>>844
キャッシュをオフにするとか?
0846nobodyさん2005/03/27(日) 20:11:57ID:???
response.setHeader("Cache-Control", "no-cache");
08478442005/03/28(月) 09:04:00ID:???
>845さん、>846さん
お礼が遅くなってしまい申し訳ありません。
上記方法で試してみたところ無事やりたいことが実現できました。
教えていただき、どうもありがとうございました。
0848nobodyさん2005/03/31(木) 17:34:26ID:???
>>847
つか、Strutsカンケーないじゃん



とか言ってみる
0849nobodyさん2005/03/31(木) 17:40:49ID:???
>>847
Struts的解決なら、struts-config.xmlに
<controller nocache="true" />
なのだが。
0850nobodyさん2005/04/02(土) 18:13:49ID:???
>>849
ほー、知らんかった、さんくす
0851nobodyさん2005/04/05(火) 21:08:04ID:4w6hgIMg
助けてください。
動的に数が変化するhtml:checkboxを使用しています。このcheckboxにvalue属性で初期値(文字列)を与えています。
String配列でgetter/setterを作成し、チェック状態のときその初期値を取り出すことはできたのですが、
reset()メソッドが思うようにききません。

ActionFormは以下のようになっています。
public class TestForm extends ActionForm {
  private String[] checkList = new String[128]
  public String getCheckList(int index) {return this.checkList[index];}
  public void setCheckList(int index, String str){this.checkListGroup[index] = str;}
  public void reset(ActionMapping map, HttpServletRequest req){
    for (int i = 0; i < this.checkList.length; i++){
      setCheckList(i,null);
    }
  }
}

checkbox部分JSPは以下のようになっています。
<logic:iterate id="id" name="ArrayListObject" scope="session" indexId="idx">
 <%-- id(ArrayListObjectの要素)はString型の値です --%>
 <html:checkbox property='<%="checkList[" + idx + "]"%>' value="<%=id%>"/>
</logic:iterate>

誰か分かる方がいらっしゃれば教えていただけないでしょうか。
0852nobodyさん2005/04/06(水) 21:47:06ID:XXaMulFt
すいません。Strutsのhtml:fileタグに初期値を与えたりってできないですか?
ファイル名を入力した後、別画面に飛んで、また戻ってくるときれいさっぱり消えてしまいます。
0853nobodyさん2005/04/06(水) 22:24:38ID:???
>>852
Strutsの問題ではなく、html的に<input type="file">に値をセットするのはムリ。
(巨大なセキュリティーホールになるため)
必ずユーザオペレーションでファイルを選択するか、ファイルパスをコピペするしか方法はなすぃ。
0854nobodyさん2005/04/06(水) 22:39:30ID:???
>>851
> ActionFormは以下のようになっています。
> public class TestForm extends ActionForm {
>   private String[] checkList = new String[128]
>   public String getCheckList(int index) {return this.checkList[index];}
↑public boolean getCheckList(int index) {return this.checkList[index].equals("true");}

>   public void setCheckList(int index, String str){this.checkListGroup[index] = str;}
↑public void setCheckList(int index, boolean bool) { this.checkList[index] = bool ? "true":"false";}

>   public void reset(ActionMapping map, HttpServletRequest req){
>     for (int i = 0; i < this.checkList.length; i++){
>       setCheckList(i,null);
↑は、setCheckList(i, "false");

>     }
>   }
> }
>
> checkbox部分JSPは以下のようになっています。
> <logic:iterate id="id" name="ArrayListObject" scope="session" indexId="idx">
>  <%-- id(ArrayListObjectの要素)はString型の値です --%>
>  <html:checkbox property='<%="checkList[" + idx + "]"%>' value="<%=id%>"/>
> </logic:iterate>
>

とすれば、value="true" or value="false"になっていいんでね?
0855nobodyさん2005/04/06(水) 22:46:26ID:???
>>852
それはいくらやっても無視される、って公式ドキュメントに書いてあるだろう?
0856nobodyさん2005/04/06(水) 22:54:44ID:???
>>854
あ。ごめ。
>       setCheckList(i,null);
↑は、setCheckList(i, false);

>     }
>   }
> }
>
> checkbox部分JSPは以下のようになっています。
> <logic:iterate id="id" name="ArrayListObject" scope="session" indexId="idx">
>  <%-- id(ArrayListObjectの要素)はString型の値です --%>
>  <html:checkbox property='<%="checkList[" + idx + "]"%>' value="<%=id%>"/>
↑<html:checkbox property="checkList" value="id"/>
ね。

これなら、Stringでなくbooleanの配列でもいいか・・・
敢えてStringにする理由があるなら、setter/getterはStringのままで。
08578512005/04/07(木) 08:15:09ID:???
>>854=856様
どうもありがとうございます!
取り掛かってみます!
0858nobodyさん2005/04/07(木) 17:12:28ID:???
>853さん>855さん
ありがとうございました。あきらめることにするです。
おれもココで答えられるようなオトナになるためにがんばるぞー!
0859nobodyさん2005/04/10(日) 00:20:23ID:???
うーん、最近の流れは勉強になるなぁ。
いつまでも独学は不安なので、自分の独学部分が正しいか
検証することも踏まえて、なんか本を買おうと思うのですが、
・これは読め
・これは糞だから読んじゃだめ
などありましたら、ご紹介いただけますか?
08608592005/04/10(日) 00:21:38ID:???
>>859 誤爆しました、ごめんなさい orz
0861nobodyさん2005/04/19(火) 13:44:10ID:???
すいません質問させてください。
<html:select property="targetId" size="6" multiple="1" >
って感じで作ったリストのOPTIONに、
SELECTEDを付けてあらかじめ選択しておくことはできたんですが、
選択した項目が下のほうにあった場合、選択はされているけど、
スクロールバーを動かさないと見えない、という状態になりました。

multipleをはずすと、ターゲットが見えるように移動してくれるのですが、
仕様的にmultipleを使わなければならないので、なんとかしたいです。

あらかじめ見えるように移動してくれるほうほうはないでしょうか?
0862nobodyさん2005/04/19(火) 21:50:22ID:???
Strutsじゃなけりゃ可能なの?
0863nobodyさん2005/04/22(金) 00:37:35ID:???
DBにアクセスするため struts-config に DATA_SOURCE の記述
をしています。
この状態で strutstestcase は使えるのでしょうか?
テスト流そうとすると struts-config ロードした時点でエラー
になってしまいます。
0864nobodyさん2005/04/22(金) 00:43:25ID:???
>>863
つうか、いまどきDBの管理をStrutsでやるな。
0865nobodyさん2005/04/22(金) 01:15:02ID:???
>>864
Struts では DB 使うなってこと??
0866nobodyさん2005/04/22(金) 01:17:22ID:???
>>865
自己レス。ひょっとして struts-config に書くのではなく、
*.java の中で自分で管理せよ、って意味かな。
具体的にはどうしたらいいんですか?

0867nobodyさん2005/04/22(金) 01:55:31ID:???
>>865
コンテナ管理のDataSourceをJNDI経由で取ってくるのが良い。
0868nobodyさん2005/04/22(金) 10:37:50ID:???
>>866
Tomcatにまかせる。
0869nobodyさん2005/04/22(金) 12:09:34ID:Rd3I4sA9
DB使わずにFileで管理
0870nobodyさん2005/04/22(金) 21:44:33ID:???
>>868
Tomcatとは限らんではないか。

>>869
こら。
0871nobodyさん2005/04/23(土) 00:58:19ID:???
>>870
実は開発は Tomcat ですが、完成すれば WebSphere
にのせることになります。なので、Tomcat 側で DB の
記述するのは、だめかなと思います。
0872nobodyさん2005/04/23(土) 01:42:24ID:???
>>871
DataSourceをJNDI経由で取ってくれば
アプリ側はコンテナ依存しないだろ?
0873nobodyさん2005/04/23(土) 01:59:54ID:???
>>871
じゃ、WebSphereにまかせる。
0874nobodyさん2005/04/23(土) 17:42:17ID:???
>>872
JNDI なるものを勉強します。
0875nobodyさん2005/04/27(水) 00:58:25ID:???
>>874
自己レス。JNDI で書き換え完了。
Tomcat の server.xml <context> に書くとこでミスった。
各webアプリの context に書かないとだめだった。
0876nobodyさん2005/04/27(水) 01:06:51ID:???
server.xmlにグローバルリソースを書いて、各WebアプリにはResourceLinkを書くのがウマー
0877nobodyさん2005/05/16(月) 14:44:33ID:???
もうダメだ・・・
sessionにBindされた情報、jsp記述、DBの処理、SQL記述べた書き、乱立するアクション、肥大化するマッピング、恐ろしい仕様、面倒見切れません・・・
誰か助けて  。゜(つд∩)゜。
0878nobodyさん2005/05/16(月) 17:17:43ID:???
だめな時には正直にだめだと上司に伝えるのもまた責任の果たし方の一つであーる。
ところでそれStrutsとどういう関係が?
0879nobodyさん2005/05/16(月) 23:35:44ID:???
>>878
Strutsで大量の画面フローを1つのコンテキストに収めるとそうなるといってんじゃないの?
まあ、>>877もあせってて、意味不明なカキコになってるような気もするが。
0880nobodyさん2005/05/26(木) 00:46:59ID:???
>>863
自己レス。やっと strutstestcase 動くようになりました。が、新たな
問題発生しました。setUserRole() ではひとつのロールしかセット
できません。実際は複数のロールに属しています。strutstestcase
のコードみたら、

public boolean isUserInRole(String s)
{  return s.equals(userRole); }
public void setUserRole(String role)
{ userRole = role; }

となっています。複数設定するにはどうすればよいのでしょうか。
0881nobodyさん2005/05/26(木) 06:41:04ID:???
>>880
StrutsTestCaseの該当コードを変える。オープンソースの常識です。
0882nobodyさん2005/05/26(木) 11:51:26ID:???
オープンソースの常識ではないと思うけど、テスト用のライブラリならあまり問題ないね。
0883nobodyさん 2005/05/27(金) 23:23:04ID:iwPrxZfg
intra-mart使えば?
0884nobodyさん2005/05/27(金) 23:45:43ID:???
なんで唐突に?
0885nobodyさん2005/05/28(土) 00:36:21ID:???
>>881
HttpServletRequestSimulator.java の isUserInRole() を

public boolean isUserInRole(String s)
{
if( userRole.indexOf(s) >=0 ){return true;}
else{return false; }
}
に変えて作った class ファイルに置き換えたら希望通りの
機能になりました。

ところで、こういうやり方じゃなくて メソッドオーバーライドで
テストケース内に直接書くことはできないのでしょうか。
0886nobodyさん2005/05/30(月) 22:26:27ID:???
JUnit とか strutstestcase でテスト流す時、デバッグって
できないのでしょうか。テスト失敗したとき、どこでこけたか
わからず苦労します。
0887nobodyさん2005/05/31(火) 20:42:37ID:???
Eclipseとかそういう開発ツール使えば可能。
0888nobodyさん2005/05/31(火) 23:52:09ID:???
>>887
Eclipse で使っているのですが、ブレークポイントセットしても
ストップしません。もう一度やってみますが、
>>887 さんは実際に経験あるのですか?
0889nobodyさん2005/06/01(水) 00:12:27ID:???
>>888
TomcatLauncherPluginなら、source path 設定してるか?
0890nobodyさん2005/06/01(水) 23:35:14ID:???
>>889
ごめん。ブラウザでアクセスしたらブレークするけど、普通にEclipse から
Run(実行) したらブレークポイントセットしていても止まらないんだね。
メニューからDebug選んだらちゃんと止まった。
0891nobodyさん2005/06/11(土) 02:12:21ID:OxaXLAky
Struts-Layout
http://struts.application-servers.com/

これ使ってる奴いる?
日本語環境でも問題なく便利に使えるのかな??
0892nobodyさん2005/06/11(土) 20:15:07ID:???
>>891
使ったことないなあ・・・。
もし使うなら報告きぼんぬ。
0893nobodyさん2005/06/12(日) 09:52:23ID:???
>>891
どんなものか簡単に教えて。

単にHTMLのフレームに対応したっていう感じのもの?
tilesとは何が違うの?
0894nobodyさん2005/06/12(日) 14:45:10ID:pQiMuddu
>>893
概要はここに載ってる。

http://hiki.ex-machina.jp/JSP/?Struts-Layout%A4%CE%B3%B5%CD%D7

なんか、検索してみるとJSFと同じような方向性のツールっぽいけど、どうなんだろ。
実際に使ってサンプルとか公開してる人いないかなぁ??
0895初歩的な質問で申し訳ありませんが。。。2005/06/13(月) 11:27:15ID:HDNGcZXO
ログイン画面→確認画面→完了画面と遷移させる画面をstrutsで作ろうとしてますが、うまくいきません。現象は以下。
【現象】:struts-config.xmlのscopeをsessionにすると、上記画面遷移がうまくいく。requestにするログイン画面→確認画面→ログイン画面と戻ってしまいNG。
です。ログイン画面→確認画面遷移時にパラメータAをpostしているのですが、requestにするとそのパラメータAが確認画面→完了画面遷移時にnullの為Actionクラスが呼ばれない様に見受けられるのです(ログ入れて調査)。
てか、そもそもActionServletがそんなパラメータの有無でstrutsのリクエストかどうか判断する処理なっているものなんでしょうか?
この辺の判断の処理がどうなってるかご存知の方、又は同じような経験をされた方、どなたかご教授下さい。よろしくお願いします。
0896nobodyさん2005/06/13(月) 22:02:14ID:???
とりあえずスコープの意味を理解しろ。

それから、お前のプログラムで、サーバとクライアント間でどのようにデータが流れるのか理解しろ。
0897nobodyさん2005/06/14(火) 01:20:55ID:???
>>894
あ、それ書いたの俺だ。
すげー適当に書いてほったらかしたまま。 心より恥じる。
ちなみに最近はStrutsやってないんで触ってませんが
地味にバージョンあがってるようですね。

JSFとか大層なモンじゃなくて、主にUIの強化です。
HTMLのUIパーツのヘボさを補うために、JavaScriptとか生成してくれます。
テーブルのページとか編集、ソート等、自分で書くと面倒だし、かといって
ちょうどいいタグライブラリが出回ってないような部分が充実してます。
テーブルとメニュー、レイアウトはかなり重宝しました。
0898nobodyさん2005/07/03(日) 00:02:00ID:g/N41TfH
半年かかってjava→jsp→servlet→ejb→opensourceを組み合わせてwebアプリができるようになったのに
会社で.netに移行する動きがちらほらする
JSFをとりあえず勉強したものがいいものか
0899nobodyさん2005/07/03(日) 05:53:20ID:???
>>898
別に.NETに移行してもいいんじゃない?

自分の中で、今までJavaで身に付けた技術や知識を腐らせないように、
多少でも勉強を続けておけば、.NETでもJavaでも提案できるようになるだろ?

俺も客先によって、.NETやJava、PHPと色々とやってきたおかげで
今では殆どのWebアプリの案件の開発が出来る。
0900nobodyさん2005/07/03(日) 07:06:54ID:???
浅く広くやりたいか、深くやりたいかだな。
0901nobodyさん2005/07/03(日) 10:32:53ID:???
Struts初心者なんですが初心者でもわかりやすいページってありますか?
http://mictan.gozaru.jp/struts/index.html
ここよりももうすこし説明が詳しい方がいいんですが。
atmarkitとかは難しくて。。。
0902nobodyさん2005/07/03(日) 20:31:29ID:???
そういうときは市販の入門書を買え。
0903nobodyさん2005/07/04(月) 18:37:20ID:XaCP499J
DynaActionFormで値をリセットするにはどうしたらいいの?
0904nobodyさん2005/07/04(月) 23:16:58ID:TU4JC3n9
reset()
0905nobodyさん2005/07/07(木) 11:45:37ID:LtmvbCkC
logic:redirectタグのURL本体部分に変数を使用したいのですが、
どうやれば良いのでしょうか?

<logic:redirect href="xxx"/> ←xxxの部分を動的に変えたい。
0906nobodyさん2005/07/07(木) 12:10:52ID:???
<logic:redirect href="<%= xxx %>"/>
09079032005/07/07(木) 18:38:08ID:b/mSczCX
>>904
というか、Actionからではなく、リクエストが上がってきたときに
DynaActionFormに値がセットされる前にしたいんだけど。
0908nobodyさん2005/07/07(木) 19:22:41ID:???
>>907
単純に初期値をセットしたいなら、initial属性で設定。
もうちょっとゴニョゴニョしたいのなら、DynaActionFormのサブクラスを
自作してreset()をオーバーライドするか、Dynaは使わない。

個人的感想:
そもそも、DynaActionFormなんてメリットよりデメリットの方がでかすぎで
使っても嬉しいことはあまりないと思う。
09099032005/07/07(木) 19:28:05ID:b/mSczCX
>>907
サンクス

ところで、あと、validation.xmlを使っていて
<field property="pass" depends="mask">
<arg0 key="prompt.pass"/>
<var>
<var-name>mask</var-name>
<var-value>[a-z0-9]{5,16}</var-value>
</var>
</field>
と設定すると、5文字まではチェックされるんだけど、それ以降は
チェックされず、英数字以外が入っていても17字あっても通って
しまうんだけど、何ででしょうか。バグですか、それとも。。
0910nobodyさん2005/07/07(木) 19:35:32ID:???
<var-value>[a-z0-9]{5,16}</var-value>
じゃなくて
<var-value>^[a-z0-9]{5,16}$</var-value>

としてみると、どう?
ドキュメントには、正規表現の指定は^と$で囲めと書いてあるよ。
09119032005/07/07(木) 22:58:23ID:44PhT5Xu
>>910
できました!!
ありがとうございます。気づきませんでした。
結構細かいところが重要になりますね。
0912nobodyさん2005/07/10(日) 00:17:52ID:???
DynaActionFormしか使ってないシステムの保守で苦しんでる俺がやってきましたよ。

これから新規で開発する人、頼むから普通のActionForm使ってくれ。
0913nobodyさん2005/07/10(日) 00:54:20ID:???
>>912
例えばどういうところが苦しい?
0914nobodyさん2005/07/10(日) 01:02:05ID:???
>>913
俺は>>912ではないが、こういった点がイヤだった。
・プロパティの型や名前が実行時解決である(コンパイル時にチェック不可能)
・set()にセットするオブジェクトが指定の型に変換できるかどうかも実行時解決である(コンパイル時にチェック不可能)
・Beanのネスト構造が使えない(プロパティは全部ベタで実装し、Actionクラスで適切なデータ構成に変換しなければならない)
レス数が900を超えています。1000を超えると表示できなくなるよ。