2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

△△もまいら漏れにStrutsの良さを教えてください

1 :デフォルトの名無しさん:03/03/19 08:42
Strutsマンセーな記事をよく見かけるようになったさっこん。
それでも、漏れにはStrutsの良さがよくわかりません。
めんどくさいだけじゃないかと。
普通にサーブレット&JSPでいいじゃないかと。

そこでもまいらにお願いです。
こんな漏れにStrutsの良さを語ってください。小一時間語ってください。
どんなときに使うとイイのか教えてください。
ストラトスって読んじゃだめな理由もついでに教えてください。

2 ::03/03/19 08:45
何て読むか教えれ

3 :デフォルトの名無しさん:03/03/19 08:51
すとらうすとらっぷ

4 :デフォルトの名無しさん:03/03/19 09:05
           _∧_∧
        / ̄ ( ・∀・)⌒\ ガッ!!
   __    /  _|     |   |
   ヽヽ   /  /  \    |   |           ,,,,,,,iiiiillllll!!!!!!!lllllliiiii,,,,,,,
    \\|  |____|   .|   |           .,llll゙゙゙゙゙        ゙゙゙゙゙lllll,
     \/  \       |   |           .|!!!!,,,,,,,,       ,,,,,,,,,!!!!|
     | ヽ_「\      |   |、         |  ゙゙゙゙!!!!llllliiiiiiiiiilllll!!!!゙゙゙゙ .| 
     |    \ \――、. |   | ヽ         .|     .゙゙゙゙゙゙゙゙゙゙     |
     |   / \ "-、,  `|  |  ヽ       |               |
  _/   /    "-, "' (_  ヽ  ヽ      .|               |
/    __ノ      "'m__`\ヽ_,,,, ヽ      |               |
`ー― ̄          ヽ、__`/ー_,,,, ゙゙゙゙!!!!!!!lllllllliii|               |
                    \゙゙゙゙゙゙゙!!!!!lllllllliiiii|               |
                      \   ヽ   |               |
                       ヽ   \  |               |
                        |     \.|               |
                        `ヽ、,,_ノ|               |
                              ゙゙!!!,,,,,,,,       ,,,,,,,,,!!!゙゙
                                   ゙゙゙゙!!!!llllliiiiiiiiiilllll!!!!゙゙゙゙
                                /.// ・l|∵ ヽ\  ←>>1




5 :デフォルトの名無しさん:03/03/19 09:10
なんつかw
JAVAに賭けてた人とかかわいそうだな


6 :デフォルトの名無しさん:03/03/19 09:38
つーかさ、Javaスレ立てすぎ。

7 :ほんものの1 ◆lqgT6FBSpw :03/03/19 09:56
ストラッツってどうよ?

8 :ほんものの1 ◆lqgT6FBSpw :03/03/19 09:59
>>5
Javaが理解できなかった人もかわいそうでつね。

9 :デフォルトの名無しさん:03/03/19 10:00
ストラッツって言語?

10 :デフォルトの名無しさん:03/03/19 10:00
strut (名詞) [=struts]
支柱
気どった歩きぶり
strut (動詞) [=strutting, strutted, struts]
(自動詞)
気どって歩く

11 :bloom:03/03/19 10:08
http://www.agemasukudasai.com/bloom/

12 :ほんものの1 ◆lqgT6FBSpw :03/03/19 10:16
>>9
Webアプリケーション用のフレームワークでつ。

13 :デフォルトの名無しさん:03/03/19 10:53
Strutsの良さ?
あるわけねーだろ。(w
ASP.NETに遠く及ばない糞フレームワークを持ち上げて、提灯記事も必死だな。(藁

14 :デフォルトの名無しさん:03/03/19 11:06
ASP.NET と比べてる辺り Struts が何か知らないだろ。
糞であることには変わりないが。

15 :デフォルトの名無しさん:03/03/19 11:19
Javaをやってる人は
専門出のDQNか
馬鹿なベンチャー屋
しかいません。
言語設計は(教育用としては)素晴らしいですが
実用には向きません。そういうことをちゃんと部下に教えないといけません
JSPがわかってもアパッチのインストすらできないようでは
明日の日本はありません

16 :デフォルトの名無しさん:03/03/19 11:32
>JSPがわかってもアパッチのインストすらできないようでは
プ

17 :デフォルトの名無しさん:03/03/19 12:06
>>1
じゃあ、ひとまず Java Server Faces (提供する機能は Struts とほとんど一緒)
を再評価してみてはどうか。

18 :デフォルトの名無しさん:03/03/19 12:06
>>15

> 実用には向きません。

いや、向きますけども。

19 :デフォルトの名無しさん:03/03/19 12:23
>>17
>Java Server Faces (提供する機能は Struts とほとんど一緒)

ただのASP.NETのパクリ。(プ

20 :デフォルトの名無しさん:03/03/19 12:34
>>18

教育用は実用に使えないという法則がどっかにあったような気がするけど
Javaはそうでもないと思う。

21 :デフォルトの名無しさん:03/03/19 12:39
>>20
ということにしたいのですね?

22 :デフォルトの名無しさん:03/03/19 12:42
みんないいように騙されてるねえ。(w
UNIXの巨大サーバー上で動かしてるからこそ、かろうじて運用に耐えてるだけなのに。(w
本当に使えるものなら、Windowsの中規模サーバーで大体は間に合うはずなのに。(w
それこそASPみたいにね。

23 :デフォルトの名無しさん:03/03/19 12:45
このジョークを地で行ってるのがJavaだね。(ゲラ

http://hp.vector.co.jp/authors/VA000092/jokes/strup.html

> 本当のところ、私はC++でDOSを書きました。 これが終わったら、
> デモ版をお渡ししましょう。 コンピュータルームのSparc 20で
> ずっと走らせています。4 CPUでロケットのように速く動きますし、
> たった70MBのディスクしか消費しません。

24 :デフォルトの名無しさん:03/03/19 12:47
>>22

> 本当に使えるものなら、Windowsの中規模サーバーで大体は間に合う

Windows でも Linux でも間に合ってますが?

25 :デフォルトの名無しさん:03/03/19 12:56
>>24
どうせ社内でしか使わないショボシステムだろ?(ゲラ

26 :デフォルトの名無しさん:03/03/19 13:21
アンチ Java の人ってみんな文体が同じだね。

27 :デフォルトの名無しさん:03/03/19 16:39
>>26
中の人が全員おんなじなんじゃない?

28 :デフォルトの名無しさん:03/03/19 17:33
>>27
ゲラとか嘲笑激藁とかプとか大爆笑とか書いてる奴だろ
タイミングよく不自然に連続投稿しているところがあいつらしい。

29 :デフォルトの名無しさん:03/03/19 17:36
>>27-28
>>15がアフォなだけ

30 :デフォルトの名無しさん:03/03/19 17:37
>>6
そうでもないやん。

まあいいんじゃね?
WebProg板はPHPスレでほとんどうまってるし。

Javaという言語がそれだけ幅広い分野で使われてるってことなんだから
一口にJavaといってもさまざまな分野があり一つのスレだけでは語りきれないんだし。

ところで >>6 はJavaの代わりにどんなスレをたてて欲しいんだい?

31 :デフォルトの名無しさん:03/03/19 17:51
>>30
新言語 さくらたんヽ(´ー`)ノ

32 :デフォルトの名無しさん:03/03/19 18:26
今はstrutsよりJavaServerFacesやTurbineに魅力を感じるぞ。

strutsは便利だけどBean追加のたびにstruts-config.xmlファイルの書き換えが面倒。


>>19
ASP.NETもstrutsやJSPカスタムタグのパクリでもあるのだが(w
そしてC#もJavaのパクリ。

33 :ほんものの1 ◆lqgT6FBSpw :03/03/19 19:17
>>17
Java Server Facesって、HTMLフォームをそれぞれカスタムタグにしただけだと思ってた。
画面遷移の管理もあり?

34 :デフォルトの名無しさん:03/03/19 22:45
すとらっつ
設計が簡素化できるし、作りが単純なので展開しやすいので、割と好きです
Turbineは一度使ってみたいけど、情報がとぼしいので触ってないです^^;


35 :ほんものの1 ◆lqgT6FBSpw :03/03/20 03:27
>>34
>設計が簡素化できるし

ここがすごく疑問なんですよね。
ちょっと詳しく教えてもらえませんか?

36 :デフォルトの名無しさん:03/03/20 08:07
>>32はWeb+DB Press vol13を読んで感化されている予感

37 :デフォルトの名無しさん:03/03/20 08:11
>>36
お前だろ
あげんな、
誰もんな糞雑誌読んでねーよ


38 :デフォルトの名無しさん:03/03/20 08:33
表紙がなぁ。。。萎

39 :32:03/03/20 13:36
>>36
いや、"Jakarta"を鵜呑みにしただけでした(w
なかなかおもろい雑誌だったや

40 :デフォルトの名無しさん:03/03/20 14:53
Javaに不満ある香具師が多いのは分かるよ。何かと冗長なんだよな。シンプルなウェブシステム作りたい場合は特に。

サッと作りたい場合はRubyってことになるかな。CGIKitとかWEBrickとかウェブフレームワークも充実していて作りやすい。

41 :デフォルトの名無しさん:03/03/20 16:35
Rubyのフレームワークってどんなの?
Strutsに対応するものってあるの?

42 :デフォルトの名無しさん:03/03/20 22:00
>>41

http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=Web%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF



最大の難点は開発環境が無いことだな。悲しい現実を言うならば、ツールが無いからJavaより面倒ってこともあるよ。

43 :34:03/03/20 23:15
>>35
詳細設計から実装へ、比較的機械的に落とせます

・画面遷移図作成→struts-configに変換
・画面入出力項目→ActionFormに変換
・画面処理    →Actionに変換

この辺決めるのに設計的な判断がいらないです。
これらをコードに埋め込まざるを得ない、べたサーブレットよりはマシです。

とはいえTaglib覚えたりStruts-Config覚えたり色々敷居は高いですが・・・


44 :ほんものの1 ◆lqgT6FBSpw :03/03/20 23:50
> 詳細設計から実装へ、比較的機械的に落とせます

あぁ、そういうことですね。

StrutsのTaglibは、ほんとに価値が感じられないので、使う気はないです。
どうなんでしょう。。。

45 :ほんものの1 ◆lqgT6FBSpw :03/03/20 23:52
>>42
よく見てないけど、思ったのは、Rubyって(使えるとか使えないとかは置いといて)楽しそうですね。

46 :デフォルトの名無しさん:03/03/21 00:35
>>44

Taglib使わなかったら、Strutsを使う意味もないでしょ。

47 :ほんものの1 ◆lqgT6FBSpw :03/03/21 00:44
>>46
そうなの?
あのTaglibって、なんかいいとこあるの?

48 :デフォルトの名無しさん:03/03/21 01:08
>>47

全部使ったわけではないけど、html、logic、beanは使えたよ。
特に、htmlは使った方がよい。

49 :ほんものの1 ◆lqgT6FBSpw :03/03/21 01:18
>>48
そうかなぁ。。。
変なタグ使っても、デザイナがわからなくなるし。
リンクのタグはStrutsのしくみ使う上で必要だろうけど。

フォームのタグは、同じようなものをもってない人には便利なんだろうけど。
みんなそれなりに作ってるんじゃないの?自分なりに便利なの。

logic/beanって何があるの?

50 :48:03/03/21 01:40
>>49

Formタグと同等の機能を自分で作成したとして、それを使うのに
どれだけの労力を必要とするかだね。

それだけの労力を使って作成したものを新しく入ってきた人に教
える必要があるとしたら、ドキュメントのそろっているStrutsと
の差は歴然としていると思うよ。

今、うちでは日本語があまり出来ない韓国人がいるけど、Struts
は韓国語のページがあるから、説明もほとんど必要ない。

logicですが、iteratorなんかは便利でしたよ。
equalなどはだめですが。

51 :ほんものの1 ◆lqgT6FBSpw :03/03/21 01:58
>>50
> Formタグと同等の機能を自分で作成したとして、それを使うのに
> どれだけの労力を必要とするかだね。

実際には、同等ではなく、自分達が作るものに適した機能をもってるんだけどね。
だから、ドキュメントが相対的に貧弱であっても、やろうとすることに似たものがたくさんあれば、あまり問題にはならない。
結局Strutsのタグ使っても、その差の部分は自作する必要があるわけだし。
その自作のやり方を教える方が労力がかかると思われる。

でもドキュメントは同意。
日本語のドキュメントなら問題ないし、英語でもそこまで問題ではないけど、他の言語は無理だね。
使いつづけてるうちはいいけど、

iteratorって、JSTLのforeachよりも便利?
つうか、カスタムタグはJSTLにとりあえず一本化してほしい。あ、だからJSFか。

52 :デフォルトの名無しさん:03/03/21 02:28
getter/setterを作るのが面倒い

53 :デフォルトの名無しさん:03/03/21 04:30
つくったばっかでださいけどよろ
http://www.h4.dion.ne.jp/~pc-pow/

54 :デフォルトの名無しさん:03/03/21 10:01
Struts解説

Struts ファンページ in Japan
http://homepage2.nifty.com/ymagic/struts/realindex.html

55 :デフォルトの名無しさん:03/03/21 10:12
糞だろうが何だろうがさっさとオプソ化したものがデファクトスタンダード
取るという実例だな。

56 :デフォルトの名無しさん:03/03/21 10:38
>>53
どこにstrutsが使われているのかJSPが使われてるのかServletがつかわれてるのか
わからん。

57 :デフォルトの名無しさん:03/03/21 10:39

パンツアニメ?



58 :デフォルトの名無しさん:03/03/22 00:34
>>56
サイトの宣伝は放置しろよ。

59 : :03/03/22 01:49
StrutsのTaglibって少しショボイ。痒いところに手が届かない。
だからJSTLや自作のTaglibと併用してる。

60 :ほんものの1 ◆lqgT6FBSpw :03/03/22 02:20
ようするに、Strutsいいよぉ、っていってるのは、Taglib含めてのことなのですね?
画面遷移管理だけじゃなく。

61 :デフォルトの名無しさん:03/03/22 08:33
仕様を覚えなくてはならないというデメリットがあります。

62 :デフォルトの名無しさん:03/03/22 08:42


























63 :デフォルトの名無しさん:03/03/22 10:34
>>61

その覚えた後の(ウェブプログラミングの設計についての)学習効果を加味するとどうですか?

64 :デフォルトの名無しさん:03/03/22 12:32
>>61,63
Strutsじゃなくてフレームワーク全般に言えることだね。
覚えるための手間がかかるが、覚えた後の効果が高い。

65 :名無しさん@Linuxザウルス:03/03/22 13:36
で、苦労して覚えた後に「たかだかこの程度かよ!」という屈辱感を
味わうな。詐欺に気付いたような感覚が。

ここで2種類の人間に分かれるな。全てを捨てて糞と言い切れる
奴と、騙されたのを認めたくないのか無理なマンセーに走る奴と。

66 :デフォルトの名無しさん:03/03/22 13:48
>>65
その2種類は覚えるのに苦労した低脳な人間に限定される話。
覚えるのにそれほど苦労しない人間なら「この程度かよ」でも
それほど悔しくないし、使える範囲で適当に使える。

67 :デフォルトの名無しさん:03/03/22 23:25
仕事でやってるやつはすべて1から作るより
信頼性も開発スピードもUPするから使ったほうがいいに決まってる
個人でやってるやつはどっちでも好きにすれよ

68 :デフォルトの名無しさん:03/03/23 07:59
フォームをまったく使わないページだと
普通に作るのとたいしてかわらない。

69 :ほんものの1 ◆lqgT6FBSpw :03/03/23 09:09
>>68
やっぱりTaglib使わないとStruts使う意味ないのかな。

70 :デフォルトの名無しさん:03/03/23 11:25
Java Server FacesがJCP(Java Community Process)で標準化されれば
strutsの立場も危うい

71 :ほんものの1 ◆lqgT6FBSpw :03/03/23 12:12
WEBDBPRESS13読んだだけではよくわからなかったんだけど、JSFには画面遷移管理も含まれるのかな。

72 :デフォルトの名無しさん:03/03/26 03:00
struts1.1b1に対応した解説書でるぞい。
今日amazonで発見。早速メーカーにメール。
どうも1.1b3でも動作確認はしているらしい。
半年ほど前に1.1b2で開発したときは英語しかドキュメントなかったなー。
これでstruts使える香具師増えるかも。

73 :デフォルトの名無しさん:03/03/26 03:18
>>67
似たようなものを自作するより、安くて速くて(多分)安全だから使う
だけだよね。

日本では、二番煎じではるかに糞なフレームワークが量産されてますよ。
人が造ったの見ると、作るの簡単そうに見えるのね。
でも、サーバーサイド開発の留意事項の全てを知って作ってるわけじゃ
なくて、マヌケなミスが混じって使い物にならなくなる、というのが
王道的パターン。

74 :デフォルトの名無しさん:03/03/26 18:15
>>70-71
JSFなかなかよさげですね。
.NETの猿真似と言われようと、やはりこういうのはニーズが多いだろうからね。

75 :デフォルトの名無しさん:03/03/26 18:24
つーか、サーブレット API 自体が CGI に毛の生えた程度だったから
こうもフレームワークが乱立する状況が生まれたわけだ。

76 :デフォルトの名無しさん:03/03/26 18:27
>>74
いや、ASP.NETがJSPカスタムタグライブラリの猿真似なんだよ

77 :デフォルトの名無しさん:03/03/26 18:27
>>75
結構毛深いな、おい。

78 :74:03/03/26 18:33
>>76
ありがトン。そうなのか、じゃあ俺はMacがWinをパクったんだとか
ロードオブザリングがハリポタをパクったんだとかいうのと
同じのを信じてたわけかな。(鬱駄

79 :ネニグレクト・ラーファ:03/03/26 20:56
ttp://www.geocities.jp/fieldabout/
世界の仕組み研究所!!

おまいらみたいな無知君はおいらのページでも見て1から勉強しろでつ。
リンクフリーだけど直リンすんなよゴルァ。
おいらに勝てるヤシはかかってこんかい。

80 :デフォルトの名無しさん:03/03/26 22:28
>>79
所詮、HSPはstrutsほどには及ばない。

81 :デフォルトの名無しさん:03/03/26 23:56
>>76
>いや、ASP.NETがJSPカスタムタグライブラリの猿真似なんだよ
これを主張するのならば、JSPはASPの猿真似でしかなくなってしまうよ。
(つうか、タグライブラリを待つまでもなく、perlで事前コンバート(タグ
 拡張など)後に自動配置くらい、ずっと前から誰でもしてることだろ?)

82 :デフォルトの名無しさん:03/03/27 00:56
>>81
名前を付けて標準化することの価値がわかってないやつはプログラマ失格

83 :デフォルトの名無しさん:03/03/27 01:00
>>82
はげ道。
デザインパターンなんかそうだよね

84 :デフォルトの名無しさん:03/03/27 01:03
デザパタ読んで、名前を標準化する以外の意味がないと思えれば、上級者といえるだろう。

85 :デフォルトの名無しさん:03/03/27 01:07
カスタムタグライブラリの仕掛け自体は用意されたけど、「名前を付けて標準化」を
されたのってそれほど前ではなかったですよね。
ASP.NET発表のどれくらい前の話なんです?

86 :デフォルトの名無しさん:03/03/27 01:10
>>84
おみそれしやした

87 :デフォルトの名無しさん:03/03/27 01:11
.NETとJ2EEのように、おなじ時期の同じ枠組みの中の同じターゲットの技術について、どっちが先とか後とか言ってても、不毛だとおもふ。

88 :デフォルトの名無しさん:03/03/27 01:14
>>84
この板でも
「デザパタに書いてあるパターンなんか、俺なんてずっと前から使ってたし、デザパタだせぇ」
みたいな勘違い君の書き込み、よく見かけるね。

89 :88:03/03/27 01:16
「デザパタに書いてあるパターンなんか、俺なんてずっと前から使ってたけど、そのパターンをまとめて名前付けたら便利なんて考えても見なかった。
ガンマタンはネ申」
と思うのが上級者ということですね。

90 :デフォルトの名無しさん:03/03/27 01:20
>>87
結局、#76がJava厨の妄想で、#81がAPS厨(?)の妄想ってこと?

91 :1 ◆lqgT6FBSpw :03/03/27 01:28
シーソーにのってれば、どの時点をとっても、その時点かその直前で自分が上にいたと言える。

Java相談スレが1000逝って次スレがなくかったら、こういう話題がこのスレで繰り広げられるってことは、Java相談スレは隔離スレとして機能してたということになりますね。

92 :デフォルトの名無しさん:03/03/27 02:15
この前のプロジェクトでは開発初期はStrutsだったんだけど
だんだん置き換えてほとんど普通のServlet/JSPになってしまった。
ちょっとJavascriptとかつかって離れ業をやるインタフェースが
多かったのでTaglibとか使いづらくてしょうがなかった。

でも、簡単にデモンストレーションとか作るんだったら、悪くないなー
そのあとのことはしらないけど


93 :デフォルトの名無しさん:03/03/27 02:17
>>92
離れ業JavaScriptをカスタムタグライブラリにすべきだったかと。

94 :93:03/03/27 02:18
Webで探すと、そういうことやって売ったり配ったりしている奴が
いるよ。外人だけど。

95 :デフォルトの名無しさん:03/03/27 02:31
>>94
ガイジンっていうと、アメリカ人かヨーロッパ人・ロシア人のことを指して、韓国人とかイラク人とかは入らない罠?

96 :デフォルトの名無しさん:03/03/27 08:20
フォームのないページでStrutsを使う意味ってある?

97 :デフォルトの名無しさん:03/03/27 20:31
まあ、
使ったこと無いやつは一回使って
理解してからもう一度自分にその質問を問い掛けてくれ
っていうか、フレームワーク自体に
手を出すのが億劫なんだろ?

>>67>>73のように、理由はちゃんとある
ついてこないやつは別にお好きにどうぞ


98 :デフォルトの名無しさん:03/03/27 22:16
>>97
そのフレームワークが一体何を楽にしてくれるのかを理解するまでは、
単なる作業だからな。見返りの保障ナシに、理解に工数突っ込むのは
それはそれで問題かも。

99 :デフォルトの名無しさん:03/03/27 23:52
>>98
まあ、物事にたいして「知りたい」という好奇心旺盛な気持ちを持たないやつのほうが、プログラマとして問題だ

100 :デフォルトの名無しさん:03/03/28 00:50
フレームワークが提供してくれるものに疑問をもったときに、「無駄かもしれない」と思いながらやるのは蛮勇。

101 :デフォルトの名無しさん:03/03/28 01:00
>99
理想論としては然り、だけどこれだけ各種技術が溢れると好奇心の赴くままに
全部を吸収するなんて出来ない。

当然どこかで取捨選択が必要なわけで、そうなれば「何がいいの?」って
概要くらいは聞きたくもなる。

もっともWebプログラマならStrutsの勉強くらいしとけとは思う。日本語の
記事だって半年くらい前から見かけるじゃないか。


102 :デフォルトの名無しさん:03/03/28 09:00
まぁ、藻マエらは、オライリーの
Programming Jakarta Strutsを買えってこった!

103 :デフォルトの名無しさん:03/03/28 10:08
>>102
邦訳あり?

104 :デフォルトの名無しさん:03/03/28 11:44
>>72
書名と著者および出版社が知りたい。



105 :デフォルトの名無しさん:03/03/28 23:40
JSPでのフォームの代わりに、Appletを使うことは可能ですか??

106 :デフォルトの名無しさん:03/03/28 23:48
>>105
Applet使うなら、JSP使う必要ないじゃん。
HttpConnection使って直接HttpServletと通信しろ。

107 :デフォルトの名無しさん:03/03/28 23:54
>>104 コピペして検索汁。因みに邦訳は4/16発売予定

108 :デフォルトの名無しさん:03/03/29 03:32
パフォーマンスにうるさい案件でつかえるだろか?
この手の話題はみたことがない。

まぁ、フレームワークなんて使うなといわれそうだけど。

109 :デフォルトの名無しさん:03/03/29 06:51
>>108
Strutsがボトルネックになることは少なそうだが。

110 :107:03/03/29 13:33
ごめん。マスタリング〜と間違えた。プログラミング〜は邦訳は出ないのかね。
http://www.amazon.co.jp/exec/obidos/ASIN/0596003285
http://www.amazon.co.jp/exec/obidos/ASIN/B000086ZSW
http://www.amazon.co.jp/exec/obidos/ASIN/4798103667
まあ、原書買っちゃってるから出るとかえって悩ましい

111 :デフォルトの名無しさん:03/03/29 13:51
>>106
>Applet使うなら、JSP使う必要ないじゃん。
んなこたぁない。
Applet専用のJSPタグがあるやろ
<jsp:plugin>と<jsp:param>だったと思ったが。

112 :デフォルトの名無しさん:03/03/29 14:52
>>111
まぁ、>>105の質問が見当外れなわけだが。

113 :デフォルトの名無しさん:03/03/29 18:59
>>111
それは、単にJSPの出力であるHTMLにAppletを呼び出すタグを埋め込めるとか
そういうことでしょ。

プロセス実体がどこで何をやるかの切り分けが分かってないな、お前。

114 :デフォルトの名無しさん:03/03/29 23:49
>>113
そううことは>>106に言え
>>106の質問が曖昧すぎなんだよ。
しかも>>106はプロセスのことを言い出したかお前


115 :デフォルトの名無しさん:03/03/29 23:49
>>114
 >>106ではなく>>105

116 :1 ◆lqgT6FBSpw :03/03/30 02:04
StrutsのlogicタグはJSTLに、beanタグはELになって用無し、ということでいいでつか?
htmlタグはJSF次第?

117 :デフォルトの名無しさん:03/03/30 10:22
setterやgetter作るのめんどくさい。

118 :デフォルトの名無しさん:03/03/30 10:28
setter やら getter やら自動生成するマクロ作るとか、
自動生成してくれる機能が付いたIDE使えば?

119 :デフォルトの名無しさん:03/03/30 11:01
今時データしまっとくだけのBeanを手書きしてる人はかわいそうデツネ。

120 :デフォルトの名無しさん:03/03/30 11:21
>>119
JSTL使う前提で、Mapで代用してますがなにか?

データしまっとくBeanならまだいいんだけど、Servlet->JSPにわたすだけにBeanを作るのはどんなツール使ってもめんどくさい。

121 :デフォルトの名無しさん:03/03/30 11:30
>>117
IDE使うか、エディタのマクロ機能使うか、1.1でDynaActionForm使うか。

122 :デフォルトの名無しさん:03/03/30 12:47
>>117
Caminoを買え

123 :デフォルトの名無しさん:03/03/30 13:24
DynaActionFormってただのMapでしょ?
バグ増えそう

124 :デフォルトの名無しさん:03/03/30 14:39
おいおまえら、オープンソースってものが
どれだけ多くの人にテストされてると思ってんだ?
これほど信頼できるものは無いぞ

125 :デフォルトの名無しさん:03/03/30 14:45
>>124
オープンソース一般はあてはまらないよ。
Jakartaのプロダクトでもマイナーなものはしょうもないバグあるし。

さらに話題読み違えてるし。
×バグ多そう
○バグ増えそう

ex.Perlにどんなにバグがなくても、Perlで作ったスクリプトはバグがJavaのプログラムに比べて多い。

126 :デフォルトの名無しさん:03/03/30 14:45
>>123
バグって、アプリケーションのバグのことだよね?
たしかにDynaActionForm使うとプロパティ名間違えても実行時までわからないとか
IDE使ってもgetter/setterのメソッド名の自動補完機能が使えないとか
不便なこともある。

127 :デフォルトの名無しさん:03/03/30 15:37
オープンソースは開発に費用をかけられないデメリットがあるからな。

128 :デフォルトの名無しさん:03/03/30 18:59
>>117
まさかテキストエディタでコーディングしてないよな?
Eclipse使え。

129 :117:03/03/30 19:31
結構釣れたな…

130 :デフォルトの名無しさん:03/03/30 20:23
釣り日和でつ。
                       ,
                      ,/ヽ
                     ,/   ヽ
            ∧_∧  ,/      ヽ
           ( ´∀`),/          ヽ
           (  つつ@            ヽ
        __  | | |                ヽ
      |――| (__)_)                ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|                ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜

131 :デフォルトの名無しさん:03/03/30 20:40
おまいら、Strutsなんてつまんないもの使ってないで、
WebObjectsでも使えよ。

132 :デフォルトの名無しさん:03/03/30 20:44
おまいら、いい加減JSPから卒業しろよ。


133 :やすだけい:03/03/30 20:54
>>132
卒業=解雇でつか?

134 :デフォルトの名無しさん:03/03/30 21:43
>>110
うわっ。邦訳されるのはよりによってManingのMastering Jakarta Strutsなのか。
類書の中では一・二を争う糞だと思うのだが。
『Struts&タグライブラリ』なんてのとか、邦訳はダメなものから順番か?



135 :デフォルトの名無しさん:03/03/30 22:23
いま、サーバーサイドでこれから伸びそうなのって
どんなのあるんですか?
EponicsFastがよさそうなんですが・・・

136 :123:03/03/30 22:25
>>124
そうくるとはおもわなかたYo!

>>126
そうです。
実際つかってみたらどうなんだろう、とおもってましたがやっぱそうですか。
RAD向きという印象・・・


137 :デフォルトの名無しさん:03/03/30 23:07
>>136
あんたの会社の大してできがよいわけでもない連中が作って、そいつらが
自分の都合でテストしただけの怪しいフレームワークよりは、よく使用さ
れているオブソの方が信用できるさ。

138 :デフォルトの名無しさん:03/03/30 23:17
>135
なんか訊き方がニャガオっぽい

139 :123:03/03/30 23:18
>>137
流れ嫁Yo!
ちなみに137(=124?)の意見には完全同意です

140 :123:03/03/30 23:35
あーなんか俺が流れ読めてなかった
逝ってきます・・・

141 :デフォルトの名無しさん:03/03/31 01:55
>>140
>>137の方が流れが違う気がするのだが。
少なくとも>>137>>136は話題の層が違う。

142 :デフォルトの名無しさん:03/04/04 00:50
フォーム作るたびにわざわざフォームクラスを定義するのはアフォだと思う。
キーと値しかないんだから HashMap で十分だ。

143 :デフォルトの名無しさん:03/04/04 05:27
今初めてStrutsを使ってサンプル作ってみたんだけど、どうなんだろ?
なんていうか『楽な気がする』って感じかなぁ?
でも我ながらみんなが『Struts便利!』って言ってるからそう感じるのかなって
気がする。。具体的にはどう便利なんだろ?
・taglibが便利?(使い慣れてないから分からないが iterate 等のいかにも
便利そうなものは既に自作してあるからなぁ)

・画面遷移がxmlファイルで指定できる(これはいいかも)

・フォームの受け取りが楽?

でも何も考えずに作ってもMVC(っぽい感じ)になるのは楽かもなぁ。
…ってか何度やってもActionFormのvalidateに処理がいかない。。

質問なんですけど、Strutsで開発すると検索などで使う単純なフォーム
(googleのトップにあるようなやつ)でもActionForm作るんですか?


144 :143:03/04/04 05:29
なんか支離滅裂だぁ、スマソ
眠くて。。

145 :デフォルトの名無しさん:03/04/04 09:01
>既に自作してあるからなぁ
スタンダードである、多くの技術者に認知されているということの
重要性をわかっていない香具師がまた一人。

146 :1 ◆lqgT6FBSpw :03/04/04 12:38
>>143
>質問なんですけど、Strutsで開発すると検索などで使う単純なフォーム
>(googleのトップにあるようなやつ)でもActionForm作るんですか?

漏れも知りたい

iterateなんかのlogic系はJSTLがあるから要らない。。。

147 :デフォルトの名無しさん:03/04/04 12:47
classとどう違うの?

148 :デフォルトの名無しさん:03/04/04 13:08
>>146
> >>143
> >質問なんですけど、Strutsで開発すると検索などで使う単純なフォーム
> >(googleのトップにあるようなやつ)でもActionForm作るんですか?
>
> 漏れも知りたい

そうだよ。

ただ、ウィザード形式の入力画面や、入力→表示といったページはひとつのActionFormで
つくれるから、すべてのFormにたいしてひとつづつ作らないといけないというわけではない。

149 :デフォルトの名無しさん:03/04/04 13:47
>>148
俺はJSPで<html:form> タグがある場合はActionFormは
必須ってことだと認識してる。
もしActionFormを定義してなかったらエラーになると思う。
 逆に、表示だけ(bean:write)のみとかだと
formタグはいらないからActionFormもいらないはず。
<path="/hoge" type="HogeAction">でOK。

>>143
struts-config.xmlでvalidate="true"になってる?
一番怪しいのはconfigファイルだな。

150 :デフォルトの名無しさん:03/04/04 14:07
DynaActionFormに配列を持たせたい場合はどうやって定義すればいいんですか?
iterateタグで表示して、さらにそこから入力させたいのですが。

151 :デフォルトの名無しさん:03/04/04 16:43
>>40
設計ガ助長なんですヨp

152 :デフォルトの名無しさん:03/04/04 16:55
>>40
Rubyっていい?

153 :143:03/04/04 18:17
>>146,148,149
レスありがとです。
ちなみにvalidate="true"は書いてありましたが、inputが無いのが駄目な
原因でした。(無知って恐いです)

このvalidateって機能は便利ですね、なんとなく。

う〜ん、勉強してみれば結構面白そうだな。。>>struts

154 :デフォルトの名無しさん:03/04/04 18:30
>ちなみにvalidate="true"は書いてありましたが、inputが無いのが駄目な
>原因でした。(無知って恐いです)

あれ、validate="true"の場合は必須なんで、ブラウザにエラーがでるはずだけど
validatorを使わずにvalidateメソッドを使う場合にはそうでもないのかしらん?


155 :143:03/04/04 20:14
>>154
いや、エラー出てたんですけど、何すれStrutsダウンロードして
から40分ぐらいで作った処女作だったのでどんな属性が有るのかも
分からなかったので…。

その後dtdファイルを読んでみたら分かりました。

そういえば
http://www.ingrid.org/jajakarta/struts/struts1.0/ja/target/documentation/userGuide/building_view.html#form_beans
の下の方にあるファイルのアップロードの解説のJSPは閉じタグが全然ついてないのは一瞬戸惑った。

156 :143:03/04/08 20:37
struts1.0.2を使っているのですがエラー時に表示するプロパティファイルって
web.xmlで指定したもの(デフォルトではApplicationResource.property)しか
使えないんですか?

struts-config_1_0.dtdではないけどstruts-config_1_1.dtdでは
message-resourcesタグが使用できますよね。これに代わる機能は
なにかあるのでしょうか?

157 :山崎渉:03/04/17 15:43
(^^)

158 : :03/04/19 15:52
ストラッツまんせー

159 :デフォルトの名無しさん:03/04/19 19:45
WASversion5でSTRUTSがビジュアルに開発できる
んですがいいですか


160 :デフォルトの名無しさん:03/04/19 19:57
eclipse(Tomcatプラグイン&EasyStrutsプラグイン)とStrutsでやってるけど、かなり(・∀・)イイね

161 :デフォルトの名無しさん:03/04/19 20:23
strutsまんせーなおまいらに質問。

複数ラインがあるフォームの処理って、strutsではどうするの?
(エクセルのようなテーブル形式の入力フォーム)


162 : :03/04/19 20:56
MVC理論上のコントロールに相当する画面遷移を外だしにすることに
よって設計、および分業がすっきりするという。

一方、現実問題、JSP系システムは画面単位でサーバーとやり取りを
しなければならず、VB的な小さなサーバとのデータのやり取りを
する場合、単純な画面遷移から離脱した、細かいURLのやり取り
をするやり方を使う買うケースは少なくない。

そんなとき、STRUTSの画面遷移における「縛り」は開発的には
邪魔になってしまう。

また、ロジックと画面遷移を外出しにすることによる、ロジックの
つながりの不透明にし、開発側にとって弊害になることも少なくない。
MVCが必ずしも、生産性や機能性において、WEB開発手法における
絶対地位をまだ確立していないことを示す。

TALIBSに関しても、同様に、JSP上のサーバー処理部とクライアント
処理部の直感的区別を妨げ、読みにくくなり、デバッグも困難にさせて
いる部分も少なくない。

163 :デフォルトの名無しさん:03/04/19 22:18
JSPがいやな香具師はVelocityなんて(・∀・)イイかもねー。
There is more than one way to do it!ってこった。

164 :デフォルトの名無しさん:03/04/20 01:17
>>161
そこらへんについては
Strutsをダウンロードして、struts-exercise-taglib.war
を参考にすると良いよ。簡単にできる。

165 :デフォルトの名無しさん:03/04/20 02:02
ここらへんにも書いてあった。
http://seminars.jguru.com/faq/view.jsp?EID=710844

166 :デフォルトの名無しさん:03/04/20 02:32
>164,165
1.0.xはこの辺バグだらけだから苦労するんだよな。
1.1早く正式版にならんかな。

167 :山崎渉:03/04/20 03:35
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

168 :161:03/04/20 14:55
>>164,165,166
ありがとさん。
バグあんのかよ。。
いろいろ調べなきゃいけないんじゃ、あんま意味ねーな。
この程度の作りは自分で作ってもそう時間がかかるもんじゃないし。

strutsだめぽ。に1票。

169 :デフォルトの名無しさん:03/04/20 20:52
on the form bean:
public QuoteFormLineItem[] getLineItems() {...}
public QuoteFormLineItem getLineItem(int index) {...}

on a the line item: int getQuantity() and setQuantity(int q)

on the jsp:

<logic:iterate id="lineItem" property="lineItems" name="quoteFormBean">
<tr>
<td>
<html:text name="lineItem" property="quantity" indexed="true"/>
</td>
<td>other stuff...</td>
</tr>
</logic:iterate>
Struts1.0.2ではindexed=trueは使えないが、できることはできる。
ただ、ActionFormのScopeがrequestだとできなかった。
このへんがバグなのかな?


170 :デフォルトの名無しさん:03/04/22 12:07
マスタリングJakarta Struts読んだ。
だめだこりゃ。
添付のバイナリは1.1b3と1.1RC1だが、内容は1.0.xで書いたものを
あわてて1.1対応にした感じ。
1.1で追加された機能やタグがほとんど扱われていない。

171 :1 ◆lqgT6FBSpw :03/04/29 00:34
Struts tileとJetspeedって、使い比べた人いる?

172 :デフォルトの名無しさん:03/04/29 00:40
>>171
何を基準に比べるの?ぜんぜん別物だよ。

173 :1 ◆lqgT6FBSpw :03/04/29 00:44
>>172
同じようなものだと思ってた。

174 :1 ◆lqgT6FBSpw :03/04/29 00:46
Struts Tilesはレイアウトを組み立てる機能だけなのかな。

175 :デフォルトの名無しさん:03/04/29 01:03
>>174
おおむねそんな感じ。Tilesは画面の部分部分を部品化してそれを並べていく感じ。
ちなみにJetspeedのベースになってるTurbineはデフォルトで似たような機能がある。

JetspeedはTurbineをベースとしたポータルフレームワークで、ユーザ管理やパーソナライズなどの
ポータルサイトに必要な基礎機能といくつかのポートレットと呼ばれるコンポーネントを提供している。

このへんは一番新しいWEB+DB PRESSに載ってた気がする。
あの記事でもStruts tileとJetspeedを比べるとは言っていないはず。

176 :デフォルトの名無しさん:03/04/29 01:08
StrutsとTurbineって、どちらもフレームワークでしょ?
コンセプトが違うの?
何故に、Jakartaで並列さすのかね?
まだ、Turbineは触りしか読んでないんで、識者の説明キボンヌ

177 :デフォルトの名無しさん:03/04/29 01:52
Tilesって、xmlファイルでレイアウトを定義する時に
専用のActionServletが必要でしょ?
あれが、困り者。というもの、別なツールでも独自のActionServletを使ってたりするから。
そう言う時はどうすれば良いの?
俺は仕方なくTilesはjspに書いといたけど。


178 :1 ◆lqgT6FBSpw :03/04/29 02:13
ということは、そのうちStruts Tilesを使ったJetspeedのようなものがでてくるのかな。
もうある?

179 :デフォルトの名無しさん:03/04/29 02:15
>>177
たぶん1.0.xの話だよね。
1.1からpluginになったんかな(というか1.0.xにはplugin機能ないけど)
あー本当に早く1.1正式版でないかな。せめて今度の開発が始まるまでに…。

180 :デフォルトの名無しさん:03/04/29 03:57
1.0.2でTiles使ったけど、かなり効率化できたよ。
tiles定義ファイルはかなりのサイズになったけど、JSPが散らばるよりはぜんぜんマシ。
総務系Webアプリなら、かなりのお役立ちだと思う。

ただ、JetSpeedの方が「設計してる」という気になってくる。
やってて楽しいのはこっち

181 :デフォルトの名無しさん:03/04/29 09:52
TilesでputListとかまともに使った人いる?
あれ、逆にメンテナンス性落としているような気がしてならない。

皆さんに質問。これらのタグの実用上の使い道教えてください。
・bean:page
・bean:struts
・bean:resource
・bean:include
ドキュメント見ても使い方はわかるが使い道がわからない。
いったい何のために用意されたタグなのか?
html:optionsCollectionタグはoptionsより使いやすそうですね。


182 :デフォルトの名無しさん:03/05/08 02:58
Strutsで使われている画面マネージャってなんでつか?
Classでつか?どんなしくみなのでつか?

183 :デフォルトの名無しさん:03/05/11 15:13
Tiles で putList を使おうと思ってるんだけど、
Cannot find bean putListName in any scope'
って表示されてうまく動きません、、。

tiles-def.xml
では正しく定義していると思います。

どこか気をつけないといけない点とかあれば、
教えてください。


184 :デフォルトの名無しさん:03/05/11 15:25
>>176
StrutsはあくまでWeb層までのフレームワーク。
TrubineはEJBの全体を包括しているという感じ?
TorqueのようなDB<->JAVAマッピングフレームワークも用意されてる。
って実は俺も良くわかんない。

185 :デフォルトの名無しさん:03/05/11 15:31
easystruts
全然easyじゃない

186 :デフォルトの名無しさん:03/05/11 15:36
>>184
EJB?????

187 :デフォルトの名無しさん:03/05/11 15:39
>>185
うん、使うのにとってもコツがいるよね。

188 :デフォルトの名無しさん:03/05/11 16:48
ざっと読んだ感じだけど、なんかきちんとstrutsを理解してる人が少なそうな感じ。
struts覚えるの面倒→否定しとけ みたいな。
PHPでPEAR使わない人もそういう理論が多かったなぁ(関係ないけど)

俺は似たようなフレームワーク作ってたから、strutsがメジャーになってかなり助かった。
作りが糞とかは正直どうでも良い。資料が多くてそこそこつかえるのであれば
自作よりはstrutsを選択すべき。

アーキテクチャーを作る側からすると、自分的にマンセーじゃなかろうと
標準的な仕様を利用した方が、ユーザーやチームを説得するのに楽だよ。
※特にstrutsはWebとかにたくさん資料があるから、教育コストも下がし

あと、strtusのアプローチだと、チームの明示的な分業化が楽。
MVCのカテゴリを明確だし。


189 :188:03/05/11 16:55
一応補足するけど、作り手の立場というよりもアーキテクチャーを
決める立場からすると楽ってことね。
実際作るときはこうした方が良さそうってのがたくさんあるし。

Websphereが公式に推してるって事実も大きいかも。


190 :188:03/05/11 16:59
う、なんか誤字が多くて馬鹿みたいだ。
189の内容も重複してるし…スマヌ

191 :デフォルトの名無しさん:03/05/11 17:16
DataSource、コネクションプーリングについて質問です?
その辺のことあまりよくわかっていないもんで。

Strutsで通常、DataSourceの取得ってどうやってやってます?
ActionServletの継承クラスを作って(plugin)
ActionServlet#findDataSourceしてDataSourceオブジェクトを
使いまわすのかな?(テーブル単位のSQL発行クラスでstatic変数に格納する)

ちなみにfindDataSourceは1.1では非推奨だから、
JNDIを使用してみようと思うんだけど、同様にplugin内で
lookupしてDataSourceを使いまわすってことでOK?

ちなみに、コネクションプールはJNDIを使用した場合は、
APPサーバーのクラスがやってくれるってことだよね?
findDataSourceした場合は、GenericDataSource.javaかな。
特にプールの設定しなくても勝手にやってくれると。

あと、DataSourceを使用した場合は、connection.close()しても
プールに返すんですよね?コネクションの切断ではないですよね?
プールに入れたり返したりするのは、プログラマが意識する必要は
なくて、コネクションプールしてくれるクラスが自動的にやってくれると。

あと、コネクションプールに関してはdbcpを使うのと
APPサーバーのどっちがいいのかな?
長文スマソ。



192 :デフォルトの名無しさん:03/05/11 17:30
>>191
ちょっと 使いまわすアプローチ方法が理解できないんだが…

普通はJNDI形式でDataSourceをキャッシュ管理するSingletonのクラスを
作っておいてそれから毎回取得するやり方でいかない?
※いつもStrutsのDataSourceじゃなくてAPPサーバの利用してるから違ってるかも

コネクションプールについては、struts-config.xmlで設定しておけば
勝手にやってもらえるよ。俺の場合APPサーバが商用なんで念のため
APP側でやるようにしてる。

strutsで利用しているdbcpの信頼性って実際のところどうなのかな。


193 :191:03/05/11 17:38
>使いまわすアプローチ方法
ActionSerclet継承クラスの
findDataSourceで返ったDataSouceオブジェクトをHogeBeanにset

HogeBean{
setDataSource()
getDataSource()
}

テーブル単位のSQL発行クラスで
private static DataSouce dataSouce = HogeBean.getDataSouce()

特にsingletonで実装してないけど、、、
メモリリークになるかな?なんかおかしいです?

>普通はJNDI形式でDataSourceをキャッシュ管理するSingletonのクラスを
>作っておいてそれから毎回取得するやり方でいかない?
これってlookupは1回だけじゃない?

194 :デフォルトの名無しさん:03/05/11 17:51
>>193
こっちの勘違いみたい、そういう実装方法ね。

singletonのアプローチは俺の好みだから、別にそのやり方でもいいんじゃないかな?
HashMapにlookupさせたオブジェクトを格納させるやり方に慣れてたんで。


195 :デフォルトの名無しさん:03/05/11 17:56
Struts1.0で採用していたGenericDataSourceの使用は1.1RC1の時点では非推奨。
Jakarta-Commons-DBCPのBasicDataSourceか、Appサーバが提供する機能を使えと。
しかし、昨日あたりからStruts開発者MLではGenericDataSourceへ回帰する
雲行きになってきた。現在投票が行われている真っ最中。
CommonsのDBCPとPoolの次期バージョンがFIXしないので1.1の正式リリースが
延びに延びているのに業を煮やした開発メンバーが多し。

196 :デフォルトの名無しさん:03/05/11 18:07
>>195
詳しい情報ありがと〜

俺もMLチェックしておきます。
Struts1.1の構成を見た感じだと、BasicDataSourceでいい気もするんだけどなぁ…


197 :191:03/05/11 18:12
JNDIを使用する場合でも
ActionServletのinitでlookupしてやればいいという訳ですね。

>>195
1.0.2でもGenericDataSourceのプールは簡易実装ってあったから
結局のところJNDIの利用がベストなのでは。
1.1はよリリースしてほしー。



198 :デフォルトの名無しさん:03/05/11 18:14
入場無料

http://ime.nu/www.net-de-dvd.com/


199 :デフォルトの名無しさん:03/05/11 18:28
StrutsのDataSource使うとActionでConnection取得してModel層まで引っ張り回さなきゃ
ならんのが気持ち悪い。
DBの接続管理なんてModel層だけで閉じておきたいところだね。
なので俺はStruts使ってもDB接続はAppサーバのJNDI使う。

200 :デフォルトの名無しさん:03/05/11 18:32
Modelというかビジネス層にはConnectionしか渡さない。
トランザクションの制御はその前でやりたいし。


201 :デフォルトの名無しさん:03/05/11 18:37
俺も199のアプローチと同じ。
AppサーバからのDataSource取得はビジネス層でしてる。

んでもって、とったDataSourceをDAOへ設定させて利用って感じだす。

202 :191:03/05/11 19:16
>StrutsのDataSource使うとActionでConnection取得してModel層まで引っ張り回さなきゃ
>ならんのが気持ち悪い
ActionでfindDataSoureしてDataSouceをDAOに引数として渡すことが
気持ち悪いということかな?

>AppサーバからのDataSource取得はビジネス層でしてる。
JNDIのlookupは必ず1回のみだよね?
そのためにDataSouceオブジェクト?をsingletonで実装するということかな?


203 :デフォルトの名無しさん:03/05/11 19:24
>>202
> ActionでfindDataSoureしてDataSouceをDAOに引数として渡すことが
> 気持ち悪いということかな?
そう。俺はEIS層へのアクセスはビジネスロジックと考えている。
Controller層でDataSourceは扱いたくない。
VCの部分はJDBC使ってもEJB使ってもWeb Service使っても同じポリシーで
設計したい。

> JNDIのlookupは必ず1回のみだよね?
そりゃそうでしょ。毎回lookupしてたらおおばあへっどが・・・・

204 :デフォルトの名無しさん:03/05/11 19:33
将来的にEJBへのアプローチを考えたときに、java.sql や javax.sql 系の
クラス類はActionServletからいじらせたくないなぁと。
※RowSetのアプローチも考えられるけど微妙

>JNDIのlookupは必ず1回のみだよね?
>そのためにDataSouceオブジェクト?をsingletonで実装するということかな?

そゆこと。
正確にはlookupしたオブジェクトをsingletonインスタンス内にキャッシュさせておく。
キャッシュに存在しなければ再度lookupさせてくって感じね。
ServiceLocatorちっくに考えてます。


205 :191:03/05/11 19:45
IBMのBluePrint AuctionでJNDI使ってるから見てみたけど、
Factoryとかなんとか結構複雑になるんすね。
当方、J2EEパターンとか詳しくないので。。。
http://www-6.ibm.com/jp/software/websphere/developer/download/wasstx.html

ちなみにExtension for StrutsがV1.1になってる。今気づいたよ。
以前めちゃくちゃにたたかれてたけど、どうなんだろ?

206 :デフォルトの名無しさん:03/05/11 19:52
J2EEパターンは覚えておいて損はないよ。
GoFのデザインパターンより具体的で理解しやすいし。

俺はSunから出てるやつを読んで勉強しますた。

207 :191:03/05/11 20:03
>>206
了解!
今、結城 浩の本でGoFのパターン覚えてるとこです。

これのことかな?
http://www.pearsoned.co.jp/washo/java/wa_java15-j.html
ほかにお勧め(易しい感じ)の本があればよろしくです。

208 :デフォルトの名無しさん:03/05/11 20:13
>>207
それそれ、具体的なリスク含めて書いてあるからかなり参考になる。
というか、昔自分がはまった事ばかりだったりして…
Strutsとの連携考えながら読み勧めると、アプローチ方法を
見つけやすいかもしれないです。

あとお勧めは、最近出た薄いJ2EEパターンの本。
白とオレンジの表紙だったような。
あれも、分かりやすかったです。
※EJBスレにリンクがあったような…


209 :デフォルトの名無しさん:03/05/11 20:21
スレ違いな話題を引っ張るのもアレなんだけど、せっかく見つけたので
↓208で最近出た薄いJ2EEパターンの本ってやつです。

http://www.amazon.co.jp/exec/obidos/ASIN/4822281523/250-7026755-1439463

210 :191:03/05/11 20:31
>>209
thanx 立ち読みして決めます。
スレ違いスマソ。

211 :デフォルトの名無しさん:03/05/16 03:45
おい、おまいらに質問です!!
おまいらはMVCのViewテンプレートにTilesをつかってますか?
それともVelocityをつかってますか?

212 :デフォルトの名無しさん:03/05/18 03:28
>>211
Tiles勉強も含めてさわっています。
構成変更時は結構便利だけどタグがいまいち痒いところに手が届かないでつ。
Velocityはさわってません。

213 :デフォルトの名無しさん:03/05/19 02:43
そもそもストラッツが使い物になりません
たとえばデータを100件のうち20件ずつ表示させたり
テーブルの特定の行だけ色をかえるとかできません
できるのかも?
少なくとも容易に出来ないと使えません



214 :デフォルトの名無しさん:03/05/19 02:51
>>213
あんたが使えないだけ
Strutsのカスタムタグ使わないよりは使った方がスマートに出来るよ

215 :デフォルトの名無しさん:03/05/19 10:50
>>213
> たとえばデータを100件のうち20件ずつ表示させたり

そもそもそのUIはどのツールとか言語でも作りにくいような。
Strutsというかサーブレットでやる場合、検索結果をSessionに保持しておいて、
URLか何かに現在の表示ページを取っておいて、Actionでそれ見て対応かな?

> テーブルの特定の行だけ色をかえるとかできません

これは簡単だろ。
ロジックタグがそのままだと思うけど。


216 :デフォルトの名無しさん:03/05/19 11:01
> たとえばデータを100件のうち20件ずつ表示させたり
Strutsでやるんなら検索結果をsessionに入れておいて、
logicのiterateタグのoffsetとlength使う。
検索結果数もbeanのsizeタグ使って取得できる。

217 :215:03/05/19 11:13
>>216
なるほど、そっちのほうがViewの責務をはたしてますね。
勉強になりました。

でも、このUIって前画面/次画面ボタンUIでしょ。
嫌いなんだよな〜、どの言語でやっても嵌る。


218 :デフォルトの名無しさん:03/05/19 11:37
>>213
僕も前にStrutsでソレを実装したけれど、
そもそもそれって、Viewの役割では無いのでは?

Modeが20件用意して、Viewは単純にそれを表示すれば良いだけでは。
>>216さんのと同じ意見かな。SessionスコープのFormにデータを
入れて置いてあげるだけ。

219 :デフォルトの名無しさん:03/05/19 13:08
EJBがあればstrutsはいらない、というわけでもないか?

DBからデータを取り出すのもアレだし

220 :デフォルトの名無しさん:03/05/19 13:27
>>219
Strutsはあくまで、MVCの Cがメインで Vをサポート程度。
だから良いといえば良いのだけど。

221 :デフォルトの名無しさん:03/05/19 14:02
どこかにいいサンプルあるところない?

タグリブの動作がいまいち掴めてないので、、。

ドキュメントは見たんだけど実際にソースで使っているとこが見たいでつ( ´・ω・‘)

222 :デフォルトの名無しさん:03/05/19 14:24
>>221
JAVAワールド(雑誌)の2002/05
典型的な買い物篭なんだけど、とりあえずの部分はこれで十分かも。

あとは使う度にドキュメント調べて渡来かな・・・、やっぱ。
まあ、ドキュメントを有志の方々が日本語化しているだけ多少はましかも。
マシンとしか思えない直訳でも、辞書調べるよりは早いときあるし。
いざとなれば原文か。



223 :デフォルトの名無しさん:03/05/19 21:43
テーブルのカラムの色を変えるやり方がやはりわかりません
特定の値によってテーブルの色を変えたい
(たとえば60点以上の人は青とか)
ストラツでは
<td><bean:write・・・</td>となりこれでは色が変えれません
(<td bgcolor=red>のようにしなければならないので)
やっぱタグlibを作らなければだめ?
(タグ¥LIBはややこしそう)
それが出来ないとSTRUTS使う気が・・・・
それとコンポボックスにDBから値を読み込んでセットする方法・
やはりタグLIB?







224 :デフォルトの名無しさん:03/05/20 13:28
>>223
JSTLでも使えば?

225 :デフォルトの名無しさん:03/05/20 13:37
>>224
JSTL使って解決する問題でもない

>>223
あらかじめActionのexecute(perform)でBeanに色の値を入れておいて
<td bgcolor="<bean:write・・・/>" ><bean:write・・・/></td>
でいいんでないかい?

>コンポボックスにDBから値を読み込んでセットする方法
optionsタグかoptionsCollectionsタグを使う

これぐらいの使い方ぐらい思いつかないでtablib自作は無理ぽ

226 :デフォルトの名無しさん:03/05/20 16:10
>>225
Beanに色の判断までやらせると
Viewごとにそれぞれ別な色をつけたい場合に困るのでは?
表現に関する判断はViewでやるべきだと思う。

227 :デフォルトの名無しさん:03/05/20 16:12
アダルトDVDの膣内射精シリーズを買っちゃった
看護婦、OL、人妻とっても安かった!

http://www.net-de-dvd.com/

228 :デフォルトの名無しさん:03/05/21 08:07
EJBは関係ないよ。
EJB層の話はまったくからまない。

Web層のみ

229 :デフォルトの名無しさん:03/05/21 09:56
>>219 はStrutsが何なのかもわかっていないだけ

230 :デフォルトの名無しさん:03/05/22 20:36
もしかして、IIS5.0で使えないでつか?
Tomcat3.24 & IIS5.0で色々試したんですが、力尽きた...

231 :デフォルトの名無しさん:03/05/22 21:26
IISとStrutsは関係ないと思うぞ

232 :230:03/05/22 21:38
IIS5.0 と Tomcat3.24を連携させると、
普通のservletはport8080を指定しなくても
動くんども、strutsを使ってるアプリは404出てしまうでつよ
IISじゃなくて、アッパチなら方法が本家のinstallに書いてあるんでけども、
どうしたらええでしょう

早く帰りたいニダ....



233 :デフォルトの名無しさん:03/05/22 21:40
ここのスレはStrutsが何かというより、
それ以前のヴァカが多い気がする。
>>213
氏ねよ。使えねーのはお前の頭だ。
Strutsを使えねーと語るな。


234 :デフォルトの名無しさん:03/05/22 21:43
>>230
web.xmlの問題だろ。

235 :230:03/05/22 21:58
>>234
うーん、そのstrutsを使ったwebappは、URLにポート番号8080を付けると
問題なく動作する
(テストの為にまだport8080は閉じてない。ちなみに閉じても駄目だった)
アパッチでは、apache-tomcat.confなるファイルを修正することで解決できる
らしいのだが、IISとの連携時に使用するisapi_redirect.dllは、それに相当する
設定が出来るんだろうか....という感じで....テケスタ....

236 :デフォルトの名無しさん:03/05/23 00:38
233>>
そういうおまえが使いこなしてるとはおもわれず。


237 :デフォルトの名無しさん:03/05/23 00:42
>>229
いやわかってる。
いや、J2EEの中にstrutsと競合するものがあったら邪魔になるかなとおもっただけ。
JDBCとEntityBeanでは競合する部分があるのでstrutsにも同じようなものがあったのかと
思ったよ。

けど、Turbineはstrutsとは競合せざるをえないのかな?

238 :デフォルトの名無しさん:03/05/23 00:43
225>>
>>223
>>あらかじめActionのexecute(perform)でBeanに色の値を入れておいて
>><td bgcolor="<bean:write・・・/>" ><bean:write・・・/></td>
>>でいいんでないかい?
なるほど・・・しかしみなさんはどうしてるんですかね?
他に方法がある?



>コンポボックスにDBから値を読み込んでセットする方法
>>optionsタグかoptionsCollectionsタグを使う
>>これぐらいの使い方ぐらい思いつかないでtablib自作は無理ぽ
そのとおりですね(w
まだ勉強中なんでお手柔らかに(w



239 :230:03/05/23 13:15
uriworkermap.propertiesの設定忘れてマスタ
一応動くようには成る

でもタグライブラリ使ってると、url中の"?"が";j"に化けるし、
gifとかは読み込まれないし、相変わらず苦戦中...


240 :デフォルトの名無しさん:03/05/24 08:16
>>238と似たようなというか
その手の疑問なんだが

たとえばjava.lang.String[][]っていう配列の配列を
テーブルで表現するときどうするか考えたのだが
logic:iterateを2重入れ子にしてもダメだった
かわりにJSTLのforEachもつかったがダメだった
しょうがないので
string[0][i]
string[1][i]・・・
ってなかんじ
やっぱ、コレクションとか単なる配列しか無理なのか?
「配列の配列」って俺よく使うから結構困る

241 :デフォルトの名無しさん:03/05/24 08:41
Strutsで、モジュールを動的に取り外したり追加したり出来ますか?




242 :デフォルトの名無しさん:03/05/24 10:25
>>241
その質問で何を聞いているのかわかる奴いると思いまつか?

243 :デフォルトの名無しさん:03/05/24 11:02
>>241
Struts1.1から追加された機能「モジュール」のことか?
struts-config.xmlを分割できるっていう。
モジュールの定義をstruts-config.xmlに書いてる時点で無理だと思うが。

244 :デフォルトの名無しさん:03/05/24 11:04
>>243
モジュールの定義はwe.xmlに書きまつ

245 :244:03/05/24 11:05
自爆。web.xmlでした。逝ってきます

246 :243:03/05/24 11:23
>>244
そのとおりですた。
http://jakarta.apache.org/struts/userGuide/configuration.html#module_config-inform_controller
しったかはイクナイですな…こちらこそイッテキマヌ

逝く前に >>240
logic:iterateの入れ子でできたよ。
<%
String[][] array = new String[][]{ {"foo", "bar"}, {"hoge", "boke"}, {"uma-", "mazu-"} };
pageContext.setAttribute("array", array);
%>
<table>
<logic:iterate id="subArray" name="array" scope="page">
<tr>
<logic:iterate id="item" name="subArray">
<TD><bean:write name="item"/></TD>
</logic:iterate>
</tr>
</logic:iterate>
</table>
その前に配列の配列をよく使うあたりで不吉な臭いがするが…

247 :デフォルトの名無しさん:03/05/24 14:01
配列の配列はできるけど、それに値をセットすることはできんね。

248 :デフォルトの名無しさん:03/05/24 15:25
>>247
それは不要なので問題ありません。
それを必要という人は設計を間違えているのです。

249 :デフォルトの名無しさん:03/05/24 22:30
STRUTSを使うときのツールは何をつかう
JB8?メモ帳じゃきついようにおもうが
特にエラー特定のとき

250 :_:03/05/24 22:32
http://homepage.mac.com/hiroyuki43/

251 :244:03/05/24 22:36
>>249
EclipseでAntとTomcatプラグイン

252 :デフォルトの名無しさん:03/05/24 22:57
今月のJavaDeveloper買った人いる?
Strutsの影の部分は何だったの?

近所の本屋は立ち読みできないように紐で括られてるので。
ちなみにJavaWorldは買った。

253 :デフォルトの名無しさん:03/05/24 23:02
>>252
買ってないがJakartaProject徹底攻略によれば
Beanを一つ追加するたびにstruts-config.xmlを書き換えないといけない
といいう面倒くささ。
Beanを追加した分だけstruts-config.xml
が肥大化する欠点があるということらしい。

ツールによって少しは解決するらしい。
Caminoという有料ツールについても載っていた。
ちょっと記事が古いのでこれが現状ではどうなのかは知らない。


254 :山崎渉:03/05/28 12:46
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

255 :デフォルトの名無しさん:03/05/30 04:41
>>今月のJavaDeveloper買った人いる?
>>Strutsの影の部分は何だったの?
チラッとみたけどわりかし実務的な内容だったような・・・
買うべきか


256 :デフォルトの名無しさん:03/06/03 00:20
STRUTS初心者の者です(まだ二日目です)
JDBCからレコードセットを取得して結果を一覧表示指定のですが
アクション側
ServletContext s=getServlet().getServletContext();
SelBunruidaiFormBean p=(SelBunruidaiFormBean)form;
JDBCSQL実行
try {
Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("connect ok");
String url = "jdbc:mysql://localhost:3306/sample?useUnicode=true&characterEncoding=SJIS";
String user = "";
String password = "";
Connection con = DriverManager.getConnection(url, user, password);
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from master");
while(rs.next()){
String bunruidaicd=rs.getString(1);
String bunruidainm=rs.getString(2);
}
s.setAttribute("v",e);
st.close();
con.close();
}catch(Exception e){System.out.println("error");}
一覧へ
return(mapping.findForward("ichiran"));
ループの最中の値をどの用にしてわたすか????です
vector とsetattribute getattributeを使うのはわかるのですが
どのようにしてbeanで認識させてjspで表示させるか?
logic タグを使うのをどのようにすればいいか???
ちなみにbunnruidai bunruicdを一覧表示したいのですが
わかる人教示していただければ幸いです。
いちおうネットでしらべてみしたたが対応するやつはなかってです

257 :デフォルトの名無しさん:03/06/03 00:36
>>256
Struts以前の問題です。
基本的なJDBC APIを使ったプログラミング
java.utilパッケージの使い方
大文字小文字の区別といった基本的な文法
勉強し直してください。

ちなみに、Strutsを使わなかったらできるのですか?
おそらくそんなんじゃできないでしょう?

258 :デフォルトの名無しさん:03/06/03 00:39
久しぶりにこんなDQNなソース見たな。
Struts初心者というか、Java初心者っぽ…
たぶん、レスしても意味わかんねーだろーから、
まずはJava初心者スレで勉強した方が良いよ。

そもそも bunruidaicd,bunruidainm の2つの変数に
延々と値をを入れて何かいいことあるの?
Attributeに設定してる変数もわけわかんねーし。

259 :258:03/06/03 00:44
一応ループの最中の値を渡す方法ねw

List list = new ArrayList();

while(rs.next()){
 Bunrui bunrui = new Bunrui();
 bunrui.setBunruidai(rs.getString(1));
 bunrui.setBunruicd(rs.getString(2));
 list.add(bunrui);
}
s.setAttribute("v",list);

これで分からなかったら氏ね

260 :デフォルトの名無しさん:03/06/03 00:56
ありがとうございます
予想どおりの2chらしい即効罵倒レス感謝します。
ついでにJSp側では
<logic :iterate name="v">
ここからわかりません。なぜならばbeanつかってないからです
ありがたい罵倒レスをお待ちしています

261 :デフォルトの名無しさん:03/06/03 03:06
>>260
この辺を見てlogic:iterateタグの使い方を知るか、
http://www.jajakarta.org/struts/struts1.0/ja/target/documentation/struts-logic.html#iterate
もしくはStrutsの配布ファイルの中のstruts-exercise-taglib.warを
デプロイして、実際に使っているところを見ながら学ぶかすれ。

262 :デフォルトの名無しさん:03/06/03 04:37
わからん。ともかく勉強するしかない

263 :デフォルトの名無しさん:03/06/03 10:23
こんなことは勉強するとは言わないよ。

264 :デフォルトの名無しさん:03/06/03 15:18
さんざん既出だろうけど
そこまでしてStrutsを使う意義があるのだろうかといつも思う

265 :デフォルトの名無しさん:03/06/03 15:39
>>264
禿同
基本がわかってないやつは手を出すべきではない
とりあえず、こういうやつ→ttp://www.atmarkit.co.jp/fjava/rensai/smartj01/fig1.gif
を自分でつくってからStrutsつかうと理解深まる

しかし、理解してしまうとStruts使うのが面倒になるんだよな
設定個所多いし・・・


266 :デフォルトの名無しさん:03/06/03 15:40
★クリックで救える○○○○があるらしい??★
http://yahooo.s2.x-beat.com/linkvp/linkvp.html

267 :264:03/06/03 15:53
>>265
結局さ、ビジネスサイドで実装しようと思ったら
それぞれの条件にあわせて設定や機能追加しなきゃならなくて
それなら最初から比較的シンプルでカイタマイズしやすいJSTL使うし

そんなにカスタマイズするところがなければ最初からJSPそのまま使ったりしたほうが・・

と無限ループに陥ってしまう

268 :デフォルトの名無しさん:03/06/03 16:09
わかるわかる
なんか、MVCっていうより
Strutsの窮屈な枠の中でプログラミングしてるみたいで気持ち悪い
確かに、複数人数でやるときは開発は楽なんだけどね
たとえば、ValidateやTilesは重宝している
だが、Strutsはそれらに比べて枠の規模がデカイので
四方八方ふさがれた気分

269 :デフォルトの名無しさん:03/06/03 20:00
どーせJSFまでのつなぎなんだし、そんなに必死になってStrutsする意味ねー。

270 :デフォルトの名無しさん:03/06/03 20:02
今週中にRC2出るよ

271 :デフォルトの名無しさん:03/06/03 21:00
ウェブプログラミングの美しい実装方法を考え出すと難しいね。

漏れの一つ得た結論としては、そもそも Java はウェブプログラミングに向いてない。
スクリプト言語がいい。

272 :デフォルトの名無しさん:03/06/03 21:02
それは小さいものを作るときには、でしょ

273 :デフォルトの名無しさん:03/06/03 22:34
JSF?
JDO?
そんなの本当にあるんか?

274 :デフォルトの名無しさん:03/06/03 23:10
JSF(java Server Faces)
http://java.sun.com/j2ee/javaserverfaces/

JDO(java Data Objects)
http://java.sun.com/products/jdo/

まあ、なごめや。

275 :デフォルトの名無しさん:03/06/04 02:38
だからはstrutsどいうなるのよ?
すぐにでもなくなるわけでもあるまいし


276 :デフォルトの名無しさん:03/06/04 11:07
>>275
いいんじゃない?
まぁ、仕事で扱うようになってから勉強はじめても
ぜ〜んぜん問題ないレベルの難易度だし・・・
マッタリいこうや

277 :デフォルトの名無しさん:03/06/04 11:17
仕事でJavaでWebやる香具師はやっておいたほうがいいだろうな。
Strutsがいいとか悪いとか好きとか嫌いとか抜きにして
この先しばらくは仕事する上で持っておいたほうがいいスキルだとは思う。

278 :デフォルトの名無しさん:03/06/05 11:16
>>272

そう。Java に単調な文字列処理は向いていない。
GUIプログラミングするときや、複雑なモデルを処理するときは実に素晴らしい言語だと思う。

現実的には文字列を処理することが多いのがウェブプログラミングだから、
そういうときは Ruby, Python じゃネーノ? と

279 :デフォルトの名無しさん:03/06/05 15:17
>>278
その文字列処理をなくすためにStrutsとか、その他フレームワークとかあるんだと思うけど?

実際、Strutsを使って作って、文字列を処理することろって頻出するの?
そういうのって設計がおかしくない?

280 :デフォルトの名無しさん:03/06/05 16:07
おまいら教えてください。

ロードバランサがあってセッションが使えない環境で、ブラウザからの
入力を確認画面を経由したのちDBに格納させようとしてます。

画面遷移は、入力->確認->完了の三枚ですが、入力と確認のところで
同じ FormBean を使いまわしてます。要は、scope が request で
パラメータを 1 つのFormBean で渡し続けるというものです。

で、そのときの checkbox の扱いなんですが、html:multibox を使って
FormBean に用意したString型の配列に入れますよね。そこまでは OK
です。受け取った値を(確認画面のJSPで) hidden で再度 FormBean に
渡そうとして苦戦してます。

FormBean には String[] getStrings() と setStrings(String[] strings)
がある場合に、うまいこと配列を渡す方法がわからんのです。

<html:form action="/hogeAction" scope="request">
<html:submit property="submit" value="送信"/>

<html:hidden property="param1"/>
<html:hidden property="param2"/>
</html:form>

とすると FormBean から値を受け取って、その値を hidden に埋められる
のでシンプルにかけるのですが、このときに配列だったらどうしたら
いいんだろう、と小一時間以上悩んでいます。




281 :280:03/06/05 18:00
ちなみに logic:iterate と html:form + html:hidden でやろうとして
煮詰まってます。


282 :デフォルトの名無しさん:03/06/05 21:10
なぜセッションがつかえない?
じゃ買い物かごみたいな機能もロードバランサーなら無理なのか?
素直にJSPでやればサーブレットがわで
param1=v¶m2=vとしてクエリーストリングでJSPでGET(w

283 :動画直リン:03/06/05 21:13
http://homepage.mac.com/hitomi18/

284 :デフォルトの名無しさん:03/06/05 21:57
>>280
HttpServletRequest#getParameterValues()とかわかる?

それにしてもへぼなロードバランサだな。SESSIONIDとかでアプリケーションサーバ固定できないの?

285 :デフォルトの名無しさん:03/06/05 22:11
まあまあ、ロードバランサーの機種によってはできないこともあるさ。
>>280
で、Strutsのバージョンは?1.1RC1だったらlogicのiterateと組み合わせで
hiddenタグのindexed属性使いな。
http://jakarta.apache.org/struts/userGuide/struts-html.html#hidden
iterateタグの内側でindexed="true"としておけば
property="param" を name="param[n]"と生成してくれる。

286 :デフォルトの名無しさん:03/06/06 07:20
>>284
はたしてヘボかな。
高可用性とスケーラビリティの面からいったら
 HttpSessionなしのステートレスアプリ>アプリサーバ固定のバランシング
だろ。



287 :デフォルトの名無しさん:03/06/06 08:50
>>286
ちゅうかそんなの適材適所だろ?

結果として上手く行けばそれが最適。
ただ、大体の場合は隣の芝生は良く見えるし、作ったシステムは一から(=設計から)作り直したくなる。

288 :280:03/06/06 11:02
おまいらレスありがとうございます。

セッションが使えない理由というか、ロードバランサーを扱ってるのが
他部署というのと自分自身ロードバランサーで何ができるのかいまいち
よくわかってない新人なので、セッションが使えないというより
セッションを使えないと思い込んでいる、あるいは使おうと思えば
使えるらしいけどできれば使いたくないんだと解釈してください。

>>284
> HttpServletRequest#getParameterValues()とかわかる?

極力 Struts が提供してる API とタグライブラリで済ませようと
思っています。FormBean に String 型の配列の getter/setter
を用意してやると html:multibox でそれに値を set したり、
logic:iterate で取り出したりできるんだったら html:hidden で
配列に set することもできるはずだろうと。固執し過ぎ?

>>285
>hiddenタグのindexed属性使いな。
> http://jakarta.apache.org/struts/userGuide/struts-html.html#hidden

ごっつぁんです! で、今それをやろうとして試行錯誤中です。(1.1RC1です)
いまいち使い方がよくわかりませんが踏ん張ってみるタイ。

289 :285:03/06/06 11:25
> 極力 Struts が提供してる API とタグライブラリで済ませようと
> 思っています。FormBean に String 型の配列の getter/setter
> を用意してやると html:multibox でそれに値を set したり、
> logic:iterate で取り出したりできるんだったら html:hidden で
> 配列に set することもできるはずだろうと。固執し過ぎ?

それでいいと思うよ。がんがれ。

290 :280:03/06/06 12:07
>>289
> それでいいと思うよ。がんがれ。

がんがります。

で、とりあえず logic:iterate は使わないで html:hidden を使って
FormBean の配列に値を流し込んでみようと思いまして色々やって
みました。

SomeForm の stringArray[] フィールドに setStringArray(String[] strings)
と String[] getStringArray() があるとして、

<html:form action="/someAction" scope="request">
<html:hidden property="stringArray"/>

<html:submit property="submit" value="送信"/>
</html:form>

これだと生成される input タグの value は String[]#toString() に
なってしまいクラスIDとかが出てしまって没。

291 :280:03/06/06 12:07
<html:form action="/someAction" scope="request">
<html:hidden property="stringArray[0]"/>
<html:hidden property="stringArray[1]"/>

<html:submit property="submit" value="送信"/>
</html:form>

の場合input タグは

<input type="hidden" name="stringArray[0]" value="hoge">
<input type="hidden" name="stringArray[1]" value="foo">

となって一見良さそうだけど、

javax.servlet.ServletException: BeanUtils.populate

なんて例外が出てしまいました。

配列に流し込む場合 HTML には

<input type="hidden" name="stringArray" value="hoge">
<input type="hidden" name="stringArray" value="foo">

というタグが出る必要があるんですよね。試行錯誤中。


292 :280:03/06/06 13:43
BeanUtils.populate が出る原因は ActionForm で String[] stringArray が
null だったことのようです。

private String[] stringArray = new String[10];

public String[] getStringArray() {
...
}

public void setStringArray(String[] stringArray) {
...
}

とかしてやったら出なくなりました。でもこの場合って配列の数を固定
させなきゃいけないんですよね。うーん。やればやるほどはまる。

293 :age:03/06/10 07:07
RC2キター!

294 :293:03/06/10 07:08
名前間違えた・・・逝ってきます

295 :デフォルトの名無しさん:03/06/24 01:03
Strutsイイ!!!!

296 :デフォルトの名無しさん:03/06/24 20:28
いくつか本が出ているみたいだけど、どれが良さげ?

297 :デフォルトの名無しさん:03/06/25 00:35
>>296
名前忘れたけど2000円のやつがイイ!!
validateとかtilesとかDynabeanとか
対応してるやつ買っとけ


298 :デフォルトの名無しさん:03/06/25 01:25
>>297
これですか。
http://www.amazon.co.jp/exec/obidos/ASIN/4798005495/qid=1056471591/sr=1-1/ref=sr_1_2_1/250-1862850-0337052
しばらく見ないうちにStruts本増えたね。オライリーの馬本も和訳が出てるし。

299 :デフォルトの名無しさん:03/06/25 09:21
>>298
簡単すとらっつですかね?お勧めは。
あと、おらいりいは今日発売かな?
その2冊でとりあえずはいけると思う。



300 :デフォルトの名無しさん:03/06/25 20:30
>>299
だまされたよ。明日じゃん。

301 :デフォルトの名無しさん:03/06/25 23:06
いままでテキストエディタ+antでしこしこStrutsしてたんですが、周りが
徐々に蝕まれだし、形勢利無く、Eclipseに乗り換えました。

結果としては大満足してるんですが、ただ一つ、
ApplicationResources.propertiesの置き場所にのみ困ってます。

基本的にはWEB-INF/classes/<パッケージフォルダ>/においてるんですが、
そうすると再ビルドのとき、必ず消されてしまうんですよ。

ここはありさんを使って毎回コピーするしかないんですかねー

302 :デフォルトの名無しさん:03/06/25 23:21
>>301
srcの下におけばコピーされるよ。
プロパティファイル用のプラグイン使えばnative2asciiもやってくれるし。

303 :デフォルトの名無しさん:03/06/26 02:28
関係ないけどさぁ。いまいちEclipseの良さが分からないのよ。
まず第一に全ての動作が遅い。。
エディタで入力していて表示が追い付いてくれない。
俺の環境だけなんすかね?

それと、新規ファイルを作成する時に毎回継承するクラスとかを
聞かれるのが非常に嫌だ。自分で入力した方が早いし直感的。

でも、まわりの勢いに負けそう。

304 :デフォルトの名無しさん:03/06/26 06:42
>>303
遅いってどのぐらいのPC?

継承ボックスは書き込まずにOK押せばいい
あとで自分で書き込めばいい

305 :デフォルトの名無しさん:03/06/26 08:38
おまえらのおかげで
Struts本、オライリーとカンタンの二冊注文しちまったじゃないか!
しかも、今日届く!
ワクワクしてきたじゃあないかぁ!!

306 :デフォルトの名無しさん:03/06/26 08:53
>>300
すまんかったけど、”?”つけたじゃん。
ごめん。

というわけで、あっしも今日買いにいくっす。


307 :デフォルトの名無しさん:03/06/26 10:19
>>302
コピーされますた。アヒャ(AA略
うーーん、Eclipse賢いなぁ。



308 :デフォルトの名無しさん:03/06/26 12:33
今から勉強&開発にとりくむとしたら、1.0.2と1.1RCのどちらがよろしいでしょうか?

309 :デフォルトの名無しさん:03/06/26 14:21
>>308
1.1じゃないの?
下の安定バージョンで覚える意味は特にないよ。
1.0を実務で使うときになったらやれば十分でしょ?
あー、これ使えねーのかよ、1.0だめだな、って。w


310 :デフォルトの名無しさん:03/06/26 16:02
strutsの勉強本探してるんですけど
カンタンstrutsって(・∀・)イイ!!ですか?

311 :デフォルトの名無しさん:03/06/26 17:40
来週あたりfinalリリースage

312 :デフォルトの名無しさん:03/06/26 18:12
>302
それって自分でプラグイン書くってこと?
それとも元々ついてるの?


313 :デフォルトの名無しさん:03/06/26 18:40
おい、さっき届いたぞ2冊
いまから読むので感想聞かせてくれよな

314 :デフォルトの名無しさん:03/06/26 19:01
>>313
聞かせてくれって、藻前の所に届いたんだろ。
藻前の感想を書いてくれよ

315 :デフォルトの名無しさん:03/06/26 19:22
大きさは両方ともB5変で、手にしっかりとなじみます
カンタンの方は中に書いてあるソースコードのフォントが
俺的に好みではないがわかりやすくかかれているので良しとする
Windows環境、Linux環境のそれぞれの説明がある(一応動作確認部分だけ)
使うデータベースは両環境ともPostgresSQLらしい・・・
LinuxではPostgreSQL使ったことあったが
Winでは使ったことなかったので俺的にはうれしい(Cygwin使うみたい)
「他のプロダクトとの連携」の章では
Eclipseのプラグインの使い方が載っている
オライリーのほうは、まあ言わなくてもだいたい内容は想像できるだろう
ちなみに、まだこれから読むので上の感想は
あくまでも第一印象として捕らえて欲しい
「こういう説明はありますか?」
「あの技術についての説明あるの?」
といった質問にはできるだけ答えますが
良し悪しには答えるの勇気いるので勘弁してください
(察してください)

316 :デフォルトの名無しさん:03/06/26 20:38
>>312
http://graze.tripod.co.jp/plugin/

317 :デフォルトの名無しさん:03/06/26 22:04
>>315
それら2冊は「JAVAは中級ぐらいの本を独学、仕事で使うのでStrutsを短期間で理解したい」
というワシの思いに答えてくれそうですか?

318 :デフォルトの名無しさん:03/06/26 22:51
>>315
十分だと思う
内部事情まで知らなくてもいいのなら
「カンタン」の方で十分

319 :デフォルトの名無しさん:03/06/26 23:00
ソースも追いやすいから、StrutsはMVC風の啓蒙にはいい存在だな

320 :317:03/06/26 23:02
>>318
助かります。
早速アマゾンで買うでつ。
引き続き読破後の感想などをお願いしまつ。

321 :デフォルトの名無しさん:03/06/26 23:07
オライリーのほうは
EJBとどう連携するかも書いてある
ロギング、パフォーマンス考察・・・
Validatorの単独使用・・・
まあ、最終的には読んどくべきか

322 :デフォルトの名無しさん:03/06/26 23:54
>>321
机の上にドンと飾っておいて、上司・同僚を威圧したければオライリーに限るな。
よくわかるのは「カンタン」だろうが、これを会社で読むとなめられそうだから、家で読むべきだな。

てことは、

「カンタン」にオライリーの皮をかぶせて会社で読む

が最強ということか。

323 :デフォルトの名無しさん:03/06/27 09:01
まあ、おら煎りいはリファレンス代わりとかその程度でしょ?
読むと賢くなった気にはなれる。
入門書には不適だけど、たまにピンポイントで必要なことが見つかったり。

簡単Strutsはいいよ、とりあえずその本と、StrutsについてくるWarを見れば十分じゃないの?



324 :デフォルトの名無しさん:03/06/27 11:10
すいません「war」ってなんて読むんですか?
ワー、ウォー、戦争
「jar」
ジャー、ジェイエイアール、日本アーカイブ機構

325 :デフォルトの名無しさん:03/06/27 11:15
「うぉー」、「じゃー」。ついでに「いやー」

「わー」って読むやつ、しね。


326 :デフォルトの名無しさん:03/06/27 11:20
earは難しい
イィェアー(ル)

327 :デフォルトの名無しさん:03/06/27 11:34
わー

328 :デフォルトの名無しさん:03/06/27 11:36
うわああああぁぁぁぁぁぁ


329 :デフォルトの名無しさん:03/06/27 12:12
おい、洒落にならなくなった
Amazonで二冊注文した俺だが
今日になってまたAmazonから「カンタン」の方だけ
送られてきました
俺、2回クリックするようなことしてないんだけど・・・
っていうか、「カンタン」の方だけ来るって言うのもおかしい
Amazonのショッピングカートデバッグしてもいいですか?

330 :デフォルトの名無しさん:03/06/27 15:31
War=だぶりゅえいあある、昔天竜が立ち上げたプロレス団体・・・。

>>329
普通に返品すればいいんじゃないの?
2冊たのんでイネーよって。


331 :デフォルトの名無しさん:03/06/27 16:38
>316
お前の言ってるプラグインと俺の思ってたプラグインはどうやら違うようだ。
つうか、普通このスレでプラグインっつったら org.apache.struts.action.PlugIn のことだろうがよ。

332 :デフォルトの名無しさん:03/06/27 18:16
俺は301->302->312->316の流れがすんなり理解できたが
既にEclipse使ってるからかな。
件のプラグインも使用済みだし。

333 :デフォルトの名無しさん:03/06/27 22:38
配列をiterateで回して、htmlTagのValueに入れるにはどうすれば良いですか?
出来れば、Beanを作りたくないのですが。
(スクリプトレットも使いたく無い)
// Action
String[] wkArray = {"hoge", "foo"};
request.setAttribute("StringArray", wkArray);

// JSP
<logic:iterate id="loop" name="StringArray" type="java.lang.String">
<bean:write name="loop">
<%-- <html:hidden name="loop" property=""/> --%>
</logic:iterate>


334 :デフォルトの名無しさん:03/06/27 22:50
>>333
おれなら、めんどくさいこと考えるのは嫌いなので
最初からJavaクラス作って吐き出させる

335 :_:03/06/27 22:52
http://homepage.mac.com/hiroyuki44/

336 :デフォルトの名無しさん:03/06/28 17:44
上から読んでもストラッツ
下から読んでもストラッツ

337 :デフォルトの名無しさん:03/06/28 21:13
     ∧∧Λ
ピュ.ー ( ゜∇゜ )つ <上から読んでもストラッツ
  =〔~∪ ̄ ̄〕   下から読んでもストウルツ
  = ◎――◎   全然ちゃうやんけボケ〜(゜∇゜)/ 「ウンマンコ」

338 :デフォルトの名無しさん:03/06/30 02:48
帯に短し襷に長し、て感じ

339 :デフォルトの名無しさん:03/06/30 23:30
Struts 1.1 age

340 :デフォルトの名無しさん:03/06/30 23:40
速度と支柱の組み合わせってどうなの?

341 :デフォルトの名無しさん:03/07/02 00:12
Tilesイイ!!!

>>340
支柱はJavaServer顔との組み合わせが多くなりそうな悪寒。

342 :デフォルトの名無しさん:03/07/03 16:45
リリース直後の1.1で基幹システムを作るのには勇気がいるナァ
チキンなオレは1.02でいいや。

343 :デフォルトの名無しさん:03/07/03 17:04
>>342
1.0.2だとダイナマンが使えない

344 :デフォルトの名無しさん:03/07/03 17:51
>>342
1.1b2の頃から1.1を見ていると、1.1finalは「出たばかり」という感じが全くしない。
むしろ、ブラッシュアップされて、バグフィックスされてようやく安定版として
リリースされた、という感じ。

345 :デフォルトの名無しさん:03/07/03 22:59
>342
全然メンテナンスされていない放置プレイの1.02の方がよっぽど不安だぞ。


346 :デフォルトの名無しさん:03/07/03 23:55
ちょうど今、Strutsを使って開発をやってるんだけど
オライリー本すごくいいね。結構役に立ってる。

今のところ一番まともなStruts日本語本だ。

347 :デフォルトの名無しさん:03/07/04 05:50
>>346
いや、そうでもない。
「あ、これ知りたかったんだよな」
と思うところに差し掛かかって、
ワクワクしながら読み進めると
説明が簡単に終わっていたり


348 :デフォルトの名無しさん:03/07/04 08:51
まあ、半年前より情報は十分あるだろ。
半年前なんて、技術評論社かなんかの本だけだったような。
雑誌で取り上げられても、よくて買い物篭まで。

ほんはオライリーと簡単Strutsで十分。


349 :デフォルトの名無しさん:03/07/04 15:20
インターネット上にStrutsで運用してるサイトってあります?
知ってたら教えてケロ。

350 :ななしちゃん:03/07/04 19:48
ASCIIのStrutsプログラミング講座ってどうよ!?

351 :デフォルトの名無しさん:03/07/06 00:21
>>349
2ちゃんねる

352 :デフォルトの名無しさん:03/07/06 00:41
>>349
派遣情報サイト「はたらこねっと」
http://www.hatarako.net/
拡張子がモロに.do

353 :デフォルトの名無しさん:03/07/06 03:11
HTMLのTABLEで表になってるとこの一行一行に
テキストボックスとかチェックボックスがある場合の
ActionFormにsetさせるための記述の仕方教えて下さい。


354 :デフォルトの名無しさん:03/07/06 03:14
>>353
プロパティを配列型にすればいい。

355 :デフォルトの名無しさん:03/07/06 03:16
HTMLのソースはどんな感じで、getterとsetterはどんな感じですか?
これは常識ですか?
どこかに書いてありますか?

356 :デフォルトの名無しさん:03/07/06 03:25
>>355
そんぐらい調べたらどうだ?常識と言えば常識。というか
ちょっと考えれば誰でも思いつくことだろ?
HTMLは普通に
<input type="text" name="propertyA">
<input type="text" name="propertyA">
<input type="text" name="propertyA">
<input type="text" name="propertyA">
と複数の同名プロパティがあった場合はパラメータはStringの配列で
受け取れるだろ?(←常識。Struts固有でもなんでもない。Webやってれば誰でも知っている。)
Strutsのカスタムタグを使ったらこうなるだろ?これぐらい想像してくれ。
<html:text property="propertyA">
<html:text property="propertyA">
<html:text property="propertyA">
<html:text property="propertyA">
だからActionFormはプロパティが配列型なんだよ。
private String[] propertyrA;
public String[] getPropertyA() (←getterはプロパティの型を戻すから戻り値がString[]型)
public void setPropertyA(String[] propertyA)  (setterはプロパティと同型の引数を取る)

357 :デフォルトの名無しさん:03/07/06 03:33
>>356
だせーやり方、やっぱみんなこの程度のやり方してんだな。だせー。

358 :デフォルトの名無しさん:03/07/06 03:42
もっとエレガントなやり方知ってるけど教えてあげない。

359 :デフォルトの名無しさん:03/07/06 07:28
>>358
自分の知ってること、覚えたことを
他人に教える余裕の無い人

そんな余裕の無い人の知識なんて大したもんじゃない


360 :356:03/07/06 09:28
>>357-358
ActionFormにはMap-backedやList使ったり、
JSPではiterate使ってindexed使ったりとかか?
JSTL使えばもちっとシンプルに書けるかもな。
しかし、>>355 のレベルじゃそこまで教えても理解できんだろ。
とりあえず>>356までで充分じゃないのか?>>355には。
っちゅうことであのような回答になった。

361 :デフォルトの名無しさん:03/07/06 10:30
知性が皆無に近い教えてくんを相手にする方は
大変でしょう。素直に尊敬いたします。

362 :デフォルトの名無しさん:03/07/06 11:16
それでもだせぇ。
表は行の集まりなんだから、行の他の項目と無関係に列で値を抜くのはだせぇ。

363 :デフォルトの名無しさん:03/07/06 11:28
>>362
Beanのネスト構成にするとか?
でもそれだとDynaActionFormにできないんだよね・・・・
HTMLはあくまで平面なので、俺はDynaActionFormとかで普通に受け取って、
Acitonでネスト構成のオブジェクトに変換している。
BeanUtils使うと結構簡単にできるし。

364 :デフォルトの名無しさん:03/07/06 11:46
ちなみに複数のチェックボックスは<html:multibox/>を使わないとつらいよ。
↓テキストボックスなどは「ここの可変行数のフォームを扱うには?」を見ればできると思う。
http://homepage2.nifty.com/ymagic/struts/faq.html


365 :コンスタンツ:03/07/08 15:13
Struts猛勉強中です。

まずはstruts-exampleアプリケーションの解析をやってるんですが、
このアプリ、Sessionに追加するbeanのIDやらなにやら、コンスタント
な値一切合財をConstantsっていうクラスに格納してるんですね。
これはこれで見やすいのですが、コンスタント値を変えるたびに
リコンパイルが発生するのは少々マズーな気がします。
これってメジャーなやり方なんでしょうか。

strutsらしいコンスタント値の持ち方ってどんなんでしょうね?
web.xmlでinit-paramを指定する・・・ではあまりに普通すぎる?

イイ!やりかたがあったら教えてください。

p.s.カンタン本、タイトルとは裏腹に読むトコ多くていいっすねぇ。。

366 :デフォルトの名無しさん:03/07/08 19:22
【教訓】普通であることはすばらしい事である。
by ジョセフ・ジョースター


367 :デフォルトの名無しさん:03/07/08 19:39
>>365
propertiesファイルに書くのはどう?
struts-config.xmlには<message-resources />を複数書いて
複数のpropertiesを使い分けられるのは知ってる?


368 :とも:03/07/08 19:39
みてね〜♪
http://s-rf9.free-city.net/page003.html

369 :デフォルトの名無しさん:03/07/09 17:35
>>365
struts-exampleのソースは見てないんですが、Struts自体のソースコード
での定数の使い方から推測するに、多分Constantsで定義されている定数
って通常変更する必要のないものだけじゃないですか?(Beanのキー値なんて
一度決めたら仕様変更でも無い限り変更しないですよね)

で、頻繁に書き換えるリソースは>>367でも書かれているように
プロパティを使うのが普通だと思います。struts-config.xmlで以下のように
定義したメッセージリソースは、

<message-resources key="message.foo" parameter="resources.foo"/>

プロパティの値はActionクラスのサブクラス中で、

MessageResources resources = getResources(request, "message.foo");
String message = resources.getMessage("key");

という感じで取得できます。



370 :369:03/07/09 18:14
ちなみにJSPからメッセージリソースを参照する場合はbundle属性に
キーを指定して、

<bean:message bundle="message.foo" key="key"/>
<html:img bundle="message.foo" srcKey="key"/>

という感じで参照できます。


371 :デフォルトの名無しさん:03/07/09 23:05
>>365

> strutsらしいコンスタント値の持ち方ってどんなんでしょうね?

「値が固定されていること」が重要か、「値の中身」が重要か。
どちらなのかによって実装方法は変わる。

前者ならばソース中に constant として定義する。
後者ならば後に変更できるようにする。

後に変更できるようにするにしても、やり方によって運用が異なる。
 ・アプリのインストールが必要
  (.properties ファイルを起動時に読み込み)
 ・設定管理クラスが持つ再読み込みメソッドのコールが必要
  (リソース管理クラスが .propertiesファイルを読み込む)
 ・即時に更新される
  (データベースに格納している)

それぞれ信頼度とコストも異なるから、仕様や設計ポリシー、運用手順で選ぶべきだよ。
一概には言えない。

372 :デフォルトの名無しさん:03/07/09 23:07
>>366-367
>>369-370

なるほど、勉強になります。
変更の可能性を考えて使い分けたいと思います。

373 :デフォルトの名無しさん:03/07/10 02:13
Struts-ELって使ってる人いる?

あんまり近くで使ってる人いないから、結局Struts1.1+JSTLで
やってしまっているんだが…




374 :デフォルトの名無しさん:03/07/10 02:17
それで手元の問題が要領よく解決するなら、無理に新技術使う必要ないでしょ。

375 :デフォルトの名無しさん:03/07/10 03:01
>>374
最近それを理解出来ない厨房プログラマが周囲に多発&増殖しております。
『家でJSTL使った見たら、(・∀・)イイ!感じだから』、『みんなTorqueが
便利だと言ってるから』etc,,,という理由で新技術を取り込もうとする輩が
多くて。。しかも、ここでいう『みんな』は大抵は2chを指す。

376 :デフォルトの名無しさん:03/07/10 03:19
そして愛用書はJavaWorldってか

377 :デフォルトの名無しさん:03/07/10 03:24
>>375
まあ、実際便利かもよ。
乗り換えのコストを払う価値があるかどうかの見きわめって
結構難しいかも。

378 :デフォルトの名無しさん:03/07/10 08:58
プログラマ視点での技術評価と、コスト・安定性・将来性を交えた総合評価は違うからね。


379 :デフォルトの名無しさん:03/07/10 12:34
>>374
いや、単にStruts-ELの方が便利そうだったから聞いただけです。
他に使っている人がいたら参考になるし。

>>375
新技術を否定してる人が、その新技術を実際に使った事が
無いことも多いと思いますよ。
周りに2,3年前のJavaの知識で止まっちゃってる人が多いので…
※文句言ってる人がantやjakarta系ライブラリ知らない事もあるし

とりあえず、どんどん納期が短くなっていく最近の開発だと、
新しい技術やコンポーネントで、少しでも逃げ道を探して
いかないと、死にそうになります。

もうじっくり開発できる時代はないんだろうなぁ…


380 :デフォルトの名無しさん:03/07/11 01:46
>>377
>>375の台詞例はただの例ですのでそれらが良くないとは
思いません。実際Torqueは便利だと思います。

>>379
>新技術を否定してる人が、その新技術を実際に使った事が
>無いことも多いと思いますよ。
そういう人にはその新技術がどういうメリットとデメリットを
持っているかを示して説得しないと。。。

そういう説得をせずにただ、『***は便利っぽい』といういい加減な
理由で推薦されても困るっていう話。特にデメリットを示さずに推薦
するのは悪徳商法に近いものさえ感じる(まぁ、いい過ぎかもしれんが)

381 :375:03/07/11 01:48
>>380=>>375でし。

>>376
正解!しかも全文鵜呑み

382 :デフォルトの名無しさん:03/07/11 01:51
>>381
JWは提灯だからなあ。


383 :デフォルトの名無しさん:03/07/12 00:48
ちょっと質問させてください
ActionFormのプロパティに
String vName;
っていう名前付けたのですが
これを動かすとgetterメソッドがないって言われてしまいました
しばらく何でだろう?とはまっていたのですが、
なぜか勘が働き、プロパティの名前をvvNameに変えたら
動きました
既出の話かもしれませんが
getVName()はダメでgetVvName()はOKということは
Strutsが読みにいくgetterは
get+最初の文字を大文字にする+2番目は小文字に変換+残りは変更なし
ということなのでしょうか?
結局、じかんなくて試せなかったのですが
もしかしたら最初の直す前のvName場合
getterをgetVname()にすればよかったのですかね?
いちおう、アクセサはすべてEclipseの自動生成なのですが
そのときはgetVName()となっていました
これは、Strutsの仕様なのでしょうか
もしくは、アクセサ書くときのお決まりなのでしょうか

384 :デフォルトの名無しさん:03/07/12 01:14
>>383
アクセサ書くときの決まりだね。詳しくはこちらをどうぞ。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/beans/Introspector.html#decapitalize(java.lang.String)

385 :デフォルトの名無しさん:03/07/12 01:25
>>384
ありがとうございます
ってことはEclipseはそこまで行き届いてないということですかね?
生成時にリフレクション使ってないのかな?
まあ、あんな名前つける俺も俺だけど・・・

386 :デフォルトの名無しさん:03/07/12 02:15
>>385
リンク先を読んだんだろうか?行き届いているというか、
EclipseにしてもStrutsにしてもJava標準の作法に従っただけでしょ。
リフレクションは必ず使っているはず。
ま、このは知らないと結構はまるところらしいよ。
Java Houseにも同様の記事があった気がする。

387 :デフォルトの名無しさん:03/07/12 13:33
>>386
いやだからね
使っているのにどうしてEclipseはきちんと直さないの?
ってことです
あるいは命名時に警告ダイアログ出すとか
行き届いてないって言うのはそういう意味です

388 :デフォルトの名無しさん:03/07/12 13:37
俺も知らなかったのだが、プロパティ名の2番目の文字は小文字じゃないと
いけないってこと?

389 :デフォルトの名無しさん:03/07/12 13:40
>>388
そうなんすよ
っていうかそのルールに従って読みに行くので
「見つかりません」となりました
おれも最初の文字だけと思ってたよ
だから、みんなも知ってるのかな?的な意味で書いたわけです

390 :デフォルトの名無しさん:03/07/12 14:33
BeanInfo実装しれ。

391 :デフォルトの名無しさん:03/07/12 19:49
すいませんStrutsのカスタムタグなんですが
所々で「value」属性を使うと思うんですが
例えば
<logic:greaterThan name="mybean" property="point1" value="0">
コレなら動くんですが
valueを直接mybeanのプロパティから取得したいので
<logic:greaterThan name="mybean" property="point1" value="point2">
(point2はmybeanのプロパティ)
ということをやりたいのですが
「point2」という文字のまま比較対象になっているみたいなのです
なので、
value="<%=mybean.getPoint2()%>"
とやれば一応動くのですが
こういうぐあいに、スクリプトレットが混ざるのが気持ち悪いんですが
(だったら最初からスクリプトレットでいいじゃんって言う意味で気持ち悪い)
こういうものなのでしょうか?
それとも、ほかにやり方あるんでしょうか?

392 :デフォルトの名無しさん:03/07/12 20:19
>>391
<bean:write />では?

393 :デフォルトの名無しさん:03/07/12 20:38
>>392
ありがとうございます

以前にそれやってやっぱダメでした
念のため今やってみましたがダメです

っていうか普通のプログラマなら
JSP内に値をハードコートせずにBeanからもらってくるのが普通ですよね
みんな>>391で書いたようにやってたとしたら気持ち悪いと思わないんですかね?

それとも、私の頭の中に
「Strutsのカスタムタグ使えば、スクリプトレットは使わなくていい」
っていう、思い込みがあるのですが
これは勘違いなんでしょうか?

394 :デフォルトの名無しさん:03/07/12 22:34
>>393
やっぱりvalue値などにbeanの値を入れたい場合はJavaのコードが絡んでくるな。
解決策としては以下のものがあげられる。
1. JSTLを使う
2. Struts-elを使う
3. JSP2.0まで待つ

これらであれば式言語が使えるからコードの量はずいぶん減るな。
式言語については以下を参照。
http://www-6.ibm.com/jp/developerworks/java/030411/j_j-jstl0211.html

正直Strutsのタグライブラリは使いづらいので、htmlのフォーム関連以外は
JSTL使ったほうがいいと思うけど。


395 :デフォルトの名無しさん:03/07/12 22:57
ありがとうございます
やはり使いづらいですか
勉強してまいります

396 :デフォルトの名無しさん:03/07/12 23:05
>>393
勘違いしているようだが、
スクリプトレットは <% %>
<%= %> はRuntime Expression(実行時式)

397 :デフォルトの名無しさん:03/07/13 05:37
ビューのテンプレートにスクリプトレットを間接的にも全く含まない
方法がほしいなら、Struts-Velocityにすれ!頼むから流行ってクリ〜。



398 :デフォルトの名無しさん:03/07/13 11:52
>>397
日本語の技術情報を多く出して、裾野を広げてください。

399 :デフォルトの名無しさん:03/07/13 16:46
ターミナル・ベロシティってなんだったっけ?ゲーム?

400 :1 ◆lqgT6FBSpw :03/07/13 17:06
>>399
映画。
そしてスレちがい。

401 :デフォルトの名無しさん:03/07/14 01:49
漏れもVelocityはいいと思うが
流行るかどうかといわれると…。

402 :デフォルトの名無しさん:03/07/14 01:50
まあ、JSP作成だけじゃないからねVelocityは

403 :デフォルトの名無しさん:03/07/14 06:04
あ?ぼけか?何が流行るかどうかだ?あ?
お前は日本しか頭にないのか?
日本で流行るかどうかが問題なのか?あ?
流行るかどうかってどこを基準に言ってるんだ?あ?
外国の人(プロジェクト)が書いたソース見てみろ!!
Velocity使ってるのが多く見られるぞ。

404 :_:03/07/14 06:36
http://homepage.mac.com/hiroyuki44/

405 :デフォルトの名無しさん:03/07/14 08:14
>>403
残念ながら、日本で流行るかどうかは重要なのだよ。
周りで誰も使っていないのに「外国では」と言って
周囲の知らない技術得意げに使われてもねぇ・・・・

406 :デフォルトの名無しさん:03/07/14 14:54
Velocityのようなテンプレート言語もそうだし、タグライブラリもそうなんだが、
スクリプトレットを極力使わない理由に
「デザイナーにコードを触らせない」「デザイナーの負担を軽くする」
ってのがあると思うんだけど、テンプレート言語やタグライブラリ使うとローカ
ルマシンでブラウザを使い、直ちにデザイン検証ってのがやりにくくなり、かえ
ってデザイナーフレンドリーでなくなるのでは?

と思うのは漏れだけ?

デバッグや後々のメンテをラクにするため、という点ではわかるんだけど。

<%= %>くらいなら、デザイナに書かせてもいいよね?書かせてるよね?(確認)

407 :369:03/07/14 15:50
>>406
Velocityだったらローカルマシンでの検証はJSPよりもはるかに
やりやすいと思うけど。
<%= %> をデザイナに書かせると、ローカルでのデザインのプレビューは
まず不可能でしょ。


408 :デフォルトの名無しさん:03/07/14 16:32
>>407
それは言えてる。タグライブラリなんかもそうだよね。特にstruts-html

409 :デフォルトの名無しさん:03/07/14 19:39
>>406
おまえ、Velocity使ったことないだろ。

410 :406:03/07/14 20:46
ないよ。
>>397を見て、それほどいいものならと今日から触り始めたところ。
いままさにforumdemo.warをデプロイせんとす。


411 :デフォルトの名無しさん:03/07/14 22:54
PHPでSmartyに慣れてる俺としては
Velocityの方がしっくりくる。

412 :デフォルトの名無しさん:03/07/15 01:40
>>403
日本しか頭に無くは無いが、日本で流行る事は重要。
舌街はやってほすぃ。

413 :山崎 渉:03/07/15 09:34

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

414 :デフォルトの名無しさん:03/07/15 14:37
Velocity仕事で使い始めたが、ホントに普及すんだろかね。

415 :デフォルトの名無しさん:03/07/15 16:25
>>414
たとえば君が、ここで

「Velocity仕事で使い始めた。スゲーよこれ!(以下レポート)」
とカキコすることにより、興味をもつ者が増え、
投じた一石が鏡の水面に無限の波紋を描くように、
一個の原子の振動が回りの原子に作用し、やがて物質全体を
振動させ巨大なエネルギーを生み出すように、
地に蒔かれた一粒の麦が芽吹き花開き実をつけては枯れその
実が再び地に落ちを繰り返すうちに豊穣の麦畑が広がるように、
皆が使い始めやがてVelocityが時代を席巻するようになる可能
性もあるわけだ。

先ずは種蒔く人となれ。
仕事で使ってみたところの具体的な感想を求む。


416 :デフォルトの名無しさん:03/07/15 16:52
自動送信メールの本文テンプレートとして*.vmを用意しておくような
使い方はしているけど、JSPの代替にするには機能面で心配。

VelocityでJSPを置き換えられちゃってる人に聞きたいんだけど、
カスタムタグが使えなくて困ることってほとんど無い?


417 :デフォルトの名無しさん:03/07/15 17:20
velocity使えねーな、おい。







なんて逝ってみる。

418 :デフォルトの名無しさん:03/07/15 18:39
後日同僚が>>417を見て『velocityって使えないね』なんて
いわない事を強く祈ってます。
同僚、後輩にチャンネラ大杉だっつーの。

あ、俺もか。

419 :デフォルトの名無しさん:03/07/16 07:58
Velocityはいいんだけど、本流でないっていうか。。

>>416
自分で書くべし
http://nekop.programmers.jp/velocity-tools/docs/ja/

420 :デフォルトの名無しさん:03/07/16 08:01
あ、でももりあがって欲しいですです

421 :デフォルトの名無しさん:03/07/16 10:02
>>416
>カスタムタグが使えなくて困ることってほとんど無い?

非常にシンプルな作りなので、
カスタムタグと同様の動きは、工夫次第でできる。

Toolsを自分で拡張することで、事実上何でもありになる。

422 :397:03/07/17 00:34
お、意外と興味ある奴多いんだなあ。ちょとウレチイ。

Cocoonみたいに、「全部XSLT」ってのもどうなんだろ。XSLTはそれ自身が
わけわからんから、難しいかな。PDFファイルとエクセルファイルが作れる
のは、おいしいかも。

くたばれJSP!というか、くたばれASPの亡霊!という気持ちがありまして。
何でロジック層をJSPで書くんだよ!というプロジェクトにただ今埋没中 つД`)
デバッグがムズイムズイ。
設計者に「あなたデバッガ使ったことないんですか?」と小一時間問い詰めたい。

423 :デフォルトの名無しさん:03/07/17 10:41
>>422
>何でロジック層をJSPで書くんだよ!というプロジェクトにただ今埋没中 つД`)
>デバッグがムズイムズイ。
>設計者に「あなたデバッガ使ったことないんですか?」と小一時間問い詰めたい。

というか、基本中の基本、MVC知ってますか?ってね

424 :デフォルトの名無しさん:03/07/17 14:16
strutsってJakarta TurbineやJakarta JetSpeed、 Cocoonと併用できる?
併用するの難しい?
ひとつのページにこれら全部使うの難しい?
さらに、これにくわえVelocity使うのは難しい?

425 :デフォルトの名無しさん:03/07/17 14:20
>>424
何言ってんだお前、全部別もんじゃねーかボケ
おそらく自分で言ってて意味わかてね-だろお前

426 :デフォルトの名無しさん:03/07/17 14:32
>>42
TorqueやEJBとくっつくんだから、そんなのできるに決まってるだろ。
難しいかどうかは君の能力しだいだと思う。

427 :デフォルトの名無しさん:03/07/17 14:54
>>426

てゆーか、たとえば、JSPファイル内にPHPコードを埋めることってできんの?

428 :デフォルトの名無しさん:03/07/17 14:58
>>427
それは考えればわかるんではないか

429 :デフォルトの名無しさん:03/07/17 15:05
>>428
できないとは思うけど>>425を見ていると「できる」といっているような・・・・。

他のファイルやディレクトリに置いてリンクさせるなり委譲させるなりは
できることはわかってるけどさ。

430 :デフォルトの名無しさん:03/07/17 15:06
さらに、PHPやJSPの中にSSIを埋め込んだり、と

431 :デフォルトの名無しさん:03/07/17 15:08
やっぱり一番気になるのはstrutsで作ったWebpageのメンテナンス、保守、管理、
拡張可能性だのう。
strutsは再利用しやすい?

struts-config.xmlを更新するのが面倒そうな印象がある。

432 :デフォルトの名無しさん:03/07/17 15:12
>>431
>やっぱり一番気になるのはstrutsで作ったWebpageのメンテナンス、保守、管理、
>拡張可能性だのう。
>strutsは再利用しやすい?

フレームワークって再利用部分を構成してるから
フレームワークって言うんじゃないの?

>struts-config.xmlを更新するのが面倒そうな印象がある
そんなこたーない

っていうか使ってみてよ一度でイイから


433 :デフォルトの名無しさん:03/07/17 15:22
>>432
いや、使ったんだけどさ。
ベーンを追加するたびにstruts-config.xmlに書き加えるってのがどうも。

434 :デフォルトの名無しさん:03/07/17 16:07
>>433
ある程度の開発してればわかると思うけど
そういう情報を
XMLにするか、HashMapにするかどんなやり方でやっても
絶対、修正個所は出てくる
おれはStruts出る前に自分でサーブレットの遷移先とリクエスト情報を
HashMapに入れるやり方でやってたが
どっちにしてもweb.xml書き換えないといけない

で、Strutsやこういうやり方の利点は新しくベーン作ったときに
その他のファイルは再コンパイルしなくてイイって言うことなんだよ
新たな要求が出てきた場合にそのclassファイルを客に渡して
struts-config.xmlを書き換えるだけでいいって言うこと

どうせ修正個所が出てくるならワザワザ再コンパイルするようなやり方と
XMLファイルを修正するのとどっちがいい?

逆に聞くけど他にいい方法ある?

435 :デフォルトの名無しさん:03/07/17 16:10
>>434
おい、俺・・・必死だな

436 :デフォルトの名無しさん:03/07/17 20:06
JBossならMBeanにしてホットデプロイってとこだな。


437 :デフォルトの名無しさん:03/07/17 20:20
>>436
おいちょっと待て
言ってること正しいが
脈絡分からん
全然わからん
だれ?誰なの?なに?何が目的なの?
ホットデプロイだなんて・・・
いやらしい!まあ、いやらしい!

438 :デフォルトの名無しさん:03/07/17 20:59
おい、このスレはなにか?
関白宣言じゃないのか?

♪もまいらおれに・・・・

♪Strutsのよさを・・・

♪教えてください・・・

♪たのむから・・・・

♪かなりむずかしい〜

♪話かもしれないけど・・・

♪Strutsのよさを・・・

♪聞かせてください・・・

439 :デフォルトの名無しさん:03/07/17 21:36
Velocity-Tool1.0リリースあげ
これでStrutsでのVelocity利用も進むか?

440 :デフォルトの名無しさん:03/07/17 21:47
♪strutsを仕事に・・・
♪使ったけれど・・・
♪言うに言えない・・・
♪ことだらけ・・・
♪かなり愚痴が多い・・・
♪話になるが・・・
♪もれの本音も・・・
♪聞いとくれ・・・

441 :デフォルトの名無しさん:03/07/18 01:45
>>434
他にいい方法。

あるディレクトリに突然クラスが現れたら
antでstruts-config.xmlを自動更新できないかな?

442 :デフォルトの名無しさん:03/07/18 01:46
Caminoを使うという手もあるけれど金がかかる。

Eclipseでリファクタリング機能もXML側に機能されるとありがたい。
そんなstrutsプラグインある?

443 :デフォルトの名無しさん:03/07/18 04:03
XDocletが上手いことやってくれないかな。


444 :_:03/07/18 04:08
http://homepage.mac.com/hiroyuki44/hankaku02.html

445 :デフォルトの名無しさん:03/07/18 06:50
おれはEJB手書きしていたので
Strutsの設定ファイルなんて全然苦じゃね
しかも1枚だし

446 :デフォルトの名無しさん:03/07/18 07:38
Strutsについて質問なんですが(他に何の質問するんだよ)
複数ページにまたがる項目を1枚のActionフォームで扱ってるんですが(そんな高度なことお前には無理)
1ページ目にチェックボックスがあるんですが(ホントかよ)
それをチェックして2ページ目に行った後「戻る」で戻り、(「戻る」だから「戻る」の他にどこ行くんだよ)
さらに、そのチェックボックスをチェックしないで2ページ目に進み(なんでまたそんなめんどくさいこと)
また、1ページ目に戻るとチェックボックスがチェックされている状態なんです(しらねーよそんなもん)

で、チェックボックスって言うのはチェックされているときはリクエストパラメータにkey=valueとして送られるんですが(まあな)
何もチェックされていない場合はそう言うのが送られずにActionFormの内容も前回のままなのかな?と、思い(思っちゃったよw)
送られてこないときにはActionFormのフラグをfalse(Actionクラスからset(false)呼び出し)に設定するようにしているのですが(汚ねーよ)
こんなやり方でいいのでしょうか?(動くならいいだろ?)

447 :デフォルトの名無しさん:03/07/18 07:52
で、追加なのですが(なんだよまた来たのかョ)
本にはresetメソッド使えと書いてあるんですが(105Pな)
ココで初期化しても複数ページにわたる場合は(だからお前には無理)
1ページ目に戻ると前回チェックされていたとしてもクリアされるんです(あたりまえじゃん)
なのでrequest内にそのチェックボックスのパラメータが送られてきたことを
調べるためにActionFormではなく前述のようにActionのなかでrequest.getParameter("...")
でnullかどうか調べています(だから動けばいいでしょ)





448 :デフォルトの名無しさん:03/07/18 08:54
>>446->>447

回答得たければもっと簡潔な文章かけよ。
くだらんこといれてると読む気にもならん。



449 :デフォルトの名無しさん:03/07/18 09:17
>>443
XDocletか。それもAntで使えない?

450 :デフォルトの名無しさん:03/07/18 10:13
兄さん>>448はマジですよ

451 :デフォルトの名無しさん:03/07/18 13:07
>>449
XDocletに@strutsタグがあったね。
XDoclet + ant + strutsで問題なさそう。

http://xdoclet.sourceforge.net/tags/apache-tags.html#Tag%20Usage,%20Class%20Level%20(@struts)



452 :デフォルトの名無しさん:03/07/18 18:27
 Struts本(JakartaプロジェクトカンタンStruts【秀和システム】)買った。
ここで大きな声で言おう!

『  こ  ん  な  も  の  い  ら  ぬ  !  』

 まぁ、これからはじめる人は良いかもしれないけど…。
少しだけ調べる力がある人(普通のプログラマにはある)なら
ネットで足りる。
 あえてフォローすると、Strutsタグについてのリファレンスにはなるかな?
こういうのはブラウザで見るよりも本の方がいいからね。
 俺は会社が『Struts本読んでみてよ(=人柱になれ)』と
お金をくれたから買ったんだよ。一日で読み終わるよ、まじで。

453 :デフォルトの名無しさん:03/07/19 00:20
>>452
同感。
発売前はちょっと期待してたけど、立ち読みして買うのやめた。
1.1ではActionMappingsはDEPRECATEDなのに、そのことに一切触れず、
あたかも現役クラスであるかのような記述がある。
タグや構成ファイルの説明でも、モジュール相対と書くべきところが
コンテキスト相対と書いてあったりする。


454 :デフォルトの名無しさん:03/07/19 00:25
>>452-453
ということは、ブランドに惹かれてオライリーのウマ本買った俺は正解ですか?

455 :デフォルトの名無しさん:03/07/19 01:28
ウマ本どう?

うちの近くじゃ売ってないから中身が確認できん

456 :452:03/07/19 03:42
>>454
むしろこっちが聞きたい。馬本はどう?
俺も>>455と一緒で近所に売ってないから未確認なんだよね。
でも、Strutsについての本と言ってもStruts自体シンプルな作りだから
どの本も似たような感じになりそう。
ポイントはタグ周りのリファレンスとしての利用価値と
サンプルアプリの質かな?
どちらにせよ、Struts処女じゃなければ(すべての)本の必要性は感じないかも。

457 :デフォルトの名無しさん:03/07/19 08:23
>>
たしかに、カンタンは誤字脱字多いな
しかし、馬(オライリ)が良いかというとそうでもない
なぜか?
はっきり言って、オライリーは
なんか、どの項目も駆け足で説明しているみたいで気持ち悪いよ
で、いつもオライリーではあることだが構成(まとめ方)が悪い

Strutsつかって開発している人には実際必要ないんじゃない?
と、おもうわけよ2冊とも・・・だいたいStrutsだって進化するはずだから
実際の生の情報を吸収したほうがいいし、こんな本買うほどのものでもない

458 :デフォルトの名無しさん:03/07/19 08:58
おい。おれ、オライリー1冊と
カンタンStrutsを間違って2冊買った
例の俺だが、
やっぱ、Struts自体それほど難解なものじゃないので
一般人は必要ない
さらに言うなら簡単ストラッツのほうを一冊誰かもらってくれ頼む

459 :デフォルトの名無しさん:03/07/19 10:17
>>458
よかったらもらえませんか?
メアド入れてます。

460 :デフォルトの名無しさん:03/07/19 10:19
マジレスすると、Struts本は全く不要。
ソースを追うのが一番楽に理解できるからるほんとに。
FrontControllerパターンだからエントリポイントは1ヶ所だし。

書籍のメリットはタグライブラリのリファレンスだけだな。

461 :デフォルトの名無しさん:03/07/19 10:32
>>460
はげどう。
Strutsのソースコードはそんなにたいした量じゃないしね。
「あの本使えねぇ」「この本使えねぇ」言ってるのは
自分で調べる能力が無く何かに頼らなければならない人か
英語できない人。

462 :デフォルトの名無しさん:03/07/19 12:01
そういえば、最近>>1にStrutsの良さを教えるやつがいないな(藁

463 :デフォルトの名無しさん:03/07/19 16:24
>>461
あほか。
「自分で調べる能力が無く何かに頼らなければならない人か
英語できない人。」のためにそういう本があるんだろ。


464 :デフォルトの名無しさん:03/07/19 16:42
大変よく出来ました◎
http://homepage3.nifty.com/coco-nut/
とても見やすく出来ました◎
http://homepage3.nifty.com/coco-nut/fe/ero.html

465 :デフォルトの名無しさん:03/07/19 22:15
>>456
>サンプルアプリの質かな?
ウマ本のサンプルアプリはオライリーのサイトからDLできるよ。
ショッピングカートなサンプルアプリ等があった。まだよくみてないから質はわからんけど。


466 :デフォルトの名無しさん:03/07/19 23:51
>>465
買ってない人は
http://sourceforge.net/projects/struts/
Beer4All Shopping Cart Demo が完全版?なのでこれを試して
感想をよろしければ聞かせて下さい。

おれは向いてないのかな。さっぱり分かりませんでした。
storefrontはなんか永続化のところが抜けてるみたい。
特にOJBというかTORQUEのテーブルの作り方とか
OQLとかORMがさっぱりです。
セッションBEANの方もよく分かりませんでした。
パッケージ名の分類もutilとかserviceとかframeworkとか
ああいう分類が普通なのでしょうか。
読んだ方教えて下さい。


467 :456:03/07/20 03:12
>>466
今日明日は無理だけど(明日から出張…)、適当に
暇見つけてみてみるつもり。
わざわざURLまで書いてくれてありがとう!

468 :デフォルトの名無しさん:03/07/20 12:36
>>463
そうだよ。だから「あの本がどうだ、この本がどうだ」と言っているヤツは
自分で調べる能力がない奴か英語できない奴に限られるんだろ?

469 :デフォルトの名無しさん:03/07/20 15:40
>>463
ネットワークの外部接続を許可していない情報センターに常駐している奴とかな。

んで、本はバカのためにあると言う奴らは、自分がどうやって大きくなったか
考えた方がいいと思うけど。
たまたまStrutという技術を自分がやろうとしたときに、自分に多くの
予備知識があったから、入門者向けの簡単な本なんて要らないと言う結果になっただけ。

ネット上で調べられると言うのは、たまたまその技術が公開されていて、
親切な人がいろいろやってWebに載せていてくれるから。
それを受け売りして理解した気になって、偉そうな気分になっている奴の方がバカ。
偉そうな事を言うなら、その理解した事を自分なりにまとめて、本やWebで公開しろよ。

どうせ、コミュニティに貢献しようと言う気も無いんだろうけどな。

470 :デフォルトの名無しさん:03/07/20 20:56
♪ソ ソ ソクラテスか プラトンか

 ニ ニ ニーチェか サルトルか

 みーんな悩んで大きくなった


471 :デフォルトの名無しさん:03/07/20 21:46
情報に金を払うと言う事を知らない後進国ニッポン

472 :デフォルトの名無しさん:03/07/21 01:11
本は、未知の概念を頭の中に導入する際には便利だよね。
それ以降は、リファレンス部分以外は役立たずになるけど。
そう思っていて買う分には何の問題もないっす。

473 :デフォルトの名無しさん:03/07/21 06:43
>>468
そんな自明なことをわざわざ書くなってことだよ。


474 :デフォルトの名無しさん:03/07/22 08:55
判ってないのはいらないといってる奴らだろ。

英語もできない、マニュアルも読まない、
そんな奴でも開発でStrutsを使うプロジェクトに入るかもしれない。
そういう奴を1%でも救うのがああいう本だ。

まあ、実際フレームワークってみっちり理解する一部の人と、
使えるレベルの多数の人で開発するために提供されるもんだろ?

その使えるレベルの底辺を如何に救うかが成功のポイントだと思うけど。


475 :456:03/07/22 21:31
>>474
なるほど〜、言われてみればそうですな。
納得。

476 :デフォルトの名無しさん:03/07/23 21:58
ちょっと疑問に思うことがあるので質問させていただきます

JSPファイルを直接呼ぶのはいけないらしいのですが
一番最初の画面だけは特別なのでしょうか?

Strutsに詳しい方教えてください

477 :デフォルトの名無しさん:03/07/23 21:59
すいません上げさせてください

478 :デフォルトの名無しさん:03/07/23 22:03
>>476
いけなくはないが、MVCをきっちり考えたら
リクエストを受けるのはViewのJSPではなくControllerのほうが望ましいな。
> 一番最初の画面だけは特別なのでしょうか?
一番最初だけはって何故思うのかな?

479 :デフォルトの名無しさん:03/07/23 22:04
可愛い娘たちが貴方を癒します・・・☆
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html



480 :デフォルトの名無しさん:03/07/23 22:18
>>476
>一番最初の画面だけは特別なのでしょうか?
いや、特別じゃないと思う。
『だめ、絶対』とは言わないけど、>>478
言う通りリクエストは常にControllerが処理するべきだと思うな。

481 :デフォルトの名無しさん:03/07/23 22:43
>>478,480
ありがとうございます

「一番最初」と思ったのは、本のサンプルなどでよく取り上げられる例で
loginさせるサンプルがあるのですが
それの入り口は直で.jspファイルなんですよね
で、この.jspファイルの遷移元ってどこから来たのでしょう?ということになるのです
ですから、一番最初は特別なのかなとおもいまして・・・
とくに、こういう場合
(最初にBeanの値を参照しなくてもいいので)例えばtextフィールドの中は空欄でも良い訳ですから
最初は特別なのかなと言う思いに拍車がかかったのかもしれません

で、また変なことなのですが.doっていうのはなんかセキュリティ的にいけないのかなと思い
変更したいのですがコレはStruts的には許されるのでしょうか?

482 :デフォルトの名無しさん:03/07/23 22:56
>doっていうのはなんかセキュリティ的にいけないのかな
この根拠がまったくわからん。なんで???

483 :デフォルトの名無しさん:03/07/24 00:28
>>481
JSP を直接参照するように設計するのも、まちがいはまったくない。
ただ、JSPを直接参照する場合には、Servletサイドで行うようなintelligentな処理をまったく行えなくなる。
これは後々おおきなデメリットになるよ。

必ず ActionServlet を介してから JSP なりの presentation layer に転送するのがベストプラクティス。
/WEB-INF 以下に JSP を配置することもある。
こうすれば、必ず ActionServlet を経由することになるし、JSP を直接リクエストされることもなくなる。



servlet-mapping には、*.do ではなく /do/* を使ったほうがよいとされているな。
たとえばExcelファイルを出力したりする場合に、拡張子で問題が起きることがあるらしい。

「セキュリティ的にいけない」というのは確かに意味がわからん。




484 :デフォルトの名無しさん:03/07/24 00:32
>>483
/do/* を使うとモジュール分割できなくなるよ。
ちょっと機能が多くなるとモジュール分割はとてもイイ!のに。

485 :デフォルトの名無しさん:03/07/24 01:02
拡張子がdo

Struts使ってやがるなこのサイト (メモメモ・・・

Struts重大なセキュリティーホール発見される

よっしゃあのサイト攻撃だ!

ってことじゃない?w
Strutsのセキュリティーってなによw

でもまあ、個人的には[do]を変えたいって言うのは賛成だな
だってダサいんだもんパチスロのMr.Doを思い出す

486 :デフォルトの名無しさん:03/07/24 03:07
>>485
>拡張子がdo
>↓
>Struts使ってやがるなこのサイト (メモメモ・・・
WAFも.doだろ。
なんでそれだけでStrutsに限定されるのか意味不明。

>>481
同梱サンプルやドキュメントに倣って.doを使う例がよく見うけられるが、
Struts的には変更しても無問題


487 :デフォルトの名無しさん:03/07/24 16:49
Perlやなんかで組んで、拡張子だけjava風にしてるサイトだってあるだろ。
IBMのどっかのサイトでそう薦めてたぞ。

488 :デフォルトの名無しさん:03/07/24 19:11
>>487
ソー希。

489 :デフォルトの名無しさん:03/07/24 21:53
>>487
こんな拡張子はいやだ
http://www.2ch.net/2ch.do


490 :デフォルトの名無しさん:03/07/24 22:56
お客さんに『拡張子は .do じゃなくちゃ駄目なの?』って聞かれて
『いや、理論上は何でも出来ますよ。』って答えたら『拡張子を
サイト名と同じにしてくれ』っていわれた。

ほんとにいいのか、お客さんよ〜。
http://***/logon.2ch
http://***/adduser.2ch
http://***/userlist.2ch
みたいな……。

………、いいかも。。。(藁

491 :デフォルトの名無しさん:03/07/25 13:23
>>490
別にいいんじゃない?

492 :デフォルトの名無しさん:03/07/26 00:59
>>491
2chを例にしたからよく見えるですよ、たぶん。。

実際のサイト名は10文字あるですよね。
例えるなら

http://***/logon.applejapan
http://***/adduser.applejapan
http://***/userlist.applejapan

こんな感じ。。。
別に悪いとは思わないけど、ちょっとやだなって…

493 :デフォルトの名無しさん:03/07/26 05:39
*.aspに変えてみた
「へー.NETですか?」
「いえJavaです」
「JavaでもASP使えるんですか?」
「Javaは言語も超越します」
「さすがですねJava」

494 :デフォルトの名無しさん:03/07/26 07:44
.douyo に変えてみた。
パラメータ付きのURLなんか
xxx.douyo?xxx=yyy
どうよ?

495 :デフォルトの名無しさん:03/07/26 08:29
>>494
洒落が効いててグッド

496 :デフォルトの名無しさん:03/07/26 19:35
>>494
動かすたびに動揺しているように見える。

497 :デフォルトの名無しさん:03/07/26 22:51
>>494
ついでに、アクションのpathの値も /ibmとか /microsoftにすると
/ibm.douyo?xxx=zzz とか /microsoft.douyo?aaa=bbb とかw

498 :デフォルトの名無しさん:03/07/27 00:01
/microsoft.douyo?bug=many&user=many

499 :デフォルトの名無しさん:03/07/27 02:42
■■■■■■■■■■■■■■■■■■■
■■□□□□■■□□□■■□□□□■■
■■□■■□■■■□■■■□■■□■■
■■□■■■■■■□■■■■□■■■■
■■□■□□■■■□■■■■■□■■■
■■□■■□■■■□■■■□■■□■■
■■□□□□■■□□□■■□□□□■■
■■■■■■■■■■■■■■■■■■■

500 :デフォルトの名無しさん:03/07/27 23:23
>>494
>「JavaでもASP使えるんですか?」
>「Javaは言語も超越します」

このあたりちょっとおかしいような気が。


501 :デフォルトの名無しさん:03/07/27 23:53
おまいら知ってた?
Actionがスレッドセーフじゃないこと。
インスタンス変数使っていたんだけどさ。

試験で他のクライアントの結果がでてきちゃってさ。ビクーリしたよ。
よくよく調べてみればinitializeでインスタンス作って、使いまわしてるなんて知らなくって。
やっぱframework使うにしても、中身と動き知ってから使うべきだな。



502 :デフォルトの名無しさん:03/07/27 23:54
ちゃんと reset() メソッドをオーバーライドしているか?

503 :デフォルトの名無しさん:03/07/28 00:02
>>502
ActionFormの話は誰もしてないぞ。

504 :デフォルトの名無しさん:03/07/28 00:02
>>501
ちゃんとUsersGuideに書いてあるのだが・・・
http://jakarta.apache.org/struts/userGuide/building_controller.html
4.4.1 Action Class Design Guidelines 見れ。

505 :デフォルトの名無しさん:03/07/28 00:20
>>504
ほんとだ。書いてあるね。しかも太字でご丁寧に。
全部一読しておくよ。

506 :デフォルトの名無しさん:03/07/28 01:46
StrutsでPCからと、ケータイからのアクセスを振り分ける処理でFilterを使いたいのですが
Filterの実装について決まり事はありますか?
普通のサーブレットみたく、web.xmlに指定してやろうと思うんですが
問題はないですよね?

507 :デフォルトの名無しさん:03/07/28 01:47
どういう発想をしたらActionのサブクラスにインスタンス変数を定義したくなるのか興味津々

508 :デフォルトの名無しさん:03/07/28 01:53
>>507
外注の新人と外注のPMに聞いてくれ。
ソース見なかったおれも悪い。

509 :デフォルトの名無しさん:03/07/28 01:57
>>506
問題はない。Filter継承してマッピングするだけだ。
でもURLの振り分けに使うだけだったら設計考え直したほうがいい。



510 :デフォルトの名無しさん:03/07/28 02:09
>>508
まあ実際のところ、スレッドセーフか否かなんて意識したことも無くて
単にインスタンス変数を使っていないから問題に気付いていない、
っていう連中も沢山いるんだろうね。


511 :デフォルトの名無しさん:03/07/28 02:30
>>509

ありがとうございます
とりあえず、logの取得場所を同じにしたい要件なんです

512 :デフォルトの名無しさん:03/07/28 09:01
すいません
質問なんですが
Actionサーブレットからの遷移先をJSPにするのではなく
XML文書をXSLでHTMLに変換してそれをそのまま出力(PrintWriter#print())としたいのですが
どうするのが一番イイのでしょうか?

いまは、
1.struts-config.xmlの<action-mappings>でforward要素書かない
2・Actionサーブレットの戻り値をnullにする
一応、これやれば動くのですが
このやり方でいいのか心配なのです。
こういう場合にStrutsには他のやり方用意されているのか?というのが知りたいのです。

Strutsマスターの方おしえてくださいお願いします

513 :デフォルトの名無しさん:03/07/28 09:07
>>512
わたしんとこで、帳票だすのにiTextでやてって、
ActionのForwordは書かずに、Responceに流して次画面遷移してるよ。

回答になってないかな?


514 :デフォルトの名無しさん:03/07/28 11:16
>>512
基本的にはそれでかまわないんだろうけど、
「リクエスト処理やDB処理などを行うアクション」と「XSLT処理とHTML出力を行うアクション」
は別にしといた方が良いと思う。後者がJSPの代わりにViewになるようなイメージ。


515 :デフォルトの名無しさん:03/07/28 12:46
>>512
「XML文書をXSLでHTMLに変換してそれをそのまま出力」だけを行うServletを用意して
IncludeActionかForwardActionを使うという方法もある。

<action path="/xmlToHtml"
type="org.apache.struts.actions.IncludeAction"
scope="request"
parameter="/path/to/xmlConvertServlet">


516 :デフォルトの名無しさん:03/07/29 00:37
TwoStepViewパターンを意識しておくことを薦める。

1stStep: 論理的画面として出力
2ndStep: 物理的画面として出力

たとえば XML出力→XSLT変換を加えてHTML出力とか。
表示に必要な内容を保持するオブジェクト出力→JSPで加工したJSP出力とか。

517 :デフォルトの名無しさん:03/07/29 00:51
XMLで一時ビューを出力するようにしておけば

→GUIに貼り付け
→PDFで出力、印刷
→HTMLで出力
→Word、EXCELなどで出力
等など

といったエンジンを作っておけば、どんなビューでも
簡単に作れるようになるね。Apache-Cocoonはステキだね。

518 :山崎 渉:03/08/02 02:13
(^^)

519 :デフォルトの名無しさん:03/08/02 18:36
strutsでフィルター使いたいのですが
それに相当するクラスっていうのは用意されているんですか?
いまは、普通にフィルター実装してるんですが・・・どうなんでしょう?

520 :デフォルトの名無しさん:03/08/02 18:57

フィルターは2.0からみたいなので、それしかないな
ただ、アプリ全体なら手間かかんないけど
一部だけ使うのならweb.xmlの編集しないといけないな
わかってるだろうけど

521 :デフォルトの名無しさん:03/08/02 19:04
http://www.jttk.zaq.ne.jp/akiroom846/


522 :デフォルトの名無しさん:03/08/03 20:38
すいません、
入力フォーム使わずにほかの処理だけする
Actionクラスはないのでしょうか?

523 :デフォルトの名無しさん:03/08/03 20:58
>>522
ある。っていうか
入力フォーム使うか使わないかは自由だが・・・?

524 :デフォルトの名無しさん:03/08/03 23:24
Strutsのモジュール機能を使って管理者用のモジュールを
作ろうと思っています。そして以下のようなアクションマッピングを
記述したのですが、一つ納得がいかない箇所が有ります。

モジュール名:admin

<action
 path = "/top"
 type = "package.name.AdminAction"
 scope = "request"
 input = "/WEB-INF/pages/admin/top.jsp">
  <forward name="success"path="/WEB-INF/pages/admin/top.jsp" />
</action>

このように記述したところ/WEB-INF/***としている箇所がすべて/admin/WEB-INF/***
というように解釈されます。
しかし、それだと一般から直接アクセスされるところにjspを置く事になってしま
います。それはしたくないのですが解決策は有るのでしょうか?

525 :デフォルトの名無しさん:03/08/03 23:32
<forward name="success"path="/WEB-INF/pages/admin/top.jsp" />

<forward name="success"path="/WEB-INF/pages/admin/top.jsp" contextRelative="true" />
とする。
input = "/WEB-INF/pages/admin/top.jsp"

ForwardActionを使ったactionマッピングを別途定義する。
<action path="/top"
parameter="/WEB-INF/pages/admin/top.jsp"
type="org.apache.struts.actions.ForwardAction" />
そして、inputからはそのactionを呼ぶ
input = "/top.do"

526 :デフォルトの名無しさん:03/08/03 23:40
>>525
なるほど。そうやってやるのですか。
でもそうするとforwardは良いですが、inputの為にForwardAction
を別途用意しなくてはいけないということになりますよね(設定ファイルに
記述するだけとはいえ…)。
とにかくこれで試してみます。


527 :526:03/08/03 23:40
『ありがとうございます』
の一言を忘れてました。


528 :デフォルトの名無しさん:03/08/04 00:26
>>524
pagesディレクトリをadminディレクトリに作成して、そこにjspを配置。
一般クライアントからpagesディレクトリ以下へのアクセスを禁止する

WEB-INFディレクトリ以下にページを置くのって、
単にWEB-INFディレクトリへの一般クライアントのアクセスが禁止されてるからでしょ?

529 :デフォルトの名無しさん:03/08/04 02:20
>>524
>>528の意見を勧めるよ。
完全にサーブレット介してのJSPアクセスしたいんであれば
web.xmlで*.jspのアクセスを禁じるとかやれば良いんではないの?

とりあえず、WEB-INF以下にjspファイル置くのはオススメしません。
※weblogicで痛い目に遭います…

530 :デフォルトの名無しさん:03/08/04 02:31
>>529
そうなのかぁ。
SturtsコミッタのHusted氏のWebサイトにあるThe Struts Catalogでは
"Place all Java ServerPages below WEB-INF"なんてあるんだけどね。
http://husted.com/struts/catalog.html
まあ、そこにも
"Note: This is not supported by all containers (e.g. WebLogic). "
なんて注意書きはあるんだけど。

531 :デフォルトの名無しさん:03/08/04 02:42
WEB-INF以下のリソースをアクセスできないっつーのはWebLogicが悪いんだよな。
Servlet2.3仕様から「Servletコンテナからはアクセス可能」と名言されてるのに。


532 :デフォルトの名無しさん:03/08/04 08:11
>>531
まあ、そうなんだけど実際WebLogic使う機会って多いからさ・・・

どうせならどのAPPサーバでも動くようなディレクトリ構成に
しておいた方が良いよ。


533 :デフォルトの名無しさん:03/08/04 10:48
Velocity Tools 1.0 リリースAge

534 :デフォルトの名無しさん:03/08/04 11:00
>533
ずいぶんのんびりした報告だな(w


535 :デフォルトの名無しさん:03/08/05 01:27
Torque ってどうよ?

536 :デフォルトの名無しさん:03/08/05 01:29
>>535
書く場所も違うし
時代も違う
どこから現れたんだ?w

537 :デフォルトの名無しさん:03/08/05 01:31
>>536
どこに書けばいいんだ?
いいじゃん、元Jakartaファミリーだろ。

538 :デフォルトの名無しさん:03/08/05 01:32
http://pc2.2ch.net/test/read.cgi/tech/1049030272
直ぐ近くやんけ。

539 :デフォルトの名無しさん:03/08/05 01:33
>>538
君、いい人だね。

540 :デフォルトの名無しさん:03/08/05 01:39
>>539
ついでに書き込んでおいてやったぞ

541 :デフォルトの名無しさん:03/08/05 01:44
>>540
Torqueについては、そのスレに死ぬほど書いてある。
過去ログ読んでから書けや。

542 :デフォルトの名無しさん:03/08/05 01:50
>>540
いい人だが有能ではないね。

543 :デフォルトの名無しさん:03/08/05 16:47
ああ、またTorqueの被害者が一人...


544 :デフォルトの名無しさん:03/08/05 17:06
>>543
ていうか、そういう書き込み見てて恥ずかしいからやめれ。
自分で使いこなせてないって宣言してるようなもん。
機能をきちんと把握してれば、十分業務レベルで使いこなせてるぞ。

アーキテクチャーがよろしくないとか、そういう話は別ね。(念のため)


545 :デフォルトの名無しさん:03/08/05 18:56
>>544
すまんのう。
3.0 beta2の頃の駄目駄目なイメージがいまだに残ってるもんで。


546 :デフォルトの名無しさん:03/08/05 23:29
>>545
いったい何が駄目駄目なんだ?
具体的に挙げてくれ!

547 :デフォルトの名無しさん:03/08/06 00:07
最近、とりあえずTorque叩いとけ的な雰囲気を感じるね。
単に動作検証に失敗してるだけなんじゃない?

548 :デフォルトの名無しさん:03/08/06 00:16
>>547
そうなのかあ。
何が駄目なのか具体的に挙げてくれれば、グルたちが助けてくれるだろうにのう。

549 :デフォルトの名無しさん:03/08/06 00:27
Torque別に不満ないけどなぁ。
あえて言うとすればパフォーマンスくらいかな?
適当にSQL直で書くよりはいいけど。

550 :デフォルトの名無しさん:03/08/06 00:30
>>549
パフォーマンスって別にSQL実行するだけでしょ?
ひょっとして JOIN せずに毎回DB見に行ってるとか?

551 :デフォルトの名無しさん:03/08/06 00:31
>>538
が Torque スレ教えてくれた。

552 :デフォルトの名無しさん:03/08/06 16:09
>>550
Oracleだと、ちょっとしたSQLの書き方によって死ぬほどパフォーマンスが
変わったりするので、意図したとおりのSQLを吐けないと困るときがあるのよ。
んで、吐かれるSQLをいちいちチェックしながらTorque(に限らないORM)で書いて
いくと、結局直でSQLを書くのと変わらないというか…
納品物のソースにはSQLは直接出てこないので、見た目綺麗になるけど。

まぁ、Oracle使わないといけない時点で、ORMを使うという選択肢はないんだけどね…

553 :524:03/08/06 18:33
>>528-529
返事遅れましたがレスありがとうございます。
おっしゃる通りWEB-INF以下にjspを置くのは
直接のアクセスを禁止する為です。

いろいろ考えた結果>>528氏の意見でやってみようと思います。
(ほとんど修正要らないし)

なにより設定ファイルがスッキリするのがうれしいっすね。

554 :デフォルトの名無しさん:03/08/06 20:09
>>552
Torqueじゃないけど、うち今使ってるのよ。
ORMとOracleの組み合わせ…

参照の組み合わせはすべてviewで作成したんだけど
保守に入ってそのアプローチで良かったと死ぬほど思った。
データ件数大幅に変わって、実行計画が変わっちゃったときとか青ざめるよね。


555 :デフォルトの名無しさん:03/08/08 02:18
>>517
> XMLで一時ビューを出力するようにしておけば
ってのに大変興味あるんですが、いいツールあります?

Velocityあたりでできるんでしょうか?
会社でだれかがjtiddyとかいってたけど微妙に違う気がする。。。。



556 :デフォルトの名無しさん:03/08/08 12:18
>>555
まあ、ツールって言うか
サーブレットCocoon使ってみなさい

557 :デフォルトの名無しさん:03/08/09 12:19
ちょっと質問なんですが、

DynaValidatorFormで、scopeをrequestで使用した場合はform-propertyの内容が
毎回初期化されますが、scopeをsessionで使用した場合は最初の一回初期化され
ずっとform-propertyの内容が保持されます。

で、あるページに来たらform-propertyの内容を初期化したいので、下記のように
初期化しているのですが、form-propertyの数が多いので大変です。ほかによい方
法がありましたら教えてください。

BeanUtils.setProperty( form, "aaa", "" );
BeanUtils.setProperty( form, "bbb", "" );
BeanUtils.setProperty( form, "ccc", "" );
BeanUtils.setProperty( form, "ddd", "" );




558 :デフォルトの名無しさん:03/08/09 12:23
>>557
resetメソッド呼べばいいじゃん

559 :デフォルトの名無しさん:03/08/09 12:28
>>558
でも、Dynaだぜ?

>>557
正しいやり方はこうだ!

request.getSession().removeAttribute("属性名");



560 :&rlo;ンアア&lro;naMsturtS:03/08/09 12:31
>>559
そういうことだ

561 :557:03/08/09 12:39
>>558-559
すばやいレスありがとうございます。

sessionの属性を削除するんですか、それは気が付きませんでした。

ありがとうございました。

562 :デフォルトの名無しさん:03/08/09 12:43
>>561

Servletをきちんと理解する前に
Strutsに手を出しただろ?
それじゃ困るんだよ。
基本だよ基本。

563 :517:03/08/09 14:26
>>555
Apache-Cocoonだって書いたつもりでしたが。
http://cocoon.apache.org/

564 :デフォルトの名無しさん:03/08/09 18:22
>>559
resetメソッドあるよ?なんでDynaだと呼んじゃいけないのさ?
http://jakarta.apache.org/struts/api/org/apache/struts/action/DynaActionForm.html

struts-config.xmlにinitial書いているのならresetじゃなくてinitializeメソッド呼べ。
initializaなら「Initialize all bean properties to their initial values」だ。

565 :デフォルトの名無しさん:03/08/09 21:00
>>564
まあな、
だが基本は>>559のやりかただ!なぜか?
チェックボックスとかもしあった場合にはresetは効かない
そういう意味でもsession.removeAttribute(attName);
の方がいい


566 :デフォルトの名無しさん:03/08/09 21:07
>>565
> チェックボックスとかもしあった場合にはresetは効かない
ハぁ?

567 :デフォルトの名無しさん:03/08/09 21:10
>>565
中途半端な知識で混乱させるのいいかげんにやめれ

568 :565:03/08/09 21:17
>>566-567

ん?おまえらDynaActionFormの
resetメソッドを好きなように実装できるの?そんなばかな・・・
それとも、言っている事が上手く伝わってないのか・・・

569 :デフォルトの名無しさん:03/08/09 21:25
> チェックボックスとかもしあった場合にはresetは効かない
これ解説してくれ

570 :デフォルトの名無しさん:03/08/09 21:26
>>568
form-propertyを初期化したいのならinitialize使えばいいわけだが

571 :565:03/08/09 22:19

>>569
>チェックボックスとかもしあった場合にはresetは効かない

チェックボックスの値をクリアするにはresetメソッドの中で
チェックボックスをクリアする処理を自分で書かないといけません
コレはなぜなのかまずわかりますか?
チェックボックスの値はチェックボックスがチェックされているときしか
リクエストパラメータに送られません
なので、最初にtrueを入れてフォームのSUBMITボタン押したとします
そのあと、今度同じフォームでチェックを外したとしても
リクエストパラメータには「checkbox1=false」等というパラメータは送られません
つまり、Formの中ではずーっとチェックボックスに当たるプロパティはtrueになります
なので、resetメソッドの中でチェックボックスをクリアする処理を自分で書かないといけません

これと同じでDynaActionFormのresetメソッドの中でチェックボックスをクリアする処理は自分で書かないといけません
でもコレは不可能です。DynaActionFormはそのまま使うクラスなので無理です。




>>570
>form-propertyを初期化したいのならinitialize使えばいいわけだが

initializeは、どこでどのタイミングで呼びますか?




572 :デフォルトの名無しさん:03/08/09 22:28
>>571
ご苦労さんwよくできました。
initilizeは好きなタイミングで呼べばいいんじゃないの?
>>557が一生懸命BeanUtils・・・と書いているタイミングで呼べば。

573 :デフォルトの名無しさん:03/08/09 22:33
>>571
「チェックボックスとかもしあった場合は」じゃなくてDynaActionFormでは、と言うべきでは?
だってチェックボックスの有無に関係なくDynaActionFormではそのままではプロパティ値の初期化はできないのだから。
それとも、チェックボックスじゃない場合はDynaActionForm使った場合でもプロパティ値の初期化できるとでも?


574 :565:03/08/09 22:57
>>572

>ご苦労さんwよくできました。
コレはどういう意味が?;;

>>573

初期化は出来ます

resetは出来ません←たぶんこっちが言いたいのだと思いますが・・・

そうですね

575 :デフォルトの名無しさん:03/08/10 00:07
>>565のいってる事は合ってると思うよ。
反論してる奴の方が意味分からん。

sessionスコープでのチェックボックスの取り扱いって
色々面倒くさいんだよね…


576 :575:03/08/10 00:11
あと、DynaActionFormのreset実装だけど、必要なら個別に継承を利用したらいかんの?
Struts1.0.2でActionFormを死ぬほど作ってたから、粒度が細かくなってもあまり違和感がない・・・
※いや、試してないんだけどね。

577 :デフォルトの名無しさん:03/08/10 00:26
継承ならDynaの意味ないですので

578 :デフォルトの名無しさん:03/08/10 00:35
>>577
え?Dynaの機能を利用しつつresetとか特殊な処理とかを実装する
拡張継承って意味なんだけど。
プロパティとか主要validateを書く必要ない分、楽にならないかな?


579 :デフォルトの名無しさん:03/08/10 00:45
リセットするプロパティ名とかどうやって取得するの?
それやるぐらいだったら、最初からActionFormつかっても良いのではないでしょうか?
という意味です。


580 :デフォルトの名無しさん:03/08/10 01:15
>>579
プロパティをstruts-config.xmlだけの記述で済ませたいって事だよね。

プロパティ記述がActionFormとstruts-config.xmlに分散しちゃうのは
やっぱだめなのかな。
※LabelValueのListとかをActionForm側に持たせたり。

項目数が多いときにDynaとValidatorの組み合わせが素敵だったもんで…



581 :デフォルトの名無しさん:03/08/10 11:12
reset()って呼び出すものじゃなくて、呼ばれるものだろ?

フレームワークがreset()を呼び出したときに、
必要な処理(booleanなフィールドをfalseにするとか)を行うものだと思っていたが。

フォームビーンがセッションスコープの場合は再利用されるから、
reset()のタイミングで初期化が必要なわけでしょ。


582 :デフォルトの名無しさん:03/08/10 11:18
>>581
明示的に呼んじゃいけないわけじゃないだろ?
アプリケーションから呼ぶと何か不具合でもあるのか?
フレームワークからしか呼んでは行けない理由でもあるのか?

583 :581:03/08/10 11:27
>582
おっしゃるとおり、呼び出しても何の問題もありません。

ただ >>557 の状況で、reset()にクリアを実装してしまったら、
ページ毎にreset()が呼び出されて、フィールドがクリアされてしまうから、
元も子もないと思うのだが、間違っているか?


584 :デフォルトの名無しさん:03/08/10 14:10
詳しく説明するとだいたいあっていますが、随所に誤解を招く発言が気になりますね。
・reset()って呼び出すものじゃなくて、呼ばれるものだろ?
 →そうとも限りません
・ チェックボックスとかもしあった場合にはresetは効かない
 非常に紛らわしい表現です。普通はチェックボックスがある場合はresetを使え、と言われていますが
 この表現だとチェックボックスがあるとresetメソッドが使えないように読めますよね?

565と581が同一人物かはわかりませんが。
557は572が書いたようにinitializeを呼ぶのが一番手っ取り早いと思います。
呼ばれるタイミングにもよるがremoveAttribute使った場合はパフォーマンスが気になります。
そのたびに毎回DynaBeanオブジェクトを新たにインスタンス化しますので。

585 :デフォルトの名無しさん:03/08/10 15:21
565の自作自演と捕らえても宜しいでしょうか?

586 :デフォルトの名無しさん:03/08/10 15:44
>584
今まで、resetを呼びたいと思ったことは無いんだが、
どういうときに呼びたくなるのか、教えてくれ。

Actionの中から呼ぶんだよな?

Actionの中に入ったときには、すでにリクエストのパラメータによって
フォームビーンの値はセットされているだろ。
それからreset()呼んで、どう役に立つんだ?


587 :デフォルトの名無しさん:03/08/10 20:00
レベル低すぎ

588 :デフォルトの名無しさん:03/08/11 03:09
どうでもいいんだけど、DynaActionFormは、私はいつも使っていません。
プロジェクトでも禁止にしています。

Map と同様で、DynaActionForm の場合、キー名の文字列が間違っていてもコンパイルでは
わからないですよね? 動かしてみないとわからないため、私はどんな小さい ActionFormでも、
いつもクラスをわざわざ作成しています。

じゃぁおまえは Map を使わないのか?と言われるとそんなことはないけど....

589 :デフォルトの名無しさん:03/08/11 08:39
>>588
それじゃ、BeanUtilsも使えないな。
っちゅうか、Strtus使えないじゃん。そんなこと言ってたら。
コンパイルは通るけどstruts-config.xmlの
<form-bean>や<acrion>に書くクラス名が違っていたら・・・

590 :デフォルトの名無しさん:03/08/11 13:07
>>589
避けられる範囲のもは避けるということだろ。
日本語の読解が苦手だとチーム開発で苦労するよ。


591 :_:03/08/11 13:14
http://homepage.mac.com/hiroyuki45/jaz01.html

592 :デフォルトの名無しさん:03/08/12 04:18
<html:text property="hoge[0]" value=""/>
<html:text property="hoge[1]" value=""/>
<html:text property="hoge[2]" value=""/>

でクエリーに
yesI.do?hoge[3]=aaa
と直接入れられると問答無用でjavax.servlet.ServletException: BeanUtils.populate
が発生します

validateチェックとか例外ハンドリングもできないしどうすりゃいいの?


593 :デフォルトの名無しさん:03/08/12 11:59
>>592
向こうが勝手に配列にしてくれるので

<html:text property="hoge" value=""/>
<html:text property="hoge" value=""/>
<html:text property="hoge" value=""/>

と、書いてください

594 :592:03/08/12 17:32
>>593

うーん、それだと配列の順番がバラバラになるから困るんだよね
実際には
<html:text property="hoge[0]" value=""/> <html:text property="foo[0]" value=""/>
<html:text property="hoge[1]" value=""/> <html:text property="foo[1]" value=""/>
みたいに対応してるし

わざわざそんなクエリー入れる奴はいないだろうけど500エラーは何か恥ずかしい

595 :デフォルトの名無しさん:03/08/12 17:42
>>594
バラバラってどういうこと?
書いてる順番になるはずだが・・・
ソースの表示でHTMLを見てごらんよ

596 :デフォルトの名無しさん:03/08/12 17:48
>>594
500エラーが恥ずかしいってだけなら、エラーページ用のJSP用意してweb.xmlでエラーページ指定してやれば?

597 :デフォルトの名無しさん:03/08/12 20:49
っていうか、パラメータでエラーになっちゃうような設計がマズイ
面倒だけどパラメタの検証するようにつくれよ
無効な値の場合TOPページ飛ぶようにするとか・・・

598 :592:03/08/12 22:11
>>595

そのままでは
<html:text property="hoge" value=""/> <html:text property="foo" value=""/>
<html:text property="hoge" value=""/> <html:text property="foo" value=""/>

<input type="text" name="hoge"> <input type="text" name="foo">
<input type="text" name="hoge"> <input type="text" name="foo">

となるだけで
確かにlogicタグのループ内ででindexed="true"にすれば勝手に配列にしてくれるけど
結局[0] .. [1]というようなnameになっていまうわけなんですよ

>>596
まあ、そうするしかないんだが最初からエラーがでるのわかってるのに設計ミスに
気付いてないと思われそうじゃん?そんなことないか
せめてvalidateのところまで到達してくれればerror吐けるのに

>>597
検証したいんだけどどこでできるかと悩んでるわけです
今のところ解決策としてはFilterでActionServletにくる前に検証してリダイレクトさせるくらい
しか思いつかないっす

ちなみにstrutsのexampleで試しても500エラーでます
こういう配列使って構築してるサイトならどこでもそうなると思うけど

599 :デフォルトの名無しさん:03/08/12 22:58
>>592
力になりたいのだが、何をやりたいのかよくわからん

まず、ActionFormの中では

String[] hoge=new String[5];//数は適当だが
String[] foo=new String[5];
とかなってるだろ?

JSPの方は
<html:text property="hoge" value=""/> <html:text property="foo" value=""/>
<html:text property="hoge" value=""/> <html:text property="foo" value=""/>
↑のままでイイ

でvalidate()メソッドを実装すればいいんでないの?


ただし、このフォームのページにもう一度戻ってくる必要がある場合
教えてくれ(この場合、俺も散々悩んだからな・・・1スレでは足りない)


600 :592:03/08/13 00:01
>>599
ありがとうございます

具体的な例として複数の名前:フリガナを入力するフォームがあるとします
htmlではこうなりますよね

名前1:<input type="text" name="name[0]">フリガナ1:<input type="text" name="kana[0]">
名前2:<input type="text" name="name[1]">フリガナ2:<input type="text" name="kana[1]">
名前3:<input type="text" name="name[2]">フリガナ3:<input type="text" name="kana[2]">

idex 0→名前1:フリガナ1
idex 1→名前2:フリガナ2
idex 2→名前3:フリガナ3
と対応してる必要があるわけです

ActionFormは
String[] name= new String[3];
String[] kana = new String[3];
こんな感じ

もちろん普通に入力してsubmitしてくれれば何の問題もないわけですが
input.do?name[3]=aaa
とクエリーを手入力するユーザーがいた場合
validateやexecuteにいく前に500エラーが発生する
本来ならエラー画面にforwardして「入力項目に誤りがあります」等と表示するべきですよね

配列じゃなくname1 kana1 name2 kana2にすればいいかもしれないが
それでは拡張性がなくなるし保守が大変そう

601 :デフォルトの名無しさん:03/08/13 00:27
>>600
いま、自分が作った似たような感じのアプリで試したのですが
エラーになりますな・・・
javax.servlet.ServletException: BeanUtils.populate
java.lang.ArrayIndexOutOfBoundsException

配列の場合は考慮されてないか・・・
エラーページ作るしかないのか?



602 :デフォルトの名無しさん:03/08/13 00:29
>>595
サーバにリクエストを送る時点でブラウザが
HTML中での出現順にならべて送るようにW3Cの仕様で規定されているが、
Servletのrequest.getParameterValues()では何の規定もないはず。

たぶん出現順にならんでるんだけどね。


603 :デフォルトの名無しさん:03/08/13 03:26
>592
想定範囲外のindexはsetしなければよい

public void setFoos(int i, String foo) {
  if (0 <= i && i < 3) {
    // set
  }
}

604 :デフォルトの名無しさん:03/08/13 04:42
>>603
それを、どこに書くの?

605 :デフォルトの名無しさん:03/08/13 14:11
>>604
Strutsつーか、Java頑張れよ…

606 :デフォルトの名無しさん:03/08/13 14:30
>>605
お前だろボケw
配列のプロパティで容量オーバーのインデックスが送られてきたときは
なぜかそのままエラーになる
なので>>603のようなことやったとしてもその前にエラーになる
だから「どこに書くの?」ってこと

>>603
どこに書くんですかそれを?
public void setFoos(int i, String foo)←このメソッド誰が呼ぶんでしょうか?
例え呼んだとしてもコレ呼ぶ前にエラーになってます

607 :デフォルトの名無しさん:03/08/13 15:05
>606
605じゃないけど
>public void setFoos(int i, String foo)←このメソッド誰が呼ぶんでしょうか?
commons-beanutilsでpopulateしてくれるんじゃないの?

String[] foos; のセッタとして
void setFoos(String[]) のかわりに void SetFoos(int i, String foo) を書いたら。


608 :デフォルトの名無しさん:03/08/13 15:12
>>607
ですから、エラーが
javax.servlet.ServletException: BeanUtils.populate
なんですよ!
だから、
>String[] foos; のセッタとして
>void setFoos(String[]) のかわりに void SetFoos(int i, String foo) を書いたら。
こんなことやっても無理その前に前述のエラーでます


609 :デフォルトの名無しさん:03/08/13 15:21
FormBeanが生成される前段階で、フォームから送信された値のパースで
コケてるということだろ。
>>603>>605はStruts初心者ということで許してやってくれ。


610 :デフォルトの名無しさん:03/08/13 17:35
元の説明が悪すぎるな。

611 :デフォルトの名無しさん:03/08/13 17:41
>607
やってみたのか?


612 :デフォルトの名無しさん:03/08/13 17:44
592が粘着な上に自己解決できない人間だということで終了なのでは?

613 :599=601=604=606=608:03/08/13 17:45
>>610

592のことか?
まあそうだが、実際動かせば、言ってる事が理解できる
動かさずに理解不能とか言ってる奴はいかんけどね

>>611

607じゃないけど、おれは全部確認した

614 :599=601=604=606=608:03/08/13 17:46
>>612
あんたが粘着って思ってるのは
質問者(>>592)ではなくて
多分俺のことだと思うが・・・

615 :609:03/08/13 18:48
結局、commons-beanutilsのPropertyUtils.javaの1469行目辺り、
setIndexedProperty()メソッド最後の以下の部分で
ArrayIndexOutOfBoundsExceptionを捕捉するようにするしかないのでは?

> } else {
> // Modify the specified value in the array
> Array.set(array, index, value);
> }



616 :609:03/08/13 18:49
もしくは、org.apache.struts.util.RequestUtilsのpopulate()
メソッド内ですかね。


617 :デフォルトの名無しさん:03/08/13 19:00
void setFoos(int k, String foo) を作ったときに、同時に
String getFoos(int k) も作った?

組だよ。


618 :デフォルトの名無しさん:03/08/13 19:02
void setFoos(String[] foos);
String[] getFoos();
は、削除しなきゃだめだよ。


619 :デフォルトの名無しさん:03/08/13 21:55
599=601=604=606=608が粘着な上に自己解決できない人間だということで終了なのでは?

620 :デフォルトの名無しさん:03/08/13 22:32
やれやれ。 Jakartaも浮かばれないね。


621 :デフォルトの名無しさん:03/08/13 22:53

>>619>>620

質問にも答えず、横から茶々入れるやつらが言うことではありませんよ。

622 :デフォルトの名無しさん:03/08/13 22:54
なぜ質問に答えていないと断定できるのだね?


623 :デフォルトの名無しさん:03/08/13 23:13
>ですから、エラーが
>javax.servlet.ServletException: BeanUtils.populate
>なんですよ!

自分の思い通りの答えが返ってこないからってキレるなよ
答える気なくす

624 :デフォルトの名無しさん:03/08/13 23:38
>>622>>623


>なぜ質問に答えていないと断定できるのだね?
今まで解答してた人がそんな発言しますか?

>>ですから、エラーが
>>javax.servlet.ServletException: BeanUtils.populate
>>なんですよ!
>自分の思い通りの答えが返ってこないからってキレるなよ
>答える気なくす

本当にそうでしょうか?自分が勘で答えているから答えられないだけではないですか?
それに、このことは既に>>601で述べられています
散々「前スレ読め」と言われているのに
見ないで適当な答えを返せばキレてもしょうがないのでは?(実際にキレてるのかは知らんが)
つまり、前を読んでいない&試していないのに茶々入れてるのがバレバレってことですね

625 :デフォルトの名無しさん:03/08/13 23:59
ったく、答えてもらってるのに粘着するなよ。

626 :デフォルトの名無しさん:03/08/14 00:10
ソースあるだろ。ソース嫁。>粘着


627 :621、624:03/08/14 00:10
>>625

私は質問者じゃないですよ?

628 :デフォルトの名無しさん:03/08/14 00:28
>>627
要するにお前が、こういうときだけ出てきて茶化す奴ということだな。

629 :621、624:03/08/14 00:42
>>628
そんなことはないです

630 :デフォルトの名無しさん:03/08/14 01:00
621,624が粘着といわれる理由がわかったよ…

631 :621、624:03/08/14 01:02
>>630
どのあたりでしょうか?

632 :デフォルトの名無しさん:03/08/14 01:15
盛り上がってる所すいませんが、一つ教えて下さい。
『Struts1.1rc2を使用』
DynaValidatorFormを使用している箇所で同時にファイルアップロード
を行いたいのですが、struts-config.xmlにはどのような記述を
すれば良いのでしょうか?

現在以下のような記述になっています。
<form-beans>
  <form-property name = "comment" type="java.lang.String" />
  <form-property name = "image"type = "org.apache.struts.upload.FormFile" />
</form-bean>

しかしFormFile自体はインターフェースだからだと思うのですが、以下のようなエラーが
発生します。

org.apache.commons.beanutils.ConversionException:
Cannot assign value of type 'org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile'
to property 'title_image' of type 'java.lang.String

もしかして! と思ってstruts-configの中でFormFile を DiskFile に変更して試してみましたが、
同じエラーが発生しました。
何か解決方法があるのか?
ActionFormを作るしか無いのか?
教えて下さるとうれしいっす!

633 :632:03/08/14 01:16
ごめんなさい。
エラー文字列内の[title_image]を[image]と読み替えて下さい。

634 :632:03/08/14 01:42
あ’’ーーーーーーーーーーーー

申し訳有りません。
自己解決しました。
DynaValidatorFormではなく
DynaValidatorActionFormを使用したところ
解決したようです。

ちなみにまだDynaValidatorFormとDynaValidatorActionFormの
違いも分かっていません。ドキュメント読んでみます。

スレ汚し激謝

635 :621、624:03/08/14 01:45
>>632
あのですね
ファイルノアップロードする時は
ActionFormを使用してください

636 :デフォルトの名無しさん:03/08/14 03:15
相手がすでに理解したことを、結果だけ繰り返し言っても仕方ないだろ。
関根潤三かよ。

637 :621、624:03/08/14 04:13
>>636
正直スマンかった
かぶっただけなんだよ

638 :デフォルトの名無しさん:03/08/14 08:20
>>634
「解決した」と思っているところでスマソだが
それでは解決じゃないんだよ。
http://jakarta.apache.org/struts/userGuide/building_controller.html#dyna_action_form_classes
DynaActionFormとそのサブクラスではプロパティの型として
org.apache.struts.upload.FormFile型はサポートしていないのだよ。
>>635の言うように通常のActionFormを使いなさい。
DynaValidatorFormとDynaValidatorActionFormの違いはValidatorが
「どのActionFormか?」を識別するのにform-beanのnameの値で識別するか
actionのpathの値で識別するかの違い。
つまり、ValidatorActionFormやDynaValidatorActionFormは
同じActionFormでもaction毎に細かくプロパティのチェック条件を
分けられる。ただし、これらは今のところJavaScriptの併用は不可。

それから、なんでRC2?1.1final出てるよー

639 :609:03/08/14 12:40
>>624
おい!
俺も一旦お前を擁護してみたが、ちゃんと検証し直したら>>617
通り、action.do?foo[10000]=fooでアクセスしても例外など起きなくなったぞ。
今からでも遅くないから謝っとけ。な。

FromBeanにプロパティ String[] name がある場合、
public String getName(int i) {
return name[i];
}
public void setName(int i, String name) {
if (0 <= i && i < this.name.length) {
this.name[i] = name;
}
}
の二つのメソッドが定義されていれば、範囲外の添字が
パラメータとして指定されても問題ない。


640 :621、624:03/08/14 12:43
>>632
あのですね
ファイルノアップロードする時は
ActionFormを使用してください

641 :デフォルトの名無しさん:03/08/14 13:03
解決方法はいろいろあるかも知れないんだから、自分が知らない方法を提示している
人がいるからって、罵倒するのはどうかと思うんだが。
とりあえず試してみろと言いたい。
せっかく教えてもらっているのに、自分でそれを解決できなかったからって、
できないって!なんて言われたら正直答える気なくす。

642 :621、624:03/08/14 13:05
>>609

え?いつ擁護しました?
ホントに勘違いしているようですが
私は、>>608さんじゃないですよ

そんなコトより、あなたの発言
>>603>>605はStruts初心者ということで許してやってくれ
↑についてあやまっておいた方がいいと思われますが・・・


643 :621、624:03/08/14 13:13
>>632
あのですね
ファイルノアップロードする時は
ActionFormを使用してください

644 :デフォルトの名無しさん:03/08/14 13:17

>>641 名前:デフォルトの名無しさん 投稿日:03/08/14 13:03

言ってることはよくわかるし、正しいけど
お前自体普段からそう思って答えたりしてんのか?
お前自体がゴチャゴチャ言われたからってマジになんなよ
それに、相手が切れたってカンケー無いじゃんほっとけばいい
どうせ、夏なんだし・・
まあたぶん>>605>>606当たりでおかしくなってきたのだが・・・

645 :デフォルトの名無しさん:03/08/14 13:19
んーとですね、解らないことがあったらとりあえず掲示板で聞こうなんて思っているうちは
多分上達しないんで、自分でいろいろやって理解するほうがいいです。
いろいろなMLなんか見てても、質問する人は毎回質問か、単発の質問で消えるか
ばっかりで、その人が答える側に回ったのなんて、殆ど見たことないしなぁ。

とりあえず、思いつく限りのすべてのパターンを使ってみればいいんじゃないか?

あと、このスレはいつからStruts質問スレになったんだ?

646 :デフォルトの名無しさん:03/08/14 13:20
>>641おまいのやる気はその程度プ

647 :デフォルトの名無しさん:03/08/14 13:22
>>644
質問して教えてもらうということは、どういうことか理解しての発言ですか?
相手に切れられてまで教えようと思う人はマゾ以外皆無だと思いますが。

648 :デフォルトの名無しさん:03/08/14 13:23
こうやって回答者がどんどん減って行くんだなぁ…
残るのは真性厨房のみ。

649 :デフォルトの名無しさん:03/08/14 13:29
>>674
なんだよ、自分の時だけ静粛に語りやがって


650 :592:03/08/14 13:30
>>603
の通りやればできました

どうもcommonsのBeanUtilsの仕組みをよくわかってなかったみたいで
添字つきのアクセッサは書いてたのですがヨソでも使われてるとは考えてませんでした

皆様どうもお騒がせしました

651 :デフォルトの名無しさん:03/08/14 13:34
>静粛に語り

静粛?

口パク?
それとも、目で物を言うということ?

652 :デフォルトの名無しさん:03/08/14 13:40
>>647

この件に関した話じゃないけど
回答者の言葉じりつかんで、
つっこみいれるのはいいけど、もう少し穏やかに印象良く指摘できないものかなとも思う
逆に、指摘された方は素直に「すまんかった」っていえればいいいのだが・・・

653 :デフォルトの名無しさん:03/08/14 13:54
>>608 を見て、誰が追加で回答しようと思う?
せっかく答えても、正しく当てないで、こんなことやっても無理とか言い出すし。
これって、言葉尻捕らえてることになるのか?

654 :652:03/08/14 14:22
>>653
俺に言ってる?
>この件に関した話じゃないけど
って書いてます。

655 :デフォルトの名無しさん:03/08/14 14:30
お前ら、ここをどこだと思ってる?
煽りがいやなら、MLで質問しろ。
回答するほうも同じだ。


656 :デフォルトの名無しさん:03/08/14 14:50
てか、伸びすぎ

657 :デフォルトの名無しさん:03/08/14 15:16

普段は無視する質問でも
誰か一人が答えを言うと
おせっかいなことに余計な肉付けして
さらに話が膨らみ
質問とはカンケーないところで
バトル

658 :デフォルトの名無しさん:03/08/14 15:27
>>653
だから、前に書いてあること読まないで書き込むから
切れたんじゃないの?

尚且つ、
>>607だけでは説明不十分
その時点では、「出来ない」っていわれても仕方が無い
最終的な完全なやり方は
>>617で発表されたわけであって・・・・

擁護するつもりは無いけどね


659 :632:03/08/14 15:27
>>638
わぁ、そうなんですか。
ありがとうございます、為になりました。
しかし、今のところDynaValidatorActionFormでファイルの
アップロードが出来ているのですが、サポートされていないの
でしょうか? ちょっといろいろ検証してみます。

DynaValidatorForm と DynaValidatorActionFormの違いは
教えていただいてやって分かりました。
分かりやすい解説ベリーサンクスです。


660 :デフォルトの名無しさん:03/08/14 17:29
>>658
ここ質問スレじゃないし。
軽く答えてもらえただけでもありがたいのに。

661 :デフォルトの名無しさん:03/08/14 17:32
>>660
おまえも上乗せ突っ込みに参加したいの?w



662 :デフォルトの名無しさん:03/08/14 17:35
>>658
完全なやり方を一発で知りたかったら、金出してしかるべき会社に聞けばいいのに。
掲示板やMLで聞いたって、最低限のヒント小出しにされるの当たり前。

663 :デフォルトの名無しさん:03/08/14 17:47
>完全なやり方を一発で知りたかったら、金出してしかるべき会社に聞けばいいのに。
ばかですか?
なんか凄い話にもっていってますねププ
だったら、最初から答えなきゃいいじゃん・・・
それでもなぜ答えるのか、それは
小出しにして、意地悪してるんでしょ?

664 :デフォルトの名無しさん:03/08/14 18:30
すげーレベル低いやついるな。
そりゃまともに答えてもらえないわ。

665 :デフォルトの名無しさん:03/08/14 18:32
>>664
もう関わるなよ、おまえも思われてるぞ
おれ?俺は思われてもいい。どうせ高校だし

666 :665:03/08/14 18:33
>>664
っていうか、>>662さんかな?反論できないと
他人の振りして「すげーレベル低いやついるな。」ですか?

667 :デフォルトの名無しさん:03/08/14 18:59
って言うか、知りたいことの正しい解答を得ようとするなら、金を払うのは常識じゃないか?
掲示板やMLを無料相談だと思って使われると困るんだけど。

668 :デフォルトの名無しさん:03/08/14 19:01
高校生だって、金払って学校通って勉強教わってるんだろ…
自分で払ってないから解らんかも知らんが

669 :デフォルトの名無しさん:03/08/14 19:11
>>667
>>668
話し飛びすぎ

670 :デフォルトの名無しさん:03/08/14 19:13
親のありがたみがわからないで社会に出ると、
無責任な質問とかしちゃう大人になるんだろうなぁ。
会社の署名入りでよくもこんな質問できるなという
ものをMLでよく見るが。
匿名掲示板で質問するだけ、こいつらはまだ頭が回ってるということか(w


671 :デフォルトの名無しさん:03/08/14 19:21
>>670
なんか、質問者=高校生ってなってるお前の妄想が怖い
国語とか弱いですか?

672 :デフォルトの名無しさん:03/08/14 19:44
2ちゃんねるなんかで聞かなきゃ完全な答えが返ってくるか既にあるというのはナシかどうか試してみるレス

673 :デフォルトの名無しさん:03/08/14 21:11
もうやめよーって、人間同士の罵倒は無意味にスレを消費するだけ

674 :デフォルトの名無しさん:03/08/15 01:06
>>671
665で俺高校って書いてあるからでは?

675 :デフォルトの名無しさん:03/08/15 01:09
>>671
つーかそれ以前に、670のどこがリアル高校生を前提に書いてあるんだよ…
学生時代にそういうことだったから、大人になっても
ろくな質問できないんだなぁって書いてるんじゃないのか?
妄想も(以下略

676 :デフォルトの名無しさん:03/08/15 01:41

>>675
>学生時代にそういうことだったから、大人になっても
>ろくな質問できないんだなぁって書いてるんじゃないのか?

同じだよ、『質問者=学生』なんて言ってないじゃん

665は横からいきなり出てきた高校生。
その高校生を、質問者だと勘違いしている

677 :デフォルトの名無しさん:03/08/15 01:47
たかが2chでの回答にお金払えって言ってるやつは
苦しい言い草だな。

678 :デフォルトの名無しさん:03/08/15 01:48
つーか、お前が高校生だろ?
じゃないと、その高校生が質問者か質問したことない人かどうかわからんよ。
もう粘着はいいって。

679 :デフォルトの名無しさん:03/08/15 01:50
>>677
金払えって言うんじゃなくて、思い通りの回答が得られなくて
キレるのは筋違いだよ、金払ってるわけでもないのにってことだろ?

680 :676:03/08/15 01:56

>>678俺に言ってんの?
俺の書き込みよく見れよ
>『質問者=学生』なんて言ってないじゃん
↑これだけだぞ?

わかりやすく言う。
つまり、
元の質問者>>592は『質問者=学生』とは言っていない。
なので、「質問者=学生」かどうかはわからない。
なのに670は、そういう雰囲気で言っている。



681 :デフォルトの名無しさん:03/08/15 02:01
みんな必死だなあ。。

682 :デフォルトの名無しさん:03/08/15 02:01
解りやすく自分の妄想を、雰囲気とか抽象的な言葉で説明しなくていいからさ。


これ以降粘着したやつは全員粘着な

=========================================================================
                   粘 着 こ こ ま で 
=========================================================================

683 :デフォルトの名無しさん:03/08/15 02:03
>>679
てか、キレルってどこの誰が切れたの?
みんな切れてるような気が・・・w



684 :デフォルトの名無しさん:03/08/15 02:04
struts1.0で動いているアプリを、struts1.1へ移行したいのだが、
どんなところに気をつけろ!とかっていう情報ありますか?
サンプルベースでは、data-sourceの定義の仕方が若干変わりそうなんですがねえ。

685 :デフォルトの名無しさん:03/08/15 02:05
ちゅうか、誰が誰に対して煽ってんのかわからんな
どっちにしても外野はおとなしくしていることだな

686 :デフォルトの名無しさん:03/08/15 02:09
>>684
そのまま使ってもらってOKです〜

(って書いとくと、誰かが訂正してくれます)

687 :デフォルトの名無しさん:03/08/15 02:10
同一JSPに複数のフォームを<html:form>タグで定義すると、
それぞれ別のpathを指定しているのに、
出来上がるHTMLの form がすべて同じname になってしまうといった現象がおきて
困っています。
何が原因でしょうか?

688 :デフォルトの名無しさん:03/08/15 02:12
GenericDatasource にあった pingCommand ってDBCPで使えるん?

689 :デフォルトの名無しさん:03/08/15 02:13
>>687
原因も何もそういう使用じゃないの?
で、配列ってことだよな
がんばれ!

690 :デフォルトの名無しさん:03/08/15 02:17
>>688

答えにはならないかもしれませんが聞いてください
DBCPを優先させるためにGenericDataSourceクラスは非推奨です

691 :デフォルトの名無しさん:03/08/15 02:20
>>689
struts-config.xml の action の name に別々の form-bean を指定しているのに、
HTMLには最初の form-bean の名前で複数フォームが出来上がる。
なぜだ??

692 :デフォルトの名無しさん:03/08/15 02:22
>>690
DBCPにはpingCommand 相当のプロパティってあるん?

693 :デフォルトの名無しさん:03/08/15 02:24
>>691
ちょっと待って、やってみるから

694 :デフォルトの名無しさん:03/08/15 02:33
>>692
GenericDataSourceにpingCommandってあるの?
pingQueryじゃなくて?

695 :693:03/08/15 02:36
>>691
俺できたよ。
ちなみに、
org.apache.struts.action.DynaActionFormをつかった。

Action Mappingも2個書いてる?


696 :デフォルトの名無しさん:03/08/15 02:42
>>695
私がやったのは Dyna でなくただのActionFormです。
Win+JDK1.3.x+Tomcat3.2.x ではうまくいったんだけど、
Linux+JDK1.4.1+Tomcat4.1.x ではさきほどの現象がでました。
どの構成がうまく行くのかいかないのか、もっと調べてみます。

697 :デフォルトの名無しさん:03/08/15 02:43
>>694
どっちもあるんよ。

698 :デフォルトの名無しさん:03/08/15 02:49
org.apache.struts.util.GenericDataSourceですよね?
すいません。apidocにpingCommandを見つけることができません。
力になれないようです。pingQueryならあるのですが・・・


699 :デフォルトの名無しさん:03/08/15 02:54
>>698
http://jakarta.apache.org/struts/api/org/apache/struts/util/GenericDataSource.html
あるやん。

700 :デフォルトの名無しさん:03/08/15 03:02
>>699
あ〜もしかしてfinalですか?俺はrc1の方見てましたわ

701 :デフォルトの名無しさん:03/08/15 10:18
>>700
ん?struts1.0の時代からpingCommandはあるよ。

702 :デフォルトの名無しさん:03/08/15 14:21
>>701
え〜なんでだろう?
俺のrc1apidoc
org.apache.struts.util.GenericDataSourceクラスのフィールド↓

protected boolean autoCommit
protected org.apache.commons.dbcp.BasicDataSource dataSource
protected java.lang.String driverClass
protected static org.apache.commons.logging.Log log
protected int maxCount
protected int maxIdle
protected long maxWait
protected int minCount
protected java.lang.String password
protected java.lang.String pingQuery
protected boolean readOnly
protected java.lang.String url
protected java.lang.String user

以上です
他にも↓が載ってない・・
activeCount, closed, connections, debug, description, driver, loginTimeout,logWrite, pingCommand, properties,useCount,


703 :山崎 渉:03/08/15 15:15
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

704 :デフォルトの名無しさん:03/08/15 19:13
agedesuyo

705 :デフォルトの名無しさん:03/08/15 20:13
>>702
俺も載ってないのがあってむかついたから
ソースからjavadocを生成したよ。


706 :デフォルトの名無しさん:03/08/15 23:44
328 名前:デフォルトの名無しさん 投稿日:03/06/01 23:59
おまえらEJBやるよりJavaの真髄を押えておいた方がいいよ?

329 名前:デフォルトの名無しさん 投稿日:03/06/02 00:14
>>328
Javaの真髄?なんのこと?
理由もなく意味のない書込みは止めてください。
「いいよ?」の意味もわからないし。

330 名前:デフォルトの名無しさん 投稿日:03/06/02 00:17
>>329は「EJBやったことある」と言いたいだけ。Javaなんてこれっぽっちも解っちゃいない。

332 名前:デフォルトの名無しさん 投稿日:03/06/02 00:42
>>330
>>329の書込みから、どうやったら「EJBやったことある」と読めるの?
深読みしすぎなんじゃないの?

333 名前:デフォルトの名無しさん 投稿日:03/06/02 00:57
>>332
読めるんじゃない。事実は隠せないだろ?プ
EJBやったことあるってことは自分自身が一番知ってるはずなんじゃない?w

334 名前:デフォルトの名無しさん 投稿日:03/06/02 01:46
>>333
話にならんなぁ。プ、とかwとか言ってるところが寒いし。
まあ、くだらないしめんどくさいからもういいや。

707 :デフォルトの名無しさん:03/08/15 23:48
大雨だから焚き付けも湿気ってるな。

708 :デフォルトの名無しさん:03/08/16 22:18
すいません、既存のWebアプリケーションをStrutsに移植中なのですが
フォームを使う必要がなく、なおかつ何らかのモデルBeanを呼び出して処理(execute()叩く)
するだけの場合、どのActionサーブレットを選択すればいいのでしょうか?


709 :デフォルトの名無しさん:03/08/16 22:22
>>708
ただのAction

710 :デフォルトの名無しさん:03/08/16 22:29
>>709

そうなんですか?

public class HogeAction extends Action{

public AcctionForword execute(ActionMapping mapping,
ActionForm form,←使わないのになんか気持ち悪いんです
HttpServletRequest request
HttpServletResponse response)throws Exception{
・・・・

}
}

711 :デフォルトの名無しさん:03/08/17 01:02
>>710
そういうインタフェースだと思って使うべし。
ActionForm の有無によってインタフェースを分けるか分けないかは
議論の分かれるところだと思うが、
あっても使わなければ実害は少ないという判断で、
今のような仕様になっているのだろう。

712 :デフォルトの名無しさん:03/08/17 17:58
なんでlogic:equal等で二つのBeanのプロパティを比較できないのか不思議なんですが。。
作った人が馬鹿なんですか?

最新版ではついてるんでしょうか?

713 :デフォルトの名無しさん:03/08/17 18:01
>>710
下のFormlessActionのようなクラスを作って、フォームを使わない
アクションはこのクラスを継承すればいい。嬉しいかどうかは疑問だが。

public class FormlessAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
return execute(mapping, request, response);
}

public ActionForward execute(ActionMapping mapping,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// override this
}
}

public SimpleAction extends FormlessAction {
public ActionForward execute(ActionMapping mapping,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// もうこれで気持ち悪くないぞ
}
}


714 :デフォルトの名無しさん:03/08/17 18:02
>>712
何がしたいのかようわからんけど、それで困る人が居ないからじゃない?
むしろ、logicタグを使わないような設計にするのが正しいMVC厨。


715 :デフォルトの名無しさん:03/08/17 18:22
>>714
そういう真性MVCマニアの人は、たとえば検索結果をリスト表示する、などのときはどう書くのですか?

pubic List getResults(){ return this.results; }

<ol><logic:iterate ... property="results">
<li><bean:write ... property="title /></li>
</logic:iterate></ol>

の代わりに

public String getResults(){
  Iterator it = this.results.iteraotr();
  StringBuffer buf = new StringBuffer();

  whiie( it.hasNext() ){
   ResultBean result = (ResultBean)it.next();
   buf.append( "<li>" + result.getTitle() + "</li>" );
  }

  return result.toString();
}

<ol><bean:write ... proprety="results" /></ol>

みたいなやり方しか想像つかないんですが。。
すべてのHTMLタグをJSP側に書きつつlogicタグを使わないなんて可能なんですか?

716 :デフォルトの名無しさん:03/08/17 21:26
>>715

> すべてのHTMLタグをJSP側に書きつつlogicタグを使わないなんて可能なんですか?

論理的には可能。
開発者のスキルによっては不可能ってこと。


717 :無料動画直リン:03/08/17 21:29
http://homepage.mac.com/miku24/

718 :デフォルトの名無しさん:03/08/17 21:30
taglib 自作すればよろし。

719 :デフォルトの名無しさん:03/08/17 23:20
>>714
>むしろ、logicタグを使わないような設計にするのが正しいMVC厨。

まさに厨。そんなこと言っている香具師はMVCを誤解している。
下手したらControlerが表示ロジックも抱え込む設計になってしまい
かねない。重要なのはMとVとCを適切に分離すること。

まぁ必ずしもView=JSPというわけじゃないから、JSP自体はロジックを
記述しない静的なものにしておいて、別にViewオブジェクトを用意して
表示ロジックを記述するというやり方もありだとは思うが。

720 :デフォルトの名無しさん:03/08/17 23:25
俺はMVCっていうか、JSPにゴチャゴチャと条件分岐とか書くのがイヤだから
表示する内容は全てActionで用意して、JSPでは愚直に表示処理だけ、というのが好き。

721 :714:03/08/17 23:57
>>715
検索の結果、該当件数が0件だったら「該当するデータがありません」ていう
内容のタイルにフォワードする。

>>719
俺は、<logic:*>タグのやってることはVに含めるべきものじゃないと
いう考えなので。


722 :デフォルトの名無しさん:03/08/18 00:07
>>721
<logic>タグはVに含めないとは、やりすぎでしょう。
「見栄え」に関するロジックは<logic>タグでやるべきでしょ?


723 :デフォルトの名無しさん:03/08/18 00:14
>>720
あなたの言っていることは、
一般的な
JSP(Viewロジックあり)-Action(Viewロジックなし)
ではなく、論理的な2種類のActionを用意して、
JSP(Viewロジックなし)-Action(Viewロジックあり)-Action(Viewロジックなし)
とするってこと?

まさか、Actionはごった煮?
JSP(Viewロジックなし)-Action(Viewロジックあり)
こんなのは絶対いやだ。

724 :デフォルトの名無しさん:03/08/18 00:18
>>720
「繰り返し」というある程度のロジックを導入しない限り、
繰り返した中身全体をView以外で用意しなきゃならない。

表示はHTMLという制約があるとするなら、その文字列中に
「表示制御用」の文字列も含まなきゃならない。
つまり、View以外が表示の仕方を司ることになる。

725 :デフォルトの名無しさん:03/08/18 00:35
HTMLに関する知識は、Actionは知らないほうがいいだろう。
そうなると、HTMLに関する知識は、すべてJSPとなるだろう。
もちろん、JSPにすべて書けという意味ではないよ。
>>719 が触れているViewオブジェクトというのもありだとは思うが、
>>718 が言っている Taglib を自作するのが一番きれいに書けるだろう。

まあ、よく Taglib は敷居が高くて使ったことありませんなんてことを
耳にするが、甘えんな!と一言言ってやろう。

726 :デフォルトの名無しさん:03/08/18 00:56
>>725
でもそれって、結局logicのようなタグを作るってことだよね。

logicのようなタグも使わず、なかおつHTMLに関する部分はView以外に書かないという
「真のMVC厨」は一体どうしているのだろう。

727 :デフォルトの名無しさん:03/08/18 01:14
View用のlogicはStrutsのtaglibなんて使わないで、JSTLのcoreタグ使えよ。
俺はStrutsのtaglibで使うのはhtmlだけ。

728 :デフォルトの名無しさん:03/08/18 01:33
>>726
「真のMVC厨」はlogicのようなタグは使うだろ。
誰が使わないなんて言ってるんだ?
君の脳内?

729 :デフォルトの名無しさん:03/08/18 01:34
>>727
君の言っていることはごもっともだが、今はそれを論じる流れではない。

730 :デフォルトの名無しさん:03/08/18 01:46
>>714 が言ってる様なのですが(View以外云々の部分はMVC厨の前提なので当然)。

彼(女?)の「logicタグを使わない設計」って、もしかして <logic:*> という
タグを使わないけど、結局似たようなタグは使いますよという、言葉遊びなんですか?

どんな素晴らしい方法があるのか楽しみだったのに、がっかり。

731 :デフォルトの名無しさん:03/08/18 02:11
>>730

>>714 の言葉を額面どおり受け取ってはいけないだろう。
logicタグ=if文の代わり
と考えれば、
logicタグを使わない=分岐なし
となる。
JSP内で分岐を使わずに構造的に動的なHTMLを生成するためには、
その分岐ロジックを別の場所で記述する必要がある。
その別の場所が、Actionだったり、Viewオブジェクトだったり、
Taglibだったりするというだけの話だ。
とびきりの魔法があるわけではない。

もちろん、
logicタグ=for文の代わり
と考えた場合も同様の議論は可能。


まあ、少なくとも、分岐なし、繰り返しなしではほとんどの画面は作れないから、
それ自体を否定するほうがどうかしている。
ActionでHTMLをベタで生成なんてのは、最も避けたい。

732 :デフォルトの名無しさん:03/08/18 08:28

どこまで、サーブレット側でデータを整形させるかポイントだね
出力がJSPだけとは限らない場合も考えると、コレクションや配列までの方が良いかも
それをどう表示するかがVの役目だとおもう。
どうしても、JSPで繰り返しや分岐をやりたくないのなら
さらに間にデータ整形のフィルタなどかませる方が、いいのかも。
いわゆるXMLにおけるXSL的な位置付けのロジッククラス作るとか。
こんな設計は怒られるか?

733 :714:03/08/18 11:20
<logic>タグ全否定は言い過ぎでした。
要は<logic:equal>系のタグでBeanの状態見て分岐するような
ロジックはJSPに含めないということです。

単にAction内で

String forwardName;

ArrayList result = fetchUsers("条件");
if (result.size() < 1) {
forwardName = "userlist_available";
request.setAttribute("userlist", result);
} else {
forwardName = "userlist_unavailable";
}

return mapping.findForward(forwardName);

とするだけですが、JSPをデバッグするよりもJavaのソースを上記の
ように書いた方が状態を把握しやすいので。


734 :デフォルトの名無しさん:03/08/18 22:27
>>712
そう思うなら、Jakartaのメーリングリストにそう書いてみれば?
もし可能なら、修正したソースをあげればいいじゃん。

で、二つの変数を比較するというのなら、Velocityで可能。


735 :デフォルトの名無しさん:03/08/21 11:16
>>733

それって、ほぼ同じJSPが2個できるわけですよね?

なぜか私のまわりでは、
動的に表示するのがユーザの一覧だけという画面も、
仕様、デザインが納品まで普遍だったこともないので、
MVCがどうこう以前に、そんな修正しづらいのありえないっす。

Beanの状態を見て、一部表示を変えるだけなら、
<% if (result.size() < 1) { %>
でいいのでは?

else if 追加することになったときに、
<logic:*>だと直せる人少ないでしょ。

736 :714:03/08/21 11:37
>>735
Tiles使ってるんで共通部分は1ファイルになります。
<% if (result.size() < 1) { %> なんて記述したらHTMLの
プレビューがしにくくない?


737 :デフォルトの名無しさん:03/08/21 11:41
>735
素人?

210 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)