1 名前:デフォルトの名無しさん [2006/12/30(土) 18:05:08 ] Apache Strutsフレームワークについて語るスレ 前スレ △△まだまだStrutsの良さを教えてくださいSession4 pc8.2ch.net/test/read.cgi/tech/1109465052/
2 名前:デフォルトの名無しさん [2006/12/30(土) 18:05:53 ] 過去スレ △△さらにStrutsの良さを教えて下さいSession3 pc5.2ch.net/test/read.cgi/tech/1088870989/ △△もまいら漏れにStrutsの良さを教えてください pc5.2ch.net/test/read.cgi/tech/1048030962/ △△つづいて漏れにStrutsの良さを教えてくだっさい pc5.2ch.net/test/read.cgi/tech/1068207164/ エクリプス+Struts開発 pc5.2ch.net/test/read.cgi/tech/1086356759/l50 The Apache Struts Web Application Framework struts.apache.org/ Strutsファンページ homepage2.nifty.com/ymagic/struts/ Strutsメモ muimi.com/j/jakarta/struts/
3 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 18:40:49 ] まだstrutsとか使ってるやついるの?
4 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 20:52:29 ] めっさいる
5 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 00:08:31 ] かわいそす
6 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 02:12:43 ] >>3 開発者の人に、Strutsの次に来るフレームワークで事例ありますかと聞いても 「次はリッチクライアントの時代だから純粋WebのフレームワークはもうStrutsで十分」 と言う。じゃあリッチクライアントで目星をつけてる技術/製品はと聞いたら 「今はまだ乱立状態だから絞れない」と言う。 結局長い目で保守を考えないといけない現場だと当分Strutsで行くしかないべ
7 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 09:31:54 ] >>6 っていうか、その開発者は自分でフレームワークの評価や、生産性について 考えられないだけ Strutsマンセーっていってても別の流れが来たらそっちに乗っかるんだから
8 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 10:37:23 ] 教育コストや学習コストを考えると 世の流れに乗るのもまた選択の理由になり得る。
9 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 10:45:09 ] 世の中の流れに乗る=教育コスト、学習コストの削減には一概にはならん そういう短絡的発想が遺憾といっているw
10 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 14:53:56 ] >>9 使っている人が多いと情報を入手しやすくなるから 教育コスト、学習コストの削減にはなるんじゃない?
11 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 15:11:39 ] 基礎学習においての学習コストが、新しいフレームワークで低くなっても ワークアラウンドが必要な場面の情報収集で割を食うから普及度は大切な指標だよ
12 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 16:37:48 ] そもそも、開発者全員がフレームワークについて情報を得られなきゃいけないって発想が間違っている。 Strutsを使うにしても、Strutsの情報が溢れていなければ使えないような使い方をしている時点で 学習コストがかかりすぎている使い方をしているってこと。 大体、Strutsにしたってこんだけ情報があったってマトモに使えるやついねーじゃんw
13 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 16:47:37 ] >>12 で逝ってるフレームワークとは、Strutsのような汎用フレームワークの事
14 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:15:54 ] フレームワークなんてデザパタと同じだ 乱立してるより型落ちでも同じ使い方の奴のが保守コストが低い Struts以外のフレームワークをよしとする風潮がないのは当たり前
15 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:22:26 ] 右へ習え的な考えしかしない香具師がろくでもないシステムを作る現実
16 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:24:03 ] いかにも社会に出てない奴の発想だな・・・
17 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:26:41 ] いかにも残業したり休日出勤したりするのがこの世界の常識って考えのヤツの発想だなw
18 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:29:06 ] 真逆すぎて呆れるばかり
19 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:33:27 ] 現存のStrutsプロジェクトをみてあきれるばかりw
20 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:34:51 ] >>19 Strutsを使ったプロジェクトねw
21 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:35:42 ] オウム返しにしても寒すぎる、派遣の妄想ってとこか。くだらん
22 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:40:04 ] まぁ、次のフレームワークが広まるまでStruts使ってなさいw では良いお年を
23 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 20:54:14 ] みなさんが、Strutsプロジェクトに携わったのは何件ですか? 私は、前に1回だけ... 正直な話、初めて見た時、何故これで動くのか訳がわからなかった (この当時、本でもネット上でもあまり詳しい説明されてるやつがなかったし、っていうか見つからなかったし) 「なんで普通にServletにしねぇんだよ」と心のなかで思っていた。 この仕事でよい年を迎えることができると思っている人はあまりいないような気がしますが 「健康である年を」
24 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 21:06:02 ] なんで?StrutsってただのMVC2フレームワークじゃん
25 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 21:54:28 ] >>23 Bateから1.0になったばかりの頃に、Struts+EJBベースのフレームワークを作りました。 いまも別件でStruts+Spring+Hibernateベースのフレームワークを作ってる。 Strutsに限らず、汎用フレームワークはそのプロジェクトでどのように使うかって言う方針を立てて、 業務を実装するプログラマ達には必要最低限の使い方で実装できるように準備しないと、開発者 全員が汎用フレームワークの広い知識を備えなければならなくなる。 つまり、個々の開発者が(例えば)Strutsを直接触りまくるような現場では、>>23 のような状況に陥ってしまう。 そういう現場では、開発者は終始深い森の中を地図もコンパスも無く彷徨い歩くような状況にあるので、 結果的に大変なだけでいい仕事は出来ないよネ
26 名前:デフォルトの名無しさん [2007/01/01(月) 07:01:58 ] なあstrutsって前提条件として覚えることが多すぎない? 例えばvalidatorつかってエラーメッセージ表示するには 「エラーメッセージを読込むリソースファイルはキー org.apache.struts.action.MESSAGE で指定されたファイル (デフォルトのメッセージリソース)でなければなりません。」 だったり、validateエラーで飛ばす先のmappingの記述が「input=""」だったり。 taglibも学習・デバッグコストの割に新しいことができるようになるわけじゃ ないし。見た目はscriptletよりはマシかもしれないけど、大してよくならないし。 >>25 前に別件でシンプレクスってところのStruts+Spring+Hibernateベースのフレームワークを いじったけど、あれはひどかった。携わってる人一人一人の能力が高いのに、 ろくに設計をしないでつくると酷くなる典型例だった。ドキュメントも無いし。 あと速度遅すぎ。
27 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 09:48:26 ] 多いねぇ それにStrutsに限らずWebページベースのサーバサイドシステムだと、大前提としてコアJavaだけでなく、 HTMLやCSS、Java拡張技術として、Servlet、JSP、Tablib、等の技術をまんべんなく知ってないといけない。 更にその上にStruts等の知識が必要になる。 Strutsを採用している時点で物凄い教育コストがかかるってこと。 実装工程で、最低Javaは書けるって言う人間がスグに投入できないのは非常にまずい。 短期間作業に関わる技術者のスキルを当てにはできないし、仮にスキルがあったとして、その人がいなくなったら 保守できないようなつくり方たされたらかなわんし。 それに、Javaは書けるってレベルの技術者なら単価も安いしね。
28 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 02:32:33 ] >>26 scriptletからtaglibではえらい進歩じゃないか? いや、目標が低すぎるか。 とりあえずscriptletなんて一切使うことを許容するべきじゃないね。 俺が入った時点でゴリゴリ書きまくっていて後始末が大変だった。 >>27 こういうのを把握しているのはFWとかアーキテクチャを 抑えている人間だけでえーんちゃう? 業務実装者は手順どおりに業務ロジックだけを こりこり書けばいいようにすればいいというか、 あいつらにそんなもの意識させちゃ駄目だ。
29 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 02:55:54 ] >>28 >こういうのを把握して・・・・ 「・・・抑えている人間」って言うと、フレームワークを実装するプログラマとか も入るから、ホントウに意識しなきゃいけない人間はアーキテクトだろうな。
30 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 15:01:05 ] >>26 scriptletなんて使う状況になるのは設計が破綻している証拠だな。 アホな連中に好き放題使われて地獄を見たことがないのかい? まぁこれは上でコントロールする人間がいないのが悪いんだけど。 画面は渡されたbeanを展開するとか 条件(画面で判断した方が良いレベル)で 表示をちょっと切り替えるとかその程度だけにするべき。 それでまかなえないようなアプリなら それはもうStrutsでやるべきじゃない。 もうリッチクライアントを考えるべき、 と言いたいところだがなんか良い選択肢無いのかね・・・
31 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 15:13:28 ] Java Applet+Webサービスがいい気がするがフレームワークとかあったりするの? じつはJava質問。相談スレにも投下してしまってるんだが
32 名前:デフォルトの名無しさん [2007/01/03(水) 23:21:24 ] MVCが徹底できていればscriptletもそんなに汚くならない。 でもscriptletを許可するとスキルの低いPGがjspにロジックを埋めちゃう。 taglibで全部やらせるには教育コストがかかる。 100画面程度のシステムならコードレビューで面倒見れるけど、 サブシステムごとにサブリーダーを置くようになると途中で破綻しちゃう。 どうしたもんかなあ
33 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 00:31:19 ] 画面の部品化
34 名前:res [2007/01/04(木) 11:32:44 ] Strutsって便利?? ASPのほうがわかりやすくて好き
35 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 12:52:36 ] ASP知らないが、strutsは便利ではないw。 学習コストに見合わない生産性の低さに泣ける。 eclipse用のstruts plugin等を使えば、多少は、ましになるけれど。 今から新規の案件で使うのは、おすすめしない。
36 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 21:44:07 ] ASP.NETが最強だな
37 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 21:48:02 ] ASPはJSPとくれべるモンなんじゃね?
38 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 21:52:45 ] >>35 ではナニがお勧めですか?
39 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 22:07:35 ] ポストstrutsは何か? ってのを言われて久しいけど、未だに決定的なのがないから 現場レベルでは、strutsしか使えない。
40 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 22:17:42 ] 多分Javaが廃れるまではStrutsを使い続けると思う Railsあたりの次世代FWが実績つけてきたところで乗り換える予定
41 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 22:41:27 ] あわれ・・・・
42 名前:デフォルトの名無しさん [2007/01/04(木) 23:12:53 ] ASP.NETに比べるとStrutsってめちゃめちゃ難しい気がするんだけど、今時のWEBシステムってこんなもんなの? PHP5とかってのも難しい?
43 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 23:25:47 ] ASP.NETとStrutsって比べる対象になるのかってのが問題なんだが・・・
44 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 23:28:03 ] でも一度ASP.NETの開発を経験しちゃったら もうJavaには戻りたくなくなってしまうし。
45 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 23:30:07 ] ふーん
46 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 00:39:27 ] ASP.NETの真似をしようとしたJSFが失敗してしまったからな でもWin統一環境でないとASP.NETは採用し難いというのもあって、結局現在はJavaの開発がまだ多い 今年は減りそうな気がするけど
47 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 00:45:01 ] Javaが減ってどの言語が増えるの?
48 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 00:51:51 ] 普通にRubyじゃね? 自分の周りでも少しずつ開発事例を見かけるようになってきたし、 最近は本屋に行っても、どこもコンピュータコーナーはRuby本ばかりだし 個人的には、別に言語に拘りはないからどうでもいいけど
49 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 01:51:35 ] Rubyちらっと触っただけなんでよく知らないんですが、 性能面とかで大規模な案件に耐えられる代物なんですか? どうしてもしょせんスクリプト言語ってイメージが取れません・・・ 偏見ですかね??? 個人的にはOOで設計した方がいいぐらいの大きさのプログラムなら もう慣れているJavaで書いた方が手っ取り早いし、 本当にささっと作るだけならPerlやるかなーって感じです。
50 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 01:52:10 ] Javaが出てきた時はC++プログラマはミンナそういってたな・・・・
51 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 02:11:53 ] サーバーサイドのフレームワークじゃなくて、そろそろWebブラウザの側が もう少しリッチに進化してほしい。DBのデータを扱うことを想定したTABLEタグとか DIとかTDDとかで生産性向上するよりそっちの方が効果があるんじゃなかろーうか
52 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 07:36:28 ] >>51 ブラウザはWEBアプリ専用のソフトウェアじゃねえんだよ!!
53 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 08:06:32 ] >>49 今のところRubyの方が遅いのは事実だが、 いいハードを買うかクラスタを増やすかすれば必要な性能は達成できる。 Rubyは生産性が高い(例のRailsの「Javaの10倍」ね)ので、開発コストを減らした分の金で 元は十分以上に取れる。というかハードなんて人件費に比べれば安いし。 ってのがRuby屋の言い分だと聞いた。 立場は逆だが、>>50 の言うような「Java登場時にJavaプログラマが言ってたこと」に似てるな。
54 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 10:15:01 ] >>51 つAjax DBから取得したデータをJSON変換して、後はJavaScriptに扱わせる。 SwingのTableModelみたいなことは、今でもやろうと思えばできる。 Swingと同じで、Ajax主体でGUIを扱うFWがまだ無いけど
55 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 12:15:04 ] >>53 Javaちらっと触っただけなんでよく知らないんですが、 性能面とかで大規模な案件に耐えられる代物なんですか? どうしてもしょせんインタープリタ言語ってイメージが取れません・・・ 偏見ですかね??? 個人的にはOOで設計した方がいいぐらいの大きさのプログラムなら もう慣れているC++で書いた方が手っ取り早いし、 本当にささっと作るだけならVBやるかなーって感じです。 今のところJavaの方が遅いのは事実だが、 いいハードを買うかクラスタを増やすかすれば必要な性能は達成できる。 Javaは生産性が高いので、開発コストを減らした分の金で 元は十分以上に取れる。というかハードなんて人件費に比べれば安いし。 ・・・なるほど、たしかに似てるなw
56 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 21:51:33 ] >>55 Amazon.comってWeblogicだそ?
57 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 21:52:49 ] あ、なんでもない忘れてくれw
58 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 21:55:01 ] >>56 そうなのか? perlって記事もあるけど。 neta.ywcafe.net/000492.html
59 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 21:58:56 ] 相当前に聞いた話だからもうperlなのかも?
60 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 22:56:58 ] >>54 Ajaxってどうなん? 所詮JavaScriptじゃろ? ていうかなんでJavaAppletがほったらかしなんだか判らんw
61 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:20:28 ] さっさとJSFに乗り換えた方が幸せになれると思うんだが。 再利用性などというマヤカシに捕らわれてるのが移りが遅いな。 実際に再利用できるものは汎用Util化されてるだろうしFWはなんでもいいはずなのに。
62 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:28:41 ] strutsで再利用と言えば、 Actionを連鎖させて途中のアクションをフィルタ的に使ったりすることもあるけど 実際は、1画面1アクションで作られてることが多いみたいだね。 明確にM-V-CとするよりもM-VCのほうが、効率いい場合もあるし。
63 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:31:16 ] >>62 >1画面1アクション そういう使いかたした事ない
64 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:36:42 ] >>62 多いっていうか、そういう風にしか使い道が思いつかないんだろ
65 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:36:58 ] うちのプロジェクトも原則は1画面1アクションだよ Action連鎖すると修正時の影響範囲がわかりにくくね? しょせん、Actionなんてコントローラだし対して再利用性を求めてもしょうがないような
66 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:42:27 ] Actionでやるべき事と、業務ロジックを分離した時、Actionでやることはほとんど共通化できるんだけどね
67 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:47:03 ] っていうか、業務ロジックを呼び出すActionの振る舞いなんてミンナ同じじゃん
68 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:51:43 ] 普段はどちらかというと、1画面につき2Actionかな? ただ、入力→確認→完了とか、複数ページにわたる入力みたいな いわゆる「画面フロー」の間は画面間で1Actionだな。 JSFだと、「1Action」が「1アクションメソッド」に変わる感じ?
69 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:54:46 ] 1画面1Actionにすると表示前準備とリクエスト処理が混在してわかりにくい。 あちこちの画面から呼ばれるような処理だと、さらにゴチャゴチャ。
70 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 00:15:25 ] ActionってCommandパターンだからと思って、最近は1URL1Actionにしている 以前は1画面毎にDispatchAction使ってたが、あまり意味ないし使いにくいのでやめた ロジックはサービス層のクラスにまとめて共通化してるので、 Action自体はパラメータの受け渡しぐらいしかやらないし 画面単位ではまとめないけど、初期化処理とか検索処理とか編集処理とか 似たような処理をするActionを継承でグループ化したりはしている
71 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 18:10:10 ] Action連鎖させるなんて絶対にやめるべき。 値の持ち回りはSessionにぶち込んででしょ? 大量にバグが出るし、修正が発生した時地獄を見るよ。 コミットするような処理した後 一覧か業務フローのトップの画面を表示するActionにリダイクレトする、 とかならやるけど、これはもう処理の流れが切れているから。 OO中途半端にやってる人(俺含めて)を見ていつも思うんだけど 再利用って言葉の一人歩きがひどすぎないか?
72 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 18:20:35 ] sessionじゃなくてrequestにぶち込むだろ普通。 sessionの使用禁止のプロジェクトもあるし。 どうでもいいけど、sessionの使用禁止ってのは無しにしてほしい。 ロードバランサ入れたときに別サーバに振り分けられるからって言うけど ロードバランサにsession維持機能あるんだから有効にすりゃいいだけじゃん。
73 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 18:23:42 ] NECダイレクトのサイトは、コンテナに頼らず自前でセッション管理してるっぽい? URLに入ってるセッションIDらしき文字列がちょっと見慣れないんだが。 そういう方法もありかね。
74 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 18:25:24 ] 対話の質によるけどな。 フルGCの発生原因は中途半端な寿命のオブジェクトが在ることだし。
75 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 18:27:27 ] >>73 URLリライティングだろ、Tomcatでも使えたはず
76 名前:デフォルトの名無しさん [2007/01/06(土) 18:46:34 ] Action連鎖はわけわからなくなるな。。 validationとか絡んだら無限ループなる。
77 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 20:24:05 ] >>76 atamawaruikaradayo(pu
78 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 07:59:12 ] >Action連鎖 大昔から否定されてきたのをいまだ言ってるやつがいるのか・・ 少しはググってみたら、どうだ?
79 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 08:48:22 ] >>78 ttp://civic.xrea.jp/2006/02/28/strutsecii/ この人なんかは推奨してるみたいだけど、否定する理由っていうのはなに?
80 名前:デフォルトの名無しさん [2007/01/10(水) 20:17:35 ] Strutsインアクションでは Actionを連鎖したくなるのは、Actionにビジネスロジックを書いているからだ!! ビジネスロジックをサービス層に移せばActionの連鎖なんか必要ないはずだ!! って書いてました
81 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 20:23:21 ] >>80 そういう問題ではないな
82 名前:80 [2007/01/10(水) 20:30:46 ] >>81 そやな。。俺も自分でおもた
83 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 20:51:58 ] forwardによる画面遷移、かつ同一ActionFormを利用する場面では Actionの連鎖を避けるべきだが、 リダイレクトによる画面遷移がOKな場面で、 かつ両Actionクラスで同一のActionFormを使わないような場所で、 画面表示前にビジネスロジックの実行が必要な場合は Actionの連鎖を使っても良いと思うよ。 人が否定したからと言って鵜呑みにする奴もアレだし。 Actionの連鎖がどういう動きをするのかをちゃんと理解して 使い分ければいいんじゃないかな。
84 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 21:48:24 ] 独りよがりでやる分にはいいけど、 他人との合同開発や仕事でそんなもの出すなよ?
85 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 21:57:23 ] 厨乙。
86 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 00:54:45 ] 俺は、登録してから、初回の表示と同じようなことする場合に、 初回表示用のアクションに連鎖させてる。 登録アクションには登録する処理しか書いておらず、 登録後に表示されるページの情報を作る処理は、連鎖先のアクションで作っている。
87 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 01:04:20 ] >>86 アリだと思うよ。
88 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 01:15:19 ] 何でもそうだけど、頭使って適切に使いこなすより、一律に同じ方法で統一しちゃう方が簡単だもんなぁ。
89 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 00:08:26 ] 馬鹿の水準に合わせて開発すると、時間と体力ばかりくっていいこと無い
90 名前:デフォルトの名無しさん [2007/01/13(土) 12:26:10 ] すいません初心者で恐縮ですが Strutsの初心者向けの学習本で良いのありますか?
91 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 16:10:56 ] なんか最近、自作の俺様専用フレームワークが最強のような気がしてきた。
92 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 16:33:44 ] >>91 気のせい。もしくは、限定された環境でのみ最強。例えば開発者があなただけとか。
93 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 16:34:12 ] >>91 それは皆が通ってきた道だな
94 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:15:52 ] バリデータとコンバータが全てのFWで共通化されたら俺は平気で移る。
95 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:17:56 ] commons-validatorの事じゃなくて?
96 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:20:40 ] strutsのバリデータって他フレームワークに簡単に持って行けないもん? リクエストパラメタをBeanUtilsとかでBeanにセットしてvalidateってできないのかな。
97 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:27:37 ] commons-varidator commons-beanutils あとRequestUtilsクラスとかパクりゃいんじゃねーの?
98 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:36:32 ] Webフレームワークを使う理由はバインディングしかないからね。 テンプレート機能だとか画面遷移だとかはフレームワーク作者のオナニーに付き合ってるだけ
99 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:38:47 ] 便利だけどね
100 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:54:24 ] JavaのWebフレームワークを一から作るくらいならStrutsつかっときゃいーと思うがの Strutsを使いやすいように拡張した方がな
101 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:45:43 ] オライリーのJakarta Strutsクックブック ってどうですか?
102 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:49:45 ] Strusの本読んだ事ね
103 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:57:32 ] 二日ほど他人のソースとテックスコアの記事読んで適当に実践に使ったから本は読んでない。
104 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 02:08:24 ] Ja-Jakarta Projectのページ ttp://www.jajakarta.org/struts/
105 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 10:00:49 ] >>101 あまり読んでないけど、JSTL関連の章は役に立った。 おかげでlogicタグとbeanタグからはおさらばして、Struts上でJSTLとELをフルに利用できるようになった
106 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 14:27:59 ] strutsって重くないですか?
107 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 14:42:45 ] >>105 レスありがとうございます。オライリーのサイトで目次を見ると、自分にはいろいろ 参考になることがありそうなので、買って読んでみます。
108 名前:デフォルトの名無しさん [2007/01/16(火) 21:41:15 ] >>106 使わないよりは重いな
109 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:15:47 ] 今回初めて使ったけどこれひどいね Strutsタグのエラーとかstruts-config.xmlの記述間違いの際のエラーとか のメッセージが不親切すぎてデバッグできやしない
110 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 23:03:37 ] プ
111 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 23:24:07 ] >>109 WTPのJSP・XMLエディター使うといいよ
112 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 00:12:36 ] >>109 まぁ確かに不親切だとは思うけどね。 IDEのサポートちゃんと受けてる? 転職したら秀丸でソース編集とかしている俺から見れば・・・
113 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 00:55:45 ] EXCELファイルで定義してstruts-config.xml、validation.xml、フォームBeanを自動生成してます。
114 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 23:59:17 ] >>113 画面の仕様書から バリデーションとフォームの生成まではやった。 ただしバリデーション定義はS2Strutsのアノテーションによる方式。 あれ結構自動生成と相性がいいと思う。 struts-configのExcelからの生成ってどうですかね? いまいちもとのExcelシートのイメージができないです。
115 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 01:02:39 ] 1ワークブック=1モジュール 1シート=1Form =1Action =1リソースファイル(忘れてた) フォームの定義はValidation定義も併用 フォームBeanも自動生成 ネスとしたBeanのValidationも対応 global-exception等は別に1シート
116 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 01:03:51 ] 要するに1ワークブック=1struts-config.xml
117 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:15:23 ] >>116 そのExcelファイルくれ。
118 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 02:50:48 ] >>117 残念ながら、Excelだけではだめなのだ 自動生成ツールが必要なのだ
119 名前:デフォルトの名無しさん [2007/03/14(水) 19:20:37 ] struts 2.x が正式リリースになっているな。(2/27) だけどこのスレではぜんぜん話題になってないな。
120 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:29:22 ] >>119 Strutsって名前だけで、中身はStrutsともApacheとも何の関係もないからな。
121 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:58:47 ] たしかに 2.x は WebWork と統合、 Shale もあるし、 ひさしぶりにやる側としては、もうわけわかめです。
122 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 12:38:45 ] この間終ったプロジェクトじゃまだstruts1.1だったしなぁ。 またstrutsやるとしても1.x系だろうしな。2.xは手がだせんかも。
123 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 12:50:54 ] 2.xを使ってる話なんて聞いたことがない。 2.xは元々Strutsではないから、 バージョンアップというよりまったく別フレームワークへの乗り換えになる。 1.xを使っているのなら、1.3.5はなかなか有用。 モックオブジェクトが用意されたテストケースがあったり RequestProcessorのカスタマイズが柔軟だったり。
124 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:02:09 ] じゃあなんでsturtsなんて名前つけたんだ? ぶっちゃけ、2.xがまったく別物ってんなら余計混乱して そのまま「strutsオワタ」ってなりそうな気配がプンプンしてるんだが… というか、struts projectの人間は2.xが本来やりたい事だったんだ! って言ってる様にも見えなくもないな…どのみち衰退の道か
125 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 15:08:48 ] strutsどころかapacheでさえないプロジェクトから移管されたものだからなぁ。2は。
126 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 16:08:32 ] 結局フレームワーク使うとこういうことになるんだよ。 それで終わったフレームワークで作られたシステムを 新人にメンテさせる鬼先輩になるんだ、おまえらは。
127 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 16:37:37 ] >>126 はバカだなぁ
128 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 20:05:34 ] >>126 独自仕様てんこ盛りの自社製FWのメンテよりはいいだろう?
129 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 21:39:10 ] >>128 >>126 は自社製FWとかではなく、常に1から作るンだろ? そういうほうがわかりやすいと思うヤツが多い事は事実
130 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 22:10:40 ] >>129 そういうのはフレームワークが古くなるどころか、 作った奴がいなくなるだけで混乱に陥る。 古かろうが、Strutsのように普及したフレームワークを使う方が ノウハウを持った奴がどこかにいるだけまだマシ。
131 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:39:40 ] Struts1.X系でお茶を濁しつつ、JavaEE5サーバが出回ったら JSF1.2にメインの開発は移行すればいいと思う。 GlassFishもJBossもGeronimoもベータ版が出たし、そろそろ動かせるよ
132 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:01:21 ] Glassfishは正式リリースじゃないかw JBossはもうReleaseCandidate。 Tomcat6はStableリリースだから、もうJSF1.2の環境はOKだ。 でも実際はEclipseWTPやNetBeansがTomcat6対応しないと使いにくいな。
133 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:06:55 ] >>129 それわかりやすいかぁ? 作った人間いなくなったら恐ろしいことになるよ。 どうせドキュメントも残さないで消えていくんだろうし。
134 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:19:40 ] >>132 GlassFishは現在V2がリリース間近 V1はJavaEE5SDKとして出すためのものだったが、 今回はフルスペックのアプリサーバとして出す NetBeans5.5.1でGlassFishV2に対応してる。 EclipseWTP用のPluginもGlassFish側で用意してるけど、WTPがまだJavaEE5対応してないな
135 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 01:18:21 ] JavaEE5なんていらねーよ
136 名前:デフォルトの名無しさん [2007/03/29(木) 20:08:06 ] struts-confg.xmlの内容をエクセルに記録して XML出力とかいうツールどっかにおちてない? エクセルは設計書にできたらなおOK。
137 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 22:42:01 ] >>136 せんせーすとらつこんふぃぐがえっくすえむえるなんですがー
138 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 23:27:01 ] >>137 Excelで画面遷移とか定義して、そっからstruts-config.xml出力してくれるマクロとかツールが欲しいって意味なんじゃないの?
139 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:25:45 ] 子ノードも無限に作れるし、属性もいくつあるかわからんし XMLをExcelで表現するのは無理があるだろ
140 名前:デフォルトの名無しさん [2007/03/30(金) 13:50:46 ] すみませんが、初歩的質問です。 Strutsの良さの一つとして、Actionクラスの存在がよく挙げられています。 Actionクラスはサーブレットよりずっと軽量なので、1つのActionServlet(の 派生クラス)と多数のActionクラス(の派生クラス)に構築されたコントロー ラは、従来のサーブレットに比べてパフォーマンスが良い、というのです。 しかし疑問なのですが、そのActionクラスの遷移先はJSPで、そして結局JSP一 つがサーブレット一つになるのですよね?こちらのパフォーマンスは問題にな らないのでしょうか? なんとなくですが、JSPを使い続けているのに、コントローラだけActionクラス を主体にしても、パフォーマンスはあんまり変わらない気がするのですが、ど うなのでしょう? ということで、 ・従来のサーブレットのパフォーマンス ・ActionサーブレットとActionクラス ・JSP ・(JSPの代わりに)Velocityテンプレート それぞれの実行性能をご存知の方、お教えいただけないでしょうか?
141 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 14:46:53 ] >>140 ActionとActionServletのおかげでパフォーマンスが向上するなんて、 聞いたこともない。出典は? Actionクラスの目的は、Commandパターンの導入とstruts-config.xmlによる 画面遷移の宣言的制御にあるじゃなかったっけ (それが成功しているかは別の話だが)。 この辺でも読んでみて。 ttp://wiki.apache.org/struts/StrutsBenefits しかし今頃になってStruts初心者か。今でも人気あるんだね。
142 名前:140 mailto:sage [2007/03/30(金) 15:45:56 ] >>141 > ActionとActionServletのおかげでパフォーマンスが向上するなんて、 > 聞いたこともない。出典は? すみませんが、出典は分かりません。 以前にStrutsを使ったことがあって、そのときに何かで読んだのですが、1回だ けでなく、あちこちでその内容を聞いたように思うのです。 それにしても、聞いたこともありませんでしたか。ちょっとショックです。私 の勘違いだったのかなあ。
143 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 15:58:31 ] 基本的にフレームワークは骨組みにいろんな仕事やらせるんだから プレーンで作るより重いよ。体感的には変わらないけど。
144 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:42:23 ] Actionの存在が良さとは思わんが・・ 俺が思うStrutsの良いところは・・ ・HTTPパラメータがActionFormとして明確になる ・画面遷移とコントローラの依存が疎になる ぐらいだと思う。 パフォーマンスが良くなるなんて聞いたこと無い。
145 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 03:29:56 ] >>142 完全な勘違いだよ。 ActionServletやらで色々な処理が間に入っているんだから 素でServletを書くより早くなるわけないじゃん。 といってもこの程度のオーバーヘッドでパフォーマンス云々語るのは かなりアホなことしゃべってると思った方がいいよ。
146 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 03:52:13 ] >>142 あちこちで聞いたって職場でかい? ちょっと身の振り方考えた方がいいんじゃないかね。 揶揄して言ってるんじゃなくて そんな一笑に付されるような俗説がまかり通るってのは 全体のレベルが低い証拠だと思う。 自分の今後にとってもプラスにならないよ。
147 名前:140 mailto:sage [2007/03/31(土) 19:41:57 ] どうもお恥ずかしい話ですみません。私の勘違いだったようです。社の人から 聞いたのではなく、雑誌かWEBの記事だったと思うのですが、誤読したのでしょ う。 しかし、実行速度は下がるにしても、他のメリットは無いのでしょうか? サーブレットに比べてアクションクラスは ・インスタンス生成のコストが小さい ・メモリの占有量が少ない という特徴があったりしないでしょうか? もしあるとしたら、たぶんそういう記事を私が誤解したのだと思うのです。 まあ実質的にはメリットに上げるほどの差ではないのかもしれませんが。
148 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 00:53:58 ] >>147 あるとしても、鼻毛抜いてダイエットするくらいの効果しかない。 HttpServletの実装はコンテナ依存なので、ひょっとしたらActionとの差が大きくなる コンテナがあるのかもしれないが…HttpServletの実装が重いコンテナなんてヤダ。 というか、仮に軽くなっても、struts-config.xmlやvalidator.xmlをメモリに展開する分、 別の分でメモリ食ってるはず。 ま、世の中には、無意味または時代遅れなバッドノウハウを語る低脳ライターが割といるので、 そういう連中の記事を読んだんじゃないかと思う。 「メソッドにfinal付けて高速化」とか、「同じローカル変数を使い回してメモリ使用量を削減」とか言う奴と一緒。 最近笑ったのはこれ。 ttp://www.atmarkit.co.jp/fjava/javatips/168java053.html ライターなんて、下はこの程度ですよ。
149 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:05:37 ] >>148 これはひどいw
150 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 01:09:12 ] >>148 こ、これは・・・ こんな糞記事で原稿代もらえるのか・・・ 俺も何か書こうかな。。。
151 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 19:49:01 ] >>150 期待してるぜw
152 名前:デフォルトの名無しさん [2007/04/08(日) 20:42:52 ] >>148 ちびった・・・w
153 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 21:01:18 ] きょ,今日先輩から聞いたんだけど, int型使うよりもbyte型使った方が速くなるらしいぜ. DBのテーブルサイズ見積もりなんかはやったことあるけど, 変数のサイズ見積もりなんてやったことなかったけど, これからはきちんと考えて設定しなきゃなぁ...
154 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 02:50:26 ] >>153 ネタだと言ってよ、バーニィ!
155 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 05:49:16 ] >>154 0080だっけか?
156 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 11:50:18 ] 終わったな
157 名前:デフォルトの名無しさん [2007/06/05(火) 23:23:21 ] クラスSuperClassを継承したクラスSubClassがあって、 SuperClassで定義したpublicなメソッドgetXxx()があります。 そのgetXxx()についてですが、 以下のようなJSPでアクセスできないのですが、何か勘違いしてますか? <%-- subClassObjはSubClassのインスタンス --%> <bean:write name="subClassObj" property="subClassObj.xxx"/> SubClass内でgetXxx()をオーバーライドすれば正常に表示できることはできるのですが…
158 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:14:48 ] >>157 オーバーライドする以前に サブクラスのインスタンスにスーパークラスのメソッドが あるかどうかくらいリフレクション使って確認したかい? ヒントはこれだ Class clazz = Class.forName("java.lang.String"); Method[] method = clazz.getMethods(); 後は分かるな?
159 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 07:32:30 ] >property="subClassObj.xxx" xxxだけでいいんじゃないの?
160 名前:デフォルトの名無しさん [2007/06/14(木) 22:52:32 ] 国際化しない場合でもメッセージリソースつかってる? メリットってなんかある?
161 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:17:37 ] >>160 JSP内のハードコードを防げる。
162 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:22:03 ] JSPの中のスクリプトレット撲滅運動中です. 代わりにVelocityでテンプレートをうわなにをするはなs
163 名前:デフォルトの名無しさん [2007/06/15(金) 00:26:17 ] JSPの中のスクリプトレット排除にVelocityって、メリットなさすぎ。 #ifとか入るし。
164 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 01:03:18 ] まわりまわってスクリプトレット最強説。 StrutsタグもVelocityもJSTLも可読性を下げてるだけ。
165 名前:デフォルトの名無しさん [2007/06/15(金) 02:28:31 ] デザイナなしで少人数で作るなら、それもありかもわからんね。
166 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 11:37:40 ] デザイナにとってはHTML以外の 変なタグや#が入ってる時点でわずらわしさは全部同じでしょ。 だったらスクリプトレットでいいよ
167 名前:デフォルトの名無しさん [2007/06/15(金) 11:53:11 ] いや、faceletやmayaaみたいにspanとかdivでできれば、オーサリングツールで読み込んでも崩れないし表示確認もやりやすいから、同じではないよ。
168 名前:デフォルトの名無しさん [2007/06/16(土) 13:29:48 ] Servlet の小規模開発案件があるのですが、フレームワークを使うとしたら Struts が最強ですか?
169 名前:デフォルトの名無しさん [2007/06/16(土) 15:36:55 ] >>169 本当に小規模なら、 JSON-RPC-Java(Ajax) の方が楽かも 業務ロジック(画面切り替え)は、javascript で全部やる。 DBアクセスは、サーバ上のMiddlegenで作ったDAOを ブラウザ上のjavascriptからキックしてやる感じ。 今自分がJ2EEで一定の規模の開発を任されたとしたら やっぱり Struts1.3+Xdoclet かなぁ・・・ (要員スキルとか、治具(自動生成)とか、ノウハウとかの関係で)
170 名前:168 mailto:sage [2007/06/16(土) 16:00:59 ] >本当に小規模なら 2人月ぐらいの規模です。
171 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:00:04 ] >>168 Struts1オンリーでいいよ。 >>169 なんてぜんぜん小規模だと思えない。 おまけにモバイル対応したら画面遷移のロジック全部書き直し。
172 名前:デフォルトの名無しさん [2007/06/16(土) 17:22:44 ] 業務アプリでモバイル対応もないなら、JSFの方が楽。 Strutsを使ったことがないなら、JSFにしたほうがいいと思われ。
173 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:24:58 ] NetBeans + Visual Web Packも検討に値すると思うよ。
174 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 20:28:17 ] サーブレットも知らない奴がWebアプリのサブシステム開発のリーダーってどういうこと?
175 名前:デフォルトの名無しさん [2007/06/16(土) 21:58:04 ] じゃあお前やれよ
176 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 01:10:20 ] >>166 スクリプトレットなんて許したら死ぬほどコード書きまくられるぜ? 後で地獄見るだけだ。 テロリストは1歩譲ったら100歩踏み込んでくる。
177 名前:デフォルトの名無しさん [2007/06/20(水) 12:34:28 ] sslext使ってて困ったことが起きたのだけれど、 sslext:link でリンクすると、リンク先がlocalhostになってしまう。 何が問題なのかわかる人いますか? 自分でやった変更は、server.xmlの <engine defaultHost="mokuteki.host.jp" …> <host name="mokuteki.host.jp" …> ですが、これでもlocalhostのままでした。
178 名前:デフォルトの名無しさん [2007/06/25(月) 10:46:10 ] Strutsなんて死んでるし、新規プロジェクトで選択するのはまず間違い
179 名前:デフォルトの名無しさん [2007/06/25(月) 12:59:23 ] >>178 じゃあ、何を使うのがいい?
180 名前:デフォルトの名無しさん [2007/06/25(月) 18:08:16 ] JSFかなあ
181 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 05:55:25 ] 業務アプリならJSFだね。 新規でStrutsを、XML手書きでやらせるプロジェクトはダメプロジェクト。
182 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 10:09:51 ] 結局変なタグ書かせるJSFもいらないだろ
183 名前:デフォルトの名無しさん [2007/06/26(火) 11:23:42 ] ていうかwebアプリが糞
184 名前:デフォルトの名無しさん [2007/06/26(火) 13:30:09 ] よくしらないんですが Jakarta Commons って、フレームワークではないの?
185 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:08:44 ] 違います。
186 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:34:02 ] プログラムを呼ぶのがフレームワーク プログラムから呼ばれるのはユーティリティ
187 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:54:54 ] というか、Commonsはプログラムですらない。共通ライブラリを集めたプロジェクトの名前
188 名前:デフォルトの名無しさん [2007/06/28(木) 22:22:45 ] こういう場合みんなどうやってるか教えて。 1.編集画面を表示する。 今登録されている情報はDBから取得してデフォルト表示されている。 2.編集しようとするとValidationエラーとなる。 この場合、1で取得した今登録されている情報をSessionに入れておかないと Validationエラーで同じ画面に遷移したときにエラーとなります。 Sessionに入れるのが普通?
189 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:19:14 ] 基本的にいま入力した情報しかいらないだろ。
190 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:30:38 ] hidden使ってデフォルト値を受け渡しすればいいんじゃないのか?
191 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 02:02:00 ] >>188 ActionFormでvalidateをやらない。 Action側で独自にvalidateをやり、エラーの場合、必要な値をDBから再度取得して編集画面に戻る。 …なんか破綻しているな。
192 名前:デフォルトの名無しさん [2007/06/30(土) 09:43:12 ] >>190 それもいいですね。 ただ、ドロップダウンリストに表示するものは厳しいかも。。 >>191 それもありかもしれない。
193 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 09:49:38 ] dynaactionformって普通は使わないものですか?
194 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 09:55:59 ] なにこの活況ぶり
195 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 11:52:54 ] JAVA+JSP+Struts+Tomcatスレがなくなったから?
196 名前:デフォルトの名無しさん [2007/06/30(土) 15:14:48 ] >>193 俺は使わないルールにしてる。わかりにくいから。
197 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 15:23:06 ] 使うメリットがあまりない
198 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 11:14:49 ] struts1.2はJavaでWEB構築した際のスタンダードとして 今後10年は使われると言ってみるテスト
199 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 13:39:30 ] 否定できんな・・・ 10年はともかく5年は・・・
200 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 13:44:24 ] すでに作ったもののフレームワークが変更されることはないだろうな。
201 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 13:57:13 ] 新規の基幹システムですとらっつ&EJB2とはこれいかに?
202 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:52:31 ] にげて〜〜
203 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:26:27 ] 今から作るならStruts2がいい?
204 名前:デフォルトの名無しさん [2007/07/01(日) 21:55:42 ] Struts2全然情報ないな
205 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:06:44 ] >>201 どっかのstrutsベースの独自フレームワーク強制されるよりマシ
206 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:13:26 ] そのどっかのStrutsベースの独自フレームワークなんですが・・・・
207 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:52:53 ] >>206 まあ、それも仕事だ! 独自ルール覚えるのが面倒なんだよな。 (中途半端なGUIツールがあったりするとうざいんだこれが。) 早め理解して、気に入らない点があっても受け入れるしかあるまい。 どうしても使い勝手が気に食わなければ、 スクリプトやエディタのマクロなんかを使って、 いかに快適に糞フレームワークを使うかを考えたりすると、精神衛生上良かった。俺の場合はl。
208 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:21:38 ] >>201 Strutsはともかく EJB2というあたりに腐臭を感じるな。 ステートレスSessionBean? ならわかるかな。
209 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:37:40 ] CMPも使うと言っています・・・ IB○の(ry
210 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 01:17:11 ] >>209 お前、あのプロジェクトか!?
211 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 01:49:34 ] >> 203 今から作るなら、Webアプリじゃなくデスクトップでやるのがいいな。 Ajaxとか面倒で生産性のないことやるより楽だし顧客の要望にこたえやすい。
212 名前:デフォルトの名無しさん [2007/07/02(月) 19:57:26 ] >>2111 ねーよw
213 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 20:41:12 ] デスクトップに比べてWebアプリのメリットはなに? デスクトップならすぐできることを、Webアプリだと工数がかかる。 それを上回るWebアプリのメリットってあるのか?
214 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 21:07:14 ] 東京でも大阪でも外国でもモバイルでも触れる。
215 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:46:43 ] >>213 配布不要。ブラウザひとつで動かせる点。 Java Web Start?あれアプリ起動するのに、 更新チェックとかするから、結構時間かかるんだよな。
216 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:57:50 ] >デスクトップならすぐできることを、Webアプリだと工数がかかる。 JSF辺りだと「Webならすぐできることをテスクトップだと工数がかかる」って ノリだと思うが。 まあ、所詮はフレームワークなんでフレームワーク以上の事をやろうとすると 途端に辛くなるのはあるがな。
217 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:00:12 ] ビジネスアプリは 何でも出来りゃいいって言う わけではない
218 名前:デフォルトの名無しさん [2007/07/18(水) 11:05:44 ] Strutsで hoge/hogeapp/ でアクセスした場合、下記のStruts-configで設定した場合 hoge/hogeapp/login.do;jsessionid=..... といった具合にjsessionidが丸見えになってしまいます。 その後は消えてくれるのですが一発目が出てしまいます。 これを一回も出ないようにするにはどうしたらよいでしょうか? クッキーが使えることが前程ですが。 よろしくお願いいたします。 <global-forwards> <forward name="login" path="/login.do"/> </global-forwards>
219 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 15:42:12 ] それはStrutsではなくて、サーブレットコンテナの仕業かと。
220 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:57:06 ] >>218 丸見えって誰に?
221 名前:デフォルトの名無しさん [2007/07/21(土) 12:46:54 ] logic:iterateでトラブルにはまってしまい抜け出せません <logic:iterate id="item" name="result" property="list" indexId="index"> <bean:write name="item" property="fee" /> </logic:iterate> 上記のようなJSPを書くと、 javax.servlet.ServletException: どのスコープにもBean item がありません というエラーを返します。目の前で定義しているのに… ちなみにiterateされるlistは全部で3つあって、 <bean:write name="item" property="fee" /> を <bean:write name="index" /> に変更すると、きちんと0,1,2と表示されます。 このエラーが起こりうる心当たりがあるかた、解決の微かなヒントでもいいのでお願いします
222 名前:デフォルトの名無しさん [2007/07/21(土) 17:30:51 ] >>221 result#getList() が無いとか・・・
223 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 12:17:48 ] >>222 色々調べてみましたが、情けないエラーでした。 具体的には、getList()が返すのはサイズ3の空配列で、 内容はなにもなかったのです。 そこはnull pointer exception出して欲しかった。 助言ありがとう
224 名前:デフォルトの名無しさん [2007/07/22(日) 15:10:21 ] 無設定struts使えば、Strutsもつかえる。
225 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:53:48 ] 全く前知識なしで1から触ったが、jsp表示してDBアクセスjsp転送までに 丸1日かかったぞ。 struts-config.xml,web.xmlはともかく、 最初、最新版がいいとおもって2.xダウンロードしてしまって tldがない、はてな???になってしまった。 1.29でなんとかなったが、問題多発だ。 ベリゲータ入れるつもりだけどまた大変なことになりそうだorz
226 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:56:40 ] なんか・・・バージョンによって変な不具合とかバグぽいのもあるし、 自分の触り方がおかしいのかstruts自体がおかしいのか。 バグの上にバグを築いてるようで精神が折れるorz
227 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:54:23 ] 1系は安定してるだろ。バグっぽく見えるのは フレームワーク全体にいえるんだけど初心者に扱いやすくできてないため。 よくみんなこんなの使うよな。
228 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 06:37:37 ] と言うかフレームワーク使う人はある程度servlet+JSPを理解してから 使うモノだと思うが。 たとえJSFでも、その壁が気持ち下がるくらいだし。
229 名前:デフォルトの名無しさん [2007/07/26(木) 10:03:59 ] Tomcatで開発中のプロジェクトをWebLogic9.2に移動してみたのですが styleIDのところで 「この属性は認識されません。」 というエラーが発生しています。 ただstyleId自体が固定文字列のところは問題ないようなので 下のように可変文字列を出力しているところが問題なようです。 <html:hidden name="hoge" property="type" indexed="true" styleId="<%= "hoge"+ index.toString() %>"/> 同様の問題を解決されたことのあるかたがいましたら ご教示願えますでしょうか? よろしくお願いいたします。
230 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:05:13 ] サーブレットメインでやってるときはstrutsの有り難みが今一だったが、 Struts使えばアップロードが簡単にできると知ってからそれが10倍化した。
231 名前:デフォルトの名無しさん [2007/07/26(木) 18:45:17 ] Strutsはゴミ
232 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:54:54 ] >>229 カスタムタグの属性のとこにスクリプトレットだの bean:writeだので値埋め込もうとしても駄目じゃないの? ↓こういう風に書いてもエラーになるよね。 <html:hidden property="honwaka" value="<bean:write name="hogehoge" property="value"/>" /> >ただstyleId自体が固定文字列のところは問題ないようなので >下のように可変文字列を出力しているところが問題なようです。 なんかもう答えが出ているような気がするけど。
233 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:33:57 ] >>225 もう結構前からTLDはいらんだろ。
234 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:34:33 ] >>230 commons-upload使えばいいだけの話じゃね?
235 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 07:22:25 ] >>232 ありがとうございます。 Tomcatでは問題ないのでWebLogicの設定かもと調べていたら WebLogic.xmlにJSPのコンパイル設定があるみたいなので 調べてみたいと思います。 キーワードはrtexprvalueみたいです。
236 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:24:30 ] >>235 え・・・Tomcatでは動くの??? というかJBossだろうがWebSphereだろうが絶対駄目と思うんだけど。。。 最近SwingばっかりでJSP全然触ってないから頭がぼけてるのかもしれないけど。 ・・・とか思ったらできるのかな、これ。 俺ならスクリプトレットなんて真っ先に禁止するけど。 百害あって一利なしだよ、あんなの。 www.javaroad.jp/servletjsp/sj_jsp14.htm そもそもStrutsのtld自体をいじるのはおすすめしないけどなぁ。 ↓WebLogicでこんなのあったけど、 これってWebLogic固有設定っぽいし、 あんまり使わない方がいいんでないの? edocs.beasys.co.jp/e-docs/wls/docs92/webapp/weblogic_xml.html
237 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:29:35 ] >>236 自分も本当は嫌なんですけど そうするとstyleIdに連番をふる方法が他にありますでしょうか? もしあるなら使いたいです。
238 名前:236 mailto:sage [2007/07/27(金) 08:39:44 ] カスタムタグの中に別のタグがあるような書き方はできないはずなので スクリプトレットも当然駄目かと思ったけど、 TLDの設定で変えられるんだね。動かしてないから知らんけど。 (1)スクリプトレットの式を評価して (2)その値をタグハンドラクラスの指定のフィールドにセットする... と考えるとできるっちゃできるか。 ただ、スクリプトレットをJSPにゴロゴロ書き出すと 真似する奴が出て大変なことになると思うよ。 コーディング規約とかで禁止されていない? 割り切って使うならいいかもしれないけど。 >>233 え・・・いらなくなったんですか??? それは初耳だな〜Swingとかもう飽きた・・・ WEBアプリの方が楽でいいから戻りたいです。
239 名前:236 mailto:sage [2007/07/27(金) 08:42:02 ] >>237 Struts-elを使うか、 カスタムタグを自分で作る・・・ Strutsのタグクラスを継承してtldをちょいちょい書くだけなので 意外と簡単だよ。 自分は後者の方でやった。 他にいい方法って逆にありますかね。。。 というか株を見ながら書いていたらこんな時間なので仕事逝ってきます。
240 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 10:05:06 ] 解決しました。 <html:hidden name="hoge" property="type" indexed="true" styleId='<%= "hoge"+ index.toString() %>'/> としたらTomcatでもWebLogicでも動作しました。 なぜだかよくわかりませんが・・・ weblogic.xmlではうまくいきませんでした。
241 名前:236 mailto:sage [2007/07/28(土) 01:22:59 ] >>240 年のせいか触ってないとすぐに忘れる・・・ 俺もかなり適当なこと書いてるっぽいけど もうちょい自分が何やってるか理解しようとする意思を持った方がいいよ。 嫌な言い方するようだけど JSPなりカスタムタグなりがどうやって動いているのか 全然理解してないし理解しようともしてないでしょ。 俺はこういうのは気になって放置できない。
242 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:30:24 ] Strutsタグは使わないことにしました。
243 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 16:19:01 ] ところで、 ActionFormのreset()って、ページ遷移時と submitなどが押されたあとももう1回呼ばれるよね。 これって・・・ 駄目では。
244 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 19:34:39 ] 236氏いい加減なこと書きすぎ。 えらそうなこと書きたいならJSP仕様を勉強し直してからにして。 スクリプトレットと実行時式の違いとかカスタムタグ仕様とか。
245 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 19:35:37 ] >>243 kwsk
246 名前:デフォルトの名無しさん [2007/07/29(日) 21:18:09 ] フォーム有りページに遷移→ActionFormのreset()でフォームが初期化される フォームに値を入力してsubmitする→なぜかまた同じActionFormのreset()が呼ばれて初期化
247 名前:デフォルトの名無しさん mailto:sage [2007/07/29(日) 22:59:05 ] それはそういう仕様。 resetメソッドのところの説明をよく読め。
248 名前:デフォルトの名無しさん [2007/07/31(火) 19:34:33 ] 仕事でstruts勉強する必要ができたんだけど 一番分かり易い説明と要点の書いてあるサイトを教えて下さい。
249 名前:デフォルトの名無しさん [2007/07/31(火) 19:37:49 ] Strutsってなんであんな使い辛い仕様なんだろう 今時WEB案件でjavaとか馬鹿じゃねーのと思う
250 名前:デフォルトの名無しさん [2007/07/31(火) 19:52:45 ] たしかに、もう何十人の派遣ばっかの烏合の衆でシコシコと大型サイト組むような次代じゃないのかもね でも次候補にきそうなPHPもなんだかJavaと手間が変わらなくなってきてるしRubyはありえないし、、 模範的なWEB案件ってないもんか
251 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 20:10:23 ] Strutsがいいかどうかは別としてJavaが一番作りやすいよ PHPとか中途半端にオブジェクト指向取り入れて死んでるよ
252 名前:デフォルトの名無しさん [2007/07/31(火) 21:13:34 ] JavaはServletクラスの設計からしてクソだからな。 Strutsはクソの上に積み上げたクソに過ぎない。
253 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:16:05 ] じゃばじゃば言ってる奴はダサいよな
254 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:27:55 ] じゃあ、何が良いの?
255 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:59:52 ] まずロジックをHttpServletやHttpServletRequestから完全に切り離すことだろうな。 入力の検査・加工ルールと、出力の整形・加工ルールを外部ファイル化できていればさらにいい。
256 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:12:50 ] HTML出力に限ればVelocityが良さそうに見えたが、テンプレート側に文字列の加工を連続して書けないのが難点だったな…。 たとえば「小数点2桁で切り捨ててカンマで区切ってからエスケープ処理したい」みたいなときに テンプレート側にスマートに書けないと、Java側のコードがどんどん膨れて困る。
257 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:14:11 ] いや、それじゃロジックとviewを分離する意味ないじゃん・・・
258 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:23:21 ] ん? 値をセットするのと、フォーマットして表示するのは別だろ?
259 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:37:38 ] 本来、JavaがHTMLエスケープまで面倒見るのはおかしいんだよ。 出力がHTMLであることを定義するのはビューなんだから、ロジックとは無関係なフォーマットや HTMLエスケープはビューがやらないと、それこそビューと分離できなくなるでしょ。
260 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 10:36:14 ] いまからやるならJSFでいいじゃない
261 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 10:37:23 ] HTMLでしか表示しないのに、設計的に美しいからと変な手間を増やすのがJava厨クオリティ
262 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 11:52:32 ] まだPHP4が出だした頃にjavaもやりはじめて、 jspのエラー画面でスタックトレースの階層具合を見た時は轢いたな。 いまとなってはどうでもいいけど。
263 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:18:12 ] ぶっちゃけJSPでいいじゃんって最近おもう。
264 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:37:56 ] さすがに、それはない。
265 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:48:47 ] いや普通にJSPでいいだろ。何がダメなのかわかんない
266 名前:デフォルトの名無しさん [2007/08/01(水) 21:48:58 ] そもそもなんのためにjavaあるの?意味なくない
267 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 22:05:07 ] XHTMLってDreamWaverやHomepageBuilderで作れる? 作れるならPOHP系に落ち着いて欲しいな。言語を選ばなくなるし。
268 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 22:39:34 ] >>266 そもそも何のためにVBが(ry そもそも何のためにRubyが(ry そもそも何のためにC#が(ry ということで、そんな意味のないことを書くな。
269 名前:デフォルトの名無しさん [2007/08/01(水) 23:05:30 ] >>268 ここまで使うメリットのない言語も珍しいだろ javaの利点ってなにさ
270 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 23:12:39 ] 煽るためだけに聞いてるような頭の悪いレスにしか見えん。 ああ、夏休みか。
271 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 23:12:47 ] 誰も喪前にjavaを使ってくれなんていわないワケだが。
272 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 05:11:10 ] >>269 ここまでマジレスするメリットのないレスもめずらしいな。
273 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 08:03:33 ] ストラッツで作ったwebアプリで ブラウザの戻るボタンで 戻れないのは、 どうしてる? 注意書でブラウザの戻るボタンは押すなって 書いてあるとこもあるけど それは避けたいんだよな。
274 名前:デフォルトの名無しさん [2007/08/02(木) 21:11:04 ] JavaScriptで制御してるな
275 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 07:14:10 ] 最初からメニューを消しておけば問題なし。 ついでに右クリックも禁止してしまえ。 ふはははは。
276 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 08:30:17 ] >>275 つBack Space
277 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 10:08:18 ] そもそも戻れないって作り方の問題じゃね?
278 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 10:30:48 ] 戻られて困るようなサイト、Strutsを使うまでもないカスだ
279 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 10:53:00 ] 画面遷移をすべてRedirectで行えばよい
280 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:35:47 ] Struts1.2と1.3、実際に現場ではどちらのほうがより使われている? 各種ツールの対応状況の都合で未だに1.2という話も聞くが実際にはどうだろう? それから、Struts使う場合でもlogicタグを使うケースと その部分だけはJSTLを使うケースはどちらが多い?
281 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 17:15:18 ] 1.3に上げるメリットがよくわからないし、2.0もあるしな taglibについては、以前のStruts開発ではJSTLを使った。 Strutsタグはhtmlタグ以外は使わなかった
282 名前:デフォルトの名無しさん [2007/08/04(土) 17:42:47 ] 分かりやすくstruts解説したサイト教えて
283 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 22:23:29 ] 絶対JSTLの方が楽だと思うけど、 「今までlogicタグ使ってたから」という理由でlogic、beanタグを使うことが多い。 struts-html以外は、JSTLを使うのがベスト
284 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 22:44:26 ] 2.0系は別物だからStruts以外のフレームワークも含めた別の観点からの議論が必要。 1.2.xで作ったモノを1.3.xへ上げる理由はないけど 新規開発ではどう?1.3があるけどそれでもなお1.2を使う? 理想論とか「あるべき」論ではlogicやbeanタグは使わずにJSTLがベターなのはわかりきっているが 実際の開発現場ではどうなの?
285 名前:デフォルトの名無しさん [2007/08/05(日) 10:02:20 ] おまえらどこでstruts勉強したの?
286 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 11:45:26 ] >>284 1.3に上げてもものすごいメリットがないからなあ 保守を考えると全部1.2で同じ作りにしてあった方が楽なので、 うちは今のところずっと1.2 beanやlogicはJSTLに置き換えつつあるかな。でもlogicタグしか分からない外注さんも 多いから混ざってる >>285 本家のstruts-examplesとUser Guideを見ながら。本は買ってない
287 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 12:21:16 ] カスタムタグは使わないほうがいい
288 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:48:26 ] >>287 なんで?
289 名前:デフォルトの名無しさん [2007/08/05(日) 15:43:07 ] >>286 分かり辛いだろ、 分かり易く書いてあるサイトとかなかったの?
290 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:39:33 ] やる気の問題だな
291 名前:デフォルトの名無しさん [2007/08/08(水) 22:55:00 ] やる気なんかないから 分かりやすいのが欲しいんじゃね
292 名前:デフォルトの名無しさん [2007/08/12(日) 13:44:17 ] スクリプトレットにならないだけでもstruts使う価値あり veligateとかtablib:logicとかtaglib:beanとか と、非strutsのソースみて思いました。 JS関数の中にjavaコード埋め込んであったり、もう酷かった。
293 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 15:01:14 ] JSTLで十分かと。
294 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 16:30:00 ] 最近GWT使うようになってStrutsいらなくなったと感じる
295 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 17:27:00 ] >>286 同意。 現在の技術者の多くや、情報源の大部分はStruts1.2ベースだから、 1.3や2.0によっぽどのメリットがない限り、保守性、生産性を考慮し、 1.2を採用すべきと考えてる。 それでも1.3や2.0を採用する価値があるか逆に聞きたい。 まぁ、1.3や2.0のこと全く知らないんだけど…
296 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:12:40 ] >>295 2.0は俺も知らんけど、1.3のメリットなら 処理の割り込みをカスタマイズするのが非常に楽。 たとえば、Actionのexecute()の呼び出し直前/直後に行いたい処理を割り込ませるとか。 アプローチはCommonsChainでAOPじゃないのがイマドキじゃないけど・・・ あとは、ユニットテスト用のモックが提供されているとか、 Validatorや例外処理のリソースバンドル分割に対応しているとか URLバリデータが賢くなったりとか。
297 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:31:24 ] Actionがインスタンス化されるときのメソッドって何ですか?
298 名前:デフォルトの名無しさん [2007/08/25(土) 01:06:47 ] 1.3.8、なんで45MBもあるの?
299 名前:デフォルトの名無しさん [2007/08/28(火) 23:34:30 ] Struts1.3で質問です。 JSPで表示が同じ複数のボタンを配置して、 サーブレットでどのボタンが押されたか判定したいんですが、 どうすればいいでしょうか? 別にStruts使わなくても構いません。
300 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 00:04:00 ] >>299 EventDispatchActionを使うと吉。
301 名前:デフォルトの名無しさん [2007/08/31(金) 01:54:22 ] >>299 私はずっとLookupDispatchActionを使ってきました。 struts.apache.org/1.x/apidocs/org/apache/struts/actions/LookupDispatchAction.html?is-external=true #SpringFrameworkと連携させることが多いので実際はLookupDispatchActionSuportですが。 www.springframework.org/docs/api/org/springframework/web/struts/LookupDispatchActionSupport.html
302 名前:299 mailto:sage [2007/09/01(土) 21:37:01 ] >>300 >>301 遅くなってすいませんが、どうもありがとうございます。 ちょっと見てみます。
303 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 17:16:55 ] 2004年ごろ閉鎖された「有限会社エヌアイティー技術情報部」というサイトが ありました。そこでは、Strutsのドキュメントなどが精力的に翻訳されていま した。 web.archive.org/web/20031021031543/http://www.janit.com/TechnoInf/ web.archive.org/web/20031205165039/www.janit.com/TechnoInf/Java/Struts1.1b3/index.html これだけ大量の翻訳を、どうやら管理人氏一人でやっていたようです。 きのう、ここの移転先を見つけました。 www.geocities.jp/ogaponman/TechnoInf/ www.geocities.jp/ogaponman/ 断言はできませんが、お亡くなりになっていたように見えます。お世話になり ました。合掌。
304 名前:デフォルトの名無しさん [2007/09/21(金) 23:02:37 ] なあ、今strutsの本読んだんだけどさ、 素のサーブレットと手間変わんなくない? これじゃ使う意味ないよね。
305 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 23:20:16 ] >>304 もっといいもの作ってよ、期待してる
306 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 00:14:00 ] >>304 そう思うってことは、勉強が足りんよね。
307 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 04:28:22 ] >>304 素のサーブレット書くよりは数倍楽だと思うけど。
308 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:05:13 ] 派遣とかの現場でもstrutsってもう終ったの?
309 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:56:31 ] むしろ、JSFほか別のフレームワークがはじまってないので、Struts一色
310 名前:デフォルトの名無しさん [2007/09/24(月) 17:56:13 ] うちは4年前からturbine(velocity + torque)
311 名前:デフォルトの名無しさん [2007/09/24(月) 19:10:42 ] ttp://d.hatena.ne.jp/higayasuo/20070923#1190523132
312 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:51:55 ] ひがたんも賢いスーツ側の人間だからなぁ。 しーさーがうまくいかなそうだったら逃げるのかい?
313 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 22:23:56 ] Struts はなんだかんだいって見通しがいいのと 実績があるのもあって総合力は高いよね。
314 名前:デフォルトの名無しさん [2007/09/25(火) 17:30:31 ] うちは去年からWebObjects
315 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 17:55:23 ] 何それ、聞いたこと無い
316 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 02:12:57 ] >>313 strutsはたいしたことはやってないので見通しがいいのと、 登場した時期が早かったのと、 開発メンバーが他のを覚えようとしないので、 うちでもめちゃくちゃポイントが高い。
317 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 03:23:52 ] >>311 ひがさんがくさす頭の固いおやじは流行にうといだけでしょう。 本物のおやじはそもそもJavaを使いません。 人月計算とExcelとスーツの世界より anond.hatelabo.jp/20070831005830
318 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 07:12:04 ] プレゼンテーションフレームワーク以外にも 覚えないといけないことはたくさんあるので 一度覚えた Struts を使ってくれていいです。 それよりはテスト技法とか、リファクタリングなんかを覚えて コードの品質を上げてもらえればうれしいです。
319 名前:デフォルトの名無しさん [2007/09/26(水) 12:10:10 ] >>315 WebObjectsはiTunes Storeに採用されたJavaのWebフレームワークです
320 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 13:39:06 ] ああ、アップルのか 俺的には、どんだけマイナーなんだよって感じだけど、他では大流行してたりするのかな
321 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 15:38:16 ] Macで開発してた人には人気が高いし、WebObjectsを模倣したフレームワークも多くある。 Cayenneなんかもそんな感じじゃなかったかな
322 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 16:54:10 ] Cayenneって永続化層のフレームワークじゃなかったっけ?
323 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:17:37 ] >>321 知ったかぶりもここまで度を過ぎましてはいけませんな ご短慮でありましたな
324 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:40:21 ] www.google.co.jp/search?q=webobjects+cayenne&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox
325 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 23:38:33 ] >>324 の検索にヒットした内の1つであるこの自動車情報サイトもWebObjectsで構築されてるようだ 「PORSCHE Cayenne S 標準価格860 万円」だって www.vividcar.com/cgi-bin/WebObjects/f1b8d82887.woa/wa/read/f1bb29ceb4/
326 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 09:18:41 ] なんにせよMacなんぞサーバに採用しないし、WebObjectsを使うことはねえな
327 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 10:26:37 ] WebObjectsはJavaだからSolarisでも動くって…
328 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 16:56:20 ] java厨化石化の傾向がこんなに早くみられるとは・・・
329 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 11:16:39 ] >>328 Javaも今に衰退しますからあと10年見守ってて下さい
330 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 23:55:50 ] SSHってなんだと思ったら Struts+Spring+Hibernate のことか。
331 名前:デフォルトの名無しさん [2007/10/03(水) 00:53:26 ] Strutsのよさって何だろう? Action(画面遷移の定義)とリソースが落ちてるぐらいしか思いつかん。 Strutsタグは糞だし、デバッグもしにくい(わかり難い) 勉強するのにはいいかも試練が初心者のは難しい気がする。 ごちゃごちゃ機能があるくせホントに使えるのはあまりない Application層を目的として作ったはずなのにDataSourceが定義できる時点で・・・ 後継承を繁盛に使うせいでユニットテストが使えない。 ver2.xからがらりと変わってるらしいけど・・・・ 変なところで固い癖にごちゃごちゃしすぎ ところでDynaActionFormとか使ってる人がいたら使い方教えてください
332 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:20:25 ] DynaActionFormの利点がわからない
333 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:43:41 ] >>331 >Application層を目的として作ったはずなのにDataSourceが定義できる時点で・・・ Application層ってなんすか? 自分が知らないだけですかね。 Datasourceは定義できるだけで非推奨じゃなかったっけ? まぁ使わなければいいだけだし、使わんでしょ普通。 >後継承を繁盛に使うせいでユニットテストが使えない。 よくわかんないなー ActionクラスとかがサーブレットAPIに依存しているので 結局画面で動かさないとできないとかそういうこと? MockのHttpSessionとかHttpServletRequestを用意すれば 簡単に単体テストできるというか俺はやったけど。 なんか変な共通処理とか環境に依存する部分を Actionクラスに見せまくる作りだとやりにくいけどね。 ここはちゃんと設計すりゃ大丈夫でしょ。
334 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 03:10:54 ] 「Strutsの良さ」なんて、土方が集めやすいぐらいでしょ。 Wicketは良いよ。土方集められないけど。
335 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 05:56:47 ] >>334 親方乙ですw
336 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 08:56:20 ] >>331 StrutsTestCase for JUnit使うといいよ。 ttp://strutstestcase.sourceforge.net/ Mockテストとオンコンテナのテストの両方ができる。
337 名前:デフォルトの名無しさん [2007/10/03(水) 11:08:17 ] DataSourceの定義は、1.1の頃からドキュメントでは「推奨しない」と言っていたが、1.3からは完全になくなった。 1.3では定義すら出来ないよ。 1.3では標準でMockテストのためのTestCaseクラスが用意されている。 StrutsTestCaseなんて今時使う奴いるのか? Strutsを使った開発をさらに難しくするだけじゃないか。 2系は今はStrutsプロジェクトで開発されているが、まったく別系統のフレームワーク。 「Strutsの新しいバージョン」と思っていると間違い。
338 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 20:57:00 ] >>337 使ってるが、悪いか、ヴォケが!
339 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 21:03:50 ] 悪くはないが、ヴォケはお前だと思うよ
340 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 21:49:24 ] >>339 は趣味でしかプログラミングをしないヴォケ。
341 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 22:00:40 ] 仕事だったらもっとヤバいだろw クソアーキテクトの下で働くのも大変だな。
342 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 00:33:29 ] マイコミにStruts2載ってた。 依存性が、かなり排除されててテストしやすそう。 内部は、リフレクションバリバリっぽいな。 journal.mycom.co.jp/special/2007/struts2/index.html
343 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 12:47:56 ] 質問なんですが、 Actionを作った場合、ActionFormを使わない場合でも、 それに対応するActionFormクラスは、 絶対作らなければならないんでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 12:54:59 ] そんなことはない
345 名前:デフォルトの名無しさん [2007/10/07(日) 01:15:04 ] Strutsの悪いところってなんですか?
346 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 01:40:13 ] >>345 一度、WicketやTeedaなどに触ってみるといいと思うよ。
347 名前:デフォルトの名無しさん [2007/10/07(日) 03:13:34 ] teedaは触ってます strutsより明らかに良いと思ってます なのでstrutsを排除したいと考えています 部署で説得するためにネタください
348 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 04:49:45 ] >>347 悪い所出そうとしてる時点で説得スキル足りない より良い物として出さないと
349 名前:デフォルトの名無しさん [2007/10/07(日) 08:24:11 ] 頭堅い奴は枯れてるとかいう理由で、いくら良いものがあってもなかなか既存技術捨てて新しいモノに移行しようとしない。
350 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 08:31:24 ] >>345 XML
351 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 11:53:19 ] >>347 どういう立場の人を説得したいの? エンジニア?それともマネージャ?
352 名前:デフォルトの名無しさん [2007/10/07(日) 13:30:37 ] マネージャーです
353 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 14:17:26 ] >>352 会社によって微妙に役柄変わるからあれだけどマネージャーレベルなら 適応によるプラスマイナス両方出して、大まかでも目に見える数値の話でないと食いつかないよ。 マイナス材料(Ex:初期教育コスト、リソース確保とか)がでて無いとちゃんと選定しているのか?と言う話になるし。 注意しないといけないのは「じゃあ次一つやってみて比較しよう」が出た場合、 実績あり(Struts)なし(Ex:Teeda)が初期教育コスト無視で比較される可能性がある。 プロジェクト完了後、技術者からちゃんと情報収集して判断してくれる人ならいいんだけどね・・・ あと技術者レベルでの根回しは必須だと思うよ。
354 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 15:05:02 ] マネージャレベルだと、有償サポートって売りにならない?
355 名前:デフォルトの名無しさん [2007/10/07(日) 15:51:09 ] フレームワークの選定にマネージャーがでてくるの? 技術わかるマネージャー?
356 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 16:14:35 ] 土方が探しやすいとか丸投げしやすいとかそういう要素が重要
357 名前:352 [2007/10/07(日) 16:15:26 ] 古い組織だとマネージャー出てきます。 WEBと言えばstrutsしかなくてそれがあればWEBアプリができると信じています。 比較しようと思ったときにstrutsのマイナス面を考えたんだがなかなか決定的なのがなくて… teedaって有償サポートあるんですか?
358 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 16:22:04 ] >>357 1個人のいうマイナスと実績どっち信じる? その後どう言ったってそのレベルの否定から入ったら終わり
359 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 17:23:53 ] ISIDがサポートやってるよ。 JSPじゃなくって素のHTML使えるのも利点だね。 「HTMLだけが書ける安い人が使える」って言って。 あとは、東京三菱の実績ありってとこかなぁ。 技術的な話だと、Ajaxサポートとかは?
360 名前:デフォルトの名無しさん [2007/10/09(火) 06:32:47 ] すみませんスレ違いなのは多々承知しているのですが Eclipse3.31用のTomcatプラグイン(Sysdeo)がほしいのですが サーバがずっと落ちてて見つけれません www.sysdeo.com/eclipse/tomcatplugin www.eclipsetotale.com/tomcatPlugin.html どなたか3.31で使える他のTomcatプラグインもしくは Sysdeoの3.31対応のプラグインのダウンロードページ知ってる方 教えていただけませんでしょうか?
361 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 08:48:48 ] WTPがまともになった今どき、Sysdeoなんて使ってる奴がいることに驚いた。
362 名前:360 [2007/10/09(火) 09:37:12 ] すみません これからJavaはじめようと思って解説サイトの手順通りに従おうと思ったので・・・ 入れてるのがwtp-all-in-one-sdkなので知らないうちに開発環境整ってたんですね WTPについて調べてきます
363 名前:デフォルトの名無しさん [2007/10/09(火) 20:22:53 ] WTPってまともになったんだ? Tomcat Pluginと比べてどんなメリットがありますか?
364 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 20:38:28 ] 比べるものですらない
365 名前:デフォルトの名無しさん [2007/10/09(火) 23:25:31 ] eclipse純正という安心感 all in one 動的WEBプロジェクトのディレクトリが決まっててlibにjarいれたらひとまとまりになる まん
366 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:24:30 ] NetBeansの機能の一部やん>WTP struts-configの編集にはまた別のプラグイン入れなあかんかった
367 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 05:21:09 ] all-in-one入れたけどweb開発らしきプロジェクトが選択項目に出てきません なんでだろう・・・ もしかしてtomcat入れないとだめ?
368 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 21:10:59 ] 久し振りにstrutsの開発をすることになった。 今日設定をしてたんだけどうまく動かない。。 URLたたいてもActionServletが呼び出されていない感じで404になる。 コンパイルは通るし、デプロイは成功、 デプロイ時にActionServletは読み込まれているので(デバックした) ここら辺は問題ないと思うんだが・・・何か原因わからない? ちなみにearの中にjar,warを含めて、 application.xmlにコンテキストは指定してある。 同じverのstrutsサンプルは動いたので 完全に設定の問題なんだが。。。
369 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 21:22:45 ] >>368 >ここら辺は問題ないと思うんだが・・・何か原因わからない? >完全に設定の問題なんだが。。。
370 名前:デフォルトの名無しさん [2007/10/11(木) 22:02:39 ] フォームで、submitボタンやtextボックスのpropertyに、 日本語の伸ばし棒"ー"を使うと、 javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate という例外が発生してActionのexecuteまで行かないんですが、 これを回避する方法って無いでしょうか? ちなみに伸ばし棒以外の日本語は大概大丈夫でした。
371 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 05:45:44 ] actionListener / onChange で「ー」が入ってたら「−」に変えてしまえ
372 名前:デフォルトの名無しさん [2007/10/20(土) 21:29:43 ] スレ違いかもしれないのですが、どこで聞いたらいいのかわからないので、、、 Actionを継承したクラスに入力チェックやSQLを投げる処理が書いてあるのって普通なのでしょうか。 いろいろな面で(熟練度とか)仕方ないのかもしれないのですが、 SQLの種類が大量になったり、入力の仕様が変わったりするたびに修正漏れなどがおきてどうしようもなくなっています。 もちろん未熟者の私が口をはさめる事ではないのですが、他社での経験がないので知っておきたいのです。
373 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 22:10:20 ] >>372 そのレベルが集まって一番コスト低いのがその手法なら・・・それでもその手法は選択できないw 入力チェックは一概に言えんけど、DBアクセス周りはS2DaoとかiBATISとか触ってみるといいよ。
374 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 16:30:40 ] >>372 ActionクラスにSQLとか終わってると思うすけどね。 unitテストとかできんでしょ? MockのHttpServletRequestとか用意して単体テストできるようにしたことあったけど、 それにしてもview周りの面倒な処理が入りやすいActionクラスからは その手のは排除するようにすべき。 単項目でチェックできない入力チェックなら Actionに入ってもいんじゃないかな。 でもその話からするとActionクラスで 全部をやろうとしている設計ぽく聞こえるなー 俺なら絶対に触りたくない。
375 名前:デフォルトの名無しさん [2007/10/21(日) 18:04:18 ] Strutsが出て5年くらいになるか? 当時、俺はJavaを未経験で入って、研修という名のもとJava未経験のおっさんが だしてくれた課題をせこせこ作ってて、現場デビュー。ちょっとしかかじったことな JSP・サーブレットで悪戦苦闘。その後、StrutsやらEJBやらわけわからん用語が次々とでてきて もうだめだと思い、リタイヤ。このまま新技術がどんどん出てきたんでわ、とてもじゃないがついていけないとおもった。 今、色々みてみたら、当時からそんなに変わってないじゃん。。なんのこっちゃか。。
376 名前:デフォルトの名無しさん [2007/10/21(日) 22:30:42 ] ねえStruts2やってみてるんだけど、なんでもないページでもレスポンス遅くね?一拍置いてから表示される感じなんだよね 解決策あるんでしょうか?
377 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 22:48:52 ] >>375 昔のEJBは確かにアレだったような希ガス。 とは言え今ならJSFとかにシフトすればいいのでは? それかJava捨ててRoRとか。
378 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 15:47:47 ] Tomcat6.0 + Struts1.3.8を使っているんですが、 FormFileを使ったファイルアップロード時にできる、 一時ファイルはどこに作成されるのでしょうか? <controller> <set-property property="tempDir" value="/TempDown/" /> </controller> これで一時フォルダを指定して見てみると、 一時ファイルは処理後も消えずに溜まっていました。 一時フォルダを指定せずデフォルトでも動かしていたのですが、 そのときできた一時ファイルが残っているなら消したいです。
379 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 16:06:43 ] FormFile#destroy()
380 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 16:08:03 ] デフォルトの一時ディレクトリは、コンテナが割り当てるアプリケーションの一時作業ディレクトリ。 Tomcatなら%CATALINA_HOME%/work/Catalina/localhost/contextname以下。
381 名前:378 mailto:sage [2007/10/22(月) 19:08:04 ] どうもありがとうございます。 >>379 一時ファイル消せるんですね。 根本的に解決しました。 >>380 Tomcatのserver.xmlのContextのworkDirに設定されてました。
382 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:40:55 ] journal.mycom.co.jp/special/2007/struts2/index.html 今まで1.2系しか使ってなかったけど、これ読んだら 今度作るときはStruts2もいいかなと思ってきた。 1.x系よりけっこうシンプルそうじゃない? 2系使ってる人いる?
383 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 02:19:35 ] >>382 正直、TeedaとかWicketのほうが全然いいと思う。
384 名前:デフォルトの名無しさん [2007/10/30(火) 10:18:55 ] DynaActionFormをプログラム内で生成して値を設定するには どうすればいいでしょうか? 普通のActionFormなら作ったクラスのインスタンスを生成すればいいですが、 DynaActionFormはform-beanでform-propertyを設定しても、 クラス自体を作ったわけじゃないので、 ただのDynaActionFormでしかインスタンスを作れません。
385 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 16:24:40 ] JSP を標準のビューから追い出してテンプレート志向を強めたら Struts は生き残れたかもしれないが。もうダメだろう。
386 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 17:12:41 ] 最近上司に迫られてStrutsの勉強をしてみました。 それで簡単な社内システムを作ってみました。 せっかくなので、今どきっぽいやつをというわけでJSFも勉強してみようと思いました。 このスレでもJSFのスレでもJSFの評判はいまいちですね。 いまさらこんなことを聞かれてもとお思いでしょうが、結局今やるならどれ? 会社的にはわけのわからないツールを使っていて、 JSP/Servlet関係の仕事も去年数件やったくらいです。
387 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 18:02:06 ] 個人的にはSpringとかどうかなと思っている
388 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:06:27 ] Springは層が違う
389 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 22:16:27 ] Teeda, Wicket, Tapestry 個人的にはWicket
390 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:35:57 ] >>384 protected DynaActionForm initNextDynaForm(ActionMapping mapping, String NEXTFORM) throws IllegalAccessException, InstantiationException { FormBeanConfig config = mapping.getModuleConfig().findFormBeanConfig(NEXTFORM); DynaActionFormClass dClass = DynaActionFormClass.createDynaActionFormClass(config); DynaActionForm dform = (DynaActionForm)dClass.newInstance(); return dform; }
391 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:44:41 ] >>385 俺はしぶといと思う。struts。 過去の資産があるし、ググれば大抵のことが解決しちゃうから。これは ある程度の生産性が保障されるしな。廃れるときは、Ajaxで生産性が飛躍的 にあがるフレームワークが広まったときじゃないかな。 AjaxとWicketってどんな感じなの?
392 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 00:40:56 ] そうそう、素敵なものが流行るとは限らないのがこの業界の悲しいところでもある。
393 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 15:58:37 ] Ajaxなんて面倒なもんやらずにFlex+Strutsでいいや
394 名前:384 mailto:sage [2007/10/31(水) 16:48:36 ] >>390 どうもありがとうございます。 DynaActionFormClassのJavadocに、 「開発者はこのドキュメントを調べる必要ない」って書いてたんですが、 DynaActionFormを自分で作るのはあまりやらないことなんでしょうか。
395 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 17:16:20 ] ないな 使い勝手いいもんじゃないし
396 名前:386 mailto:sage [2007/10/31(水) 17:25:34 ] みなさんありがとうございます。 Strutsでっていっときます!
397 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 18:26:15 ] EventDispatchActionを使うと、 submitボタンのpropertyによってメソッドを振分けられますが、 リンクタグにpropertyのようなものをつけて、 submitボタンと同じようにメソッドを振り分けることはできないでしょうか? こんな感じでやってみたんですが、これでは無理でした。 <html:link action="/paging" property="next">次へ</html:link> 度々の質問で申し訳ありませんが、よろしくお願いします。
398 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 22:41:58 ] >>397 やったことはないですが、html:linkにパラメータ渡せるんで、submitでわた すような値をセットして見ては? ex) next=次へ あと、html:linkへのパラメータの設定方法はぐぐれば出てくると思います。
399 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 22:45:30 ] >>393 flexはえらい高かった。2になって多少安くなったかもしれんけど。
400 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 09:52:59 ] >>398 昨日色々とググったんですが、なかなか上手くいかず… パラメータ付けるだけならできるけど、 EventDispatchActionのメソッド振り分けができなかったり、 バージョンによってタグに使える属性が違ったり。 と思ったらできました。 Struts1.3.8でこんな感じです。 <html:link action="/paging" paramName="PagingForm" paramId="next">リンク</html:link> これでpagingアクションのnextというメソッドに飛びます。
401 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 10:07:53 ] >>391 Wicket+Ajax普通に使ってるよ…受託案件じゃないけどw
402 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 14:31:37 ] >>399 Flexサーバ要らなくなって多少どころじゃないくらいに安くなった ttp://www.atmarkit.co.jp/fjava/rensai3/eclipseplgn13/eclipseplgn13_1.html
403 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:52:20 ] >>402 Flexデータサービスとかがなくても、サーバ側とのデータのやり取りできる の?
404 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 12:45:08 ] WebService 経由にしてしまえばどうとでもなる。
405 名前:JAVA初心者 [2007/11/02(金) 19:23:54 ] こんにちは。 いつも参考にさせていただいています。 STRUTS使用のJSPで、html:textを使用するときに フォームのプロパティに値がsubmit後に入ってくると思いますが、 formの直下にプロパティがない場合、 たとえば formの直下にaBeanというビーンがあります。 そして、そのビーンの下にbBeanがあり、 そのbBeanの下のプロパティにsubmit後に ユーザの入力値を設定したい場合は そのようなことは技術的に可能でしょうか? また、可能であれば、どのようにJSPにかけばよろしいでしょうか? よろしくご教授してください、、
406 名前:デフォルトの名無しさん [2007/11/02(金) 19:33:40 ] スレ読まずにSTRUTSの良さ語らせて貰うが、STRUTSの良いところはお手軽に アップロード出来ることかな?
407 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:43:33 ] >>405 <html:text property="aBean.bBean.プロパティ名" /> 誘導されたのなら、「○○から誘導されました」と一言沿えるのが礼儀だぞ。 それをしないとマルチポスト認定されるぞ。 >>406 Strutsのメリットでも何でもない。 Commons FileUpload使えば同じぐらい簡単。
408 名前:JAVA初心者 [2007/11/02(金) 19:45:56 ] >407 あまりこちらの掲示板の使いこなせてなかったようで申し訳ありませんでした。 以降気をつけます。 また、ご教授してくださいましたやり方でやってみます。 ありがとうございました。
409 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:08:38 ] どうでもいいんだけど、struts のサイトにあるドキュメントのなかで、 タグがエスケープされてしまって、ドキュメントの中に <p><strong>Note: Some of ..... のようにタグが表示されてしまっていて見にくい。 例: struts.apache.org/1.3.8/struts-taglib/tagreference.html なんでこんなことになっているんだ?
410 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:45:31 ] Struts1.2ってこれからの仕事では使われていないのかな? springって今でも使われてる?流行で終わったのかな。 数年前のOSSのフレームワークブームの頃のPGが出世して、 世代が変わったかな。
411 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 23:17:01 ] >>410 うーん、JSFとかの方が1から作るなら生産性は高いんだろうけど 慣れたStrutsと慣れないJSFでどっちをとるか?というと今のところStrutsを選んでしまう Springは…正直、Strutsで何十も画面を作ってからでないと、 Strutsの何が駄目なのか?なぜDIが登場したのか?DIだと何がうれしいのか? があまり理解できないと思う。 そういう意味での流行は終わったのかもしれないが、使われてないことはないぜ
412 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 23:42:17 ] >>411 が一番SpringもStrutsもわかってないなw なぜStrutsとSpringが同じレイヤーで語られるんだよwww
413 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 07:45:44 ] 一瞬最近のSpringってJSF相当の機能でも盛り込んだのか?と思ってしまったが・・・。
414 名前:デフォルトの名無しさん [2007/11/03(土) 12:50:34 ] 教えてください。 Struts-config.xmlに以下のようなアクションと、そのプロパティが設定されているとき、 <action path="test/test01" 〜略〜> <set-property 〜略〜> </action> test/test01.do でアクセスした時に、filterでアクションのプロパティを取得したいです。 ※actionクラスの実行前に取得したいです。 actionクラスのActionMappingオブジェクトからは参照できるんですけど、 dofilterには該当クラスが引数にないので参照できません。 もう一つの質問ですが、 Struts-config.xmlのAction要素のpath一覧を取得する方法はありますか? 可能なら教えてください。
415 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 13:15:11 ] xsltでも使えば?
416 名前:デフォルトの名無しさん [2007/11/03(土) 13:17:48 ] 標準の方法でお願いします。 標準外のライブラリの追加は認められないので・・・
417 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:00:21 ] javax.xml.transform.*を標準外と申したか
418 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 17:10:34 ] 稼働中のシステムでpathを取得する必要があるのか? ツールの類にまで「標準外は駄目」とかあるのか? jakartaのライブラリ類なんかも使えないのか? そもそもstrutsが「標準外」じゃないか?
419 名前:デフォルトの名無しさん [2007/11/03(土) 17:43:13 ] >>417 ごめんよく知らないからxsltをぐぐったら何か追加しなきゃだめだと解釈した jdk1.5とstruts1.3.8に入っているもの意外原則駄目。 唯一の例外はojdbc14.jar フィルタからactionのプロパティ取得は普通のやり方じゃ無理ってこと?
420 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 17:54:50 ] >jdk1.5とstruts1.3.8に入っているもの意外原則駄目。 >唯一の例外はojdbc14.jar アフォじゃねーか、と思う環境だな。
421 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 18:45:37 ] >>420 なぜアフォなんだ? ある程度縛りも必要と思うが。
422 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 19:03:12 ] >>421 どこが「ある程度」なの?
423 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 19:11:17 ] >>419 それ酷すぎないか?w DBアクセス周りとかトランザクション管理とか全部自作?
424 名前:デフォルトの名無しさん [2007/11/03(土) 19:45:05 ] ojdbc14.jarは使うんだって トランザクションはsqlで吐いてする予定。 DBアクセスの自作ライブラリ作るのはそんな苦にはならないし ※リクエストをまたがってのトランザクション制御が出来るかはまだ未検証(出来ますか?) >>420 業務のシステム開発にはいろいろしがらみがあるんだよ 趣味みたいに好き勝手自分だけの裁量では出来ない。 新しいライブラリを使うためには、 その根拠などの諸々を上や客に説明し説得する必要がある。 正直めんどくさいから、標準で出来ることだけで済ましたいんだよ。
425 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 19:51:04 ] 携帯からなので書くのがめんどくさいから「できる」とだけ答えておく。
426 名前:デフォルトの名無しさん [2007/11/03(土) 19:52:09 ] てか、こっちの事情はいいので 質問の解(手法)を教えてくれませんか・・・ @自作Filterクラスのdofilterメソッドでchain.doFilterの前に、struts-config.xmlの該当actionのset-propertyタグの値を取得する方法 Astruts-config.xmlのaction要素のpathの値の一覧を取得する方法
427 名前:デフォルトの名無しさん [2007/11/03(土) 19:54:54 ] >>425 待ってますので方法教えて下さい。 お願いします。 月曜に会社いくまでテスト環境はないので 月曜に試したいと思います
428 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 21:01:07 ] >その根拠などの諸々を上や客に説明し説得する必要がある。 >正直めんどくさいから、標準で出来ることだけで済ましたいんだよ。 その程度の事を説明できない無能だから、アフォ扱いされてんだと思うが。 漏れもアフォだと思う。
429 名前:デフォルトの名無しさん [2007/11/03(土) 21:31:23 ] 元々アフォ扱いされてるのは環境じゃね? 俺をどう思おうが勝手だけど、その行が本気で理解できないのなら もう少し世の中を知った方がいいと思う 皆が上や客に恵まれていたら、この業界ブラックとか言われないよ 道理の通じない奴は間違いなく存在するんだから まあ、俺も昔はそんな風に思っていたから言えるんだけどね
430 名前:デフォルトの名無しさん [2007/11/03(土) 21:35:42 ] >>425 以外でも、分かる人いたら教えて下さい。 方法一つとは限らないし。 知ってる人なら簡単な類のコードなのかと思っていたけど 案外難しい事なのかな??
431 名前:デフォルトの名無しさん [2007/11/03(土) 21:35:59 ] いるよなー。 自分の実力&実績不足を環境や客の性にするヤツ。 50代の保守何十年のCOBOLerが同じ事言ってるの何回か聞いたことある。
432 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 21:40:43 ] >>427 Digesterを使えば?Struts自身がstruts-config.xmlを読み込むために 使用しているので、標準外ということはないはず。 気持ちわからんでもないが、Stuts以外のJakartaも駄目つうのはなんとか すべきじゃないの。上から下までアフォばかりという印象...。
433 名前:デフォルトの名無しさん [2007/11/03(土) 22:02:17 ] >>431 まあ、初javaで知識も実績もないから仕方ない。 普段お金の意識してないと分かんないかも知れないけど、 知らない技術をプレゼンする為には調査検証が必要だが、 そこにあんまりお金はかけさせてもらえないんだ。 客から取る金は決まってるからね、無限じゃない。 >>432 Digesterぐぐってみます。 Stuts以外のJakartaを説明するだけの知識が付いたら何とかしたいですが まだ、それだけの知識ないんで・・・精進します
434 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 22:12:39 ] >>433 んな出来ない言い訳で実装コスト増やしてどうすんだよ・・・ 実装のほうが金かかるんだよ。 Struts通ってるんだからStrutsで使ってますのでとか適当に言っておけばいいのにw
435 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 22:14:43 ] Not Invented Here症候群は、洋の東西を問わずSIerの宿痾だ。彼だけを責めることはできないな。
436 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 22:20:52 ] .netならすべてそろってるのに
437 名前:デフォルトの名無しさん [2007/11/03(土) 22:27:02 ] >>434 いや、確立した手法があるなら使いたいと思って質問しているだけだよ 手間のかかる実装だって分かってるなら他の方法検討する。 正直なにも分かってないからこの始末 commons-digester-1.8.jarくらいなら使えるのでこっちで検討するかな・・・ Digesterって <a> <b>これ</b> </a> こういうのは取れる方法はみつけたけど <a> <b path="これ"/> </a> こういうのは取れるのかな? <a> <b path="test"> <set-property name="c" value="これ"/> </b> </a> あとこういうのも
438 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 22:33:21 ] けど、XML解釈は素のDOMかSAXなんで、もっと便利なものが欲しいとNDigesterが欲しくなったり、 ログ出力自作するのがメンドイと、Log4netに手を伸ばしたくなったり、 テスト駆動したいからとNUnitが手放せなかったりと、 そういうことはある。
439 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 22:41:14 ] >>437 なんでもござれ。受け側のクラスの作りにも寄るけど、SetPropertiesRuleが使えるかな。 Digesterは、頑張ればCallMethodRuleで何でもできるよ。 そろそろスレ違いのような気がするけど、Commonsスレはdat落ちしたから他にいいスレもないね。
440 名前:デフォルトの名無しさん [2007/11/03(土) 23:00:15 ] OK ちょっと月曜日いっぱいくらいそっち方面の検証してみます。 ありがとうございました。 ただ>>425 の情報は引き続きお待ちしておりますw
441 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 23:40:40 ] xpathでとれるだろ。javax.xml.xpathだ。 でも、その環境なら、JDK1.4.2ってオチがありそうだな。
442 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 23:41:50 ] まぁ >>424 の言う気持ちもわかる。 おれが今まで経験してきた案件でも、追加の jar を入れさせてくれないこともあったり、 入れさせてもらうために資料を作ったり、その検証のためにプログラムを大急ぎで作ったりしたもんだ。 ただ客は馬鹿だから、 >>434 のように適当に言っておいたり、 「OSSで世界中でテストされたプログラムと、これから一から作るプログラムと、どちらが信頼性があると思いますか?」 と言ったりすると納得してくれたりすることもある。 OSS = 品質が高いは、多少の相関はあってもイコールではないけどね。 ただむかつくのは、>>440 のように、待ちの姿勢であることだ。 いま土日だろ? > 月曜に会社いくまでテスト環境はないので チームが2日も止まってくれているんだから家でテストコード書いて試せばいいじゃん。 struts と commons 落としてきてごそごそやればいいだけじゃないか。 おまえそんなんだと今後成長しないぞ(伸び代ないぞ)
443 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 23:57:27 ] >>438 .netならXML周りは読みXPath, 書きDataSetで十分 Log4net, NUnitは同意 StrutsConfigエディタもほんと楽に作れるしなw スレチすまん
444 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 00:14:06 ] ActionPathの一覧なんてActionConfigだっけか?そんなクラスから取れただろ。 つまり440はアフォでヘタレでカス
445 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 01:35:32 ] org.apache.struts.util.ModuleUtilsあたりなら、Filterからでも取れるんじゃなかったっけ? っていうか、昔似たようなことやった覚えがあるけど、Struts本に普通に書いてあったと思うけどな
446 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 01:54:04 ] ActionConfig見た限りだと、pathはいけるけど、set-propertyの値取れる ように見えないんだが。方法あるのかな?
447 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 08:41:32 ] set-propertyってActionMappingの継承クラスにプロパティセットする為のものだっけ キャストして取ればいいんじゃね? それかBeanUtils使うとか
448 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 10:00:26 ] doFilter(ServletRequest req, ServletResponse res, FilterChain chain) 上のオブジェクトから ActionConfig ModuleUtils これらって取れた?
449 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 13:13:37 ] >>440 の状況は遭遇したことあるわ。ぶっちゃけ客や会社による。 俺?Strutsすら使わせてもらえない、いかれた設計思想の自社フレームワークつかって開発ですよ。 Strutsは実績が十分すぎるほどあるが、 俺の会社ではこのフレームワークがStrutsの実績よりも重視される。 それでもいつか、使うときのためにネットにつなぐたびこのスレをチェックしてるんだ。 いつか自分も悩むかもしれない問題の解決策があったなぁと思い出せるために。 ROMてるだけの俺だが、アフォだのCOBOLerを引きあいにだした書き込みはちょっと萎える。 仲良くStrutsの良さを教えてあげればいいジャマイカ
450 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 16:08:20 ] つか、そんなに信頼性やら実績重視で使うライブラリに制限があるなら、 最初からIBMからWebSphereでも買ってその上でStrutsとかJSFで実装すればいいだろ。 IBMのパッケージならロガーやらUnitとか最初から全て入っているし 困ったらサポートに泣きつける。 それこそ趣味じゃなくて仕事だったら金出してサポート受けろよ、って希ガス。
451 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 17:02:24 ] >>448 StrutsのJavaDoc嫁
452 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 17:23:42 ] >>449 > 俺?Strutsすら使わせてもらえない、いかれた設計思想の自社フレームワークつかって開発ですよ。 どっかの電力会社でそんなのあったなぁ。
453 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 17:28:53 ] >>449 >業務のシステム開発にはいろいろしがらみがあるんだよ >趣味みたいに好き勝手自分だけの裁量では出来ない。 >もう少し世の中を知った方がいいと思う >月曜に会社いくまでテスト環境はないので こんな事言う質問者なんて2ch以外でも相手されないぞ? 2chと思えない位このスレの住人は優しすぎる しかし、なんで>>414 はこんなに上から目線なんだ?技術力も交渉力も質問力も無いのに・・・
454 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 17:50:23 ] 釣れますか?
455 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 01:40:19 ] 425です。お待たせ。 2日間外出していたのでレス遅れてスマソ。 org.apache.struts.config.ModuleConfigオブジェクトがServletContext(つまりapplicationスコープ)に org.apache.struts.Globals.MODULE_KEYというキーで入っている。 ServletContextは、FilterのdoFilter()メソッドの引数に入ってきているFilterConfigオブジェクトの getServletContext()メソッドで取得可能。 ModuleConfigは、Strutsの設定ファイルの内容をすべて読み込んで保持しているオブジェクト。 ModuleConfhgのfindActionConfigs()メソッドで、ActionCoofigの配列が取得できる。 ActionCoofigは、各<action>要素の設定内容を保持しているオブジェクト。 ActionConfigのgetPath()メソッドでpathの値を取得できる。 <set-property>要素の値は、ActionConfigの(正確にはスーパークラスであるBaseConfigの) getProperties()メソッドでjava.util.Properties型で取得可能。 APIドキュメント眺めてればこんなのすぐにわかりそうなものだけどな・・・。
456 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 01:45:32 ] すまん。ActionCoofigはActionConfigsと読み替えてくれ。
457 名前:デフォルトの名無しさん [2007/11/05(月) 18:23:41 ] >>455 ありがとうございました。 おかげ様で希望の動作をさせることが出来ました。
458 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:16:04 ] 1.3.8を使っています。LookupDispatchAction を使ってみました。 クリックされたボタン名(正確には、struts-config.xml の action 定義の parameter属性で指定した名前)に応じてメソッドを振り分けることはできるようになりました。 ただ LookupDispatchAction の場合、そのActionに飛んできたときにどのボタンもクリックせずに遷移してきた場合 (HttpRequestの中にparameter属性で指定したパラメータが含まれない場合)、 > javax.servlet.ServletException: リクエスト[/hoge]に buttonName という名前のハンドラパラメータがありません という例外が発生してしまいます。 LookupDispatchAction、DispatchAction とソースを追っかけて行くとたしかにそう動くようになっていますが、 DispatchAction系を使う場合、かならず遷移元で何らかのボタンを押してもらわないとダメなのでしょうか? ある画面に複数ボタンがあって、押されたボタンによって処理は振り分けたいけど、その画面に初めて遷移してくるときは 前画面からどのボタンも押されないため(リンクでクリックされるとか)、任意のメソッドを動かしたいです。 いままで(ふつうの Action のサブクラスで execute() をオーバーライドしていたとき)は、 以下のようなコードを書いて押されたボタンによって処理を振り分けていました。 execute() { if ("update".equals(form.getButtonName("update"))){ // updateボタンを押されたときの処理 : } else if (form.getButtonName("update") == null) { // 遷移元から何もボタンが押されなかったので初回遷移時とみなす : } : } こういうとき、どうすればいいでしょうか? それともこれはこういうもので、私がDispatch系Actionの使い道をまちがえているのでしょうか?
459 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 23:15:48 ] unspe何とかってメソッドが呼ばれるんじゃなかったか?
460 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:27:48 ] たしかに最終的に DispatchAction#unspecified() に処理が移り、 DispatchAction#unspecified() のなかで throw new ServletException(); されてますね。 そうか、これをサブクラスでオーバーライドすればいいのか!! ピコーン(AA略 たしかにこのメソッドの javadoc コメントにも 「DispatchAction のサブクラスは、リクエストパラメータが見つからない場合の挙動を変えたければ このメソッドをオーバーライドしなさい」 といったことが書いてありました。 ソースを追いかけていたけど、javadoc コメントは英語だったのでスルーしてました。 ちゃんと javadoc 読まないとダメですね。 >>459 さん、ヒントを与えてくださってどうもありがとうございました!! これですっきりして眠れます。
461 名前:デフォルトの名無しさん [2007/11/06(火) 17:00:43 ] struts2でアップロードしたファイルで拡張子ごとのコンテンツタイプの 早見表などが載っているサイトなどがありませんでしょうか?
462 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:07:07 ] JSF使えば1画面複数ボタンがチョーーーーーーーーー楽なのにね
463 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 00:11:55 ] >>461 apacheのmime.types?
464 名前:461 [2007/11/08(木) 20:29:35 ] ありました!ありがとう。
465 名前:デフォルトの名無しさん [2007/11/08(木) 23:50:20 ] 教えてください。 最近strutsを勉強しだしたんですが、現在ダウンロードできるstrutsのバージョンは1.3.x〜2.0のようです。 ところが各サイトで解説しているバージョンは1.1ばかり。売られている書籍は1.2まで。 以上が私の貧弱な検索で調べた結果なんですが、もし1.3以降の解説をしているサイト もしくは1.2以前のアーカイブの入手方法がわかる方、ご教授いただけないでしょうか。
466 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:31:39 ] HTMLで、「あなたの年齢を入力してください」みたいな <html:text> のフィールドがあったとします。 数字での入力を期待しています。 ActionForm では、setAge(Integer age) みたいに Integer 型の属性としました。 ただしテキストボックスにはアルファベットも入力できるわけですが、数字以外を入力した場合、 NumberFormatException とか出ずに、ActionForm の age には 0 が代入されています。 未入力の場合も null ではなく、0 が代入されています。 しかしテキストボックスに未入力の場合と、0が明示的に入力された場合を区別したいです。 いろいろググって見ると、そういう場合は属性を String にするしかない(基本的にStringしか使えない)とありますが、 例: blog.goo.ne.jp/glass-_-onion/e/cfc190c41d931bf3020719e7d724cf79 そういうものなのでしょうか? >>465 Struts 2.0 はまだ出たばかり。1.x と 2.x は別物。 1.2 以前がほしければ、 struts.apache.org/ → Older Releases (Archive Site) → binaries/ とたどれば出てくるよ。 プロジェクト等でバージョンの指定がなければ、いまは 1.3 でよいのでは。
467 名前:デフォルトの名無しさん [2007/11/09(金) 00:46:41 ] >>466 この場合はStringにするしかないですね。多分
468 名前:465 [2007/11/09(金) 00:49:56 ] >>466 さん ありがとうございます!助かりました。 1.3を落として、1.1の解説を読みながらやってたんですがバージョンの違いでつまずいてしまって・・・ かなりの初心者なんで、ちょっとした違いでも対応するのに時間がかかってしまう為、 古いバージョンで解説どおり動くかどうか確認したかった次第です。
469 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:55:57 ] >>466 scriptで処理する以外はStringしかないかねぇ・・・
470 名前:466 mailto:sage [2007/11/09(金) 01:09:56 ] レス下さった方、どうもありがとうございます。 5年前に 1.0.1b だったかな? を使っていたのですが、そのときの記憶がよみがえってきました。 String にするかどうか考えて見ます。 >>468 私も本を1冊買ってしまいました。(1行につなげてください) www.amazon.co.jp/Apache-Struts%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF -%E6%94%B9%E8%A8%82%E7%89%88-Technical-Handbook/dp/4797335491 私みたいに中途半端に昔の知識があって、新しいバージョンだと書式が変わってたり jar が変わっていると ハマるけど、この本だと 1.2 と 1.3 のバージョンの違いも載っていてわかりやすい。 struts の初学者の場合、ほかに入門の本があったほうがいいと思うが・・・
471 名前:465 mailto:sage [2007/11/09(金) 01:17:02 ] >>470 重ねてご教示いただき、ありがとうございます。 やはり本は一冊買うべきですね。 明日にでも本屋行って見てみます。
472 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:24:56 ] ActionFormにはStringかbooleanかそれらの配列ぐらいしか定義しないと思うんだが。
473 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:13:35 ] formbeanをPOJOにして、プロパティエディタ自作するってのじゃうまくいかない?
474 名前:466 mailto:sage [2007/11/09(金) 02:51:27 ] >>472 いまやっている入力画面は(例ですが)、名前と年齢の欄があり、遷移元でDBからselectしてきてListにし、 ActionFormにセットし、jsp側で↓みたいに入力させています。 <logic:iterate id="person" name="MyForm" property="personList"> <tr> <td><html:text name="person" property="name" indexed="true"/></td> <td><html:text name="person" property="age" indexed="true"/></td> </tr> </logic:iterate> なので ActionForm には Listのsetter/getter ぐらいしかないのですが、 これだと Struts が getPerson(int index) で Person オブジェクトをとってきて Person#setAge(Integer) する。 なるべく POJO を変更しないまま ActionForm にもってきたけど、 POJO のフィールドを Integerから変えない場合は、 ActionForm に age 等の setter/getter を用意して POJO へのラッパメソッドみたいにし、 このメソッドの中で String から Integer に変換するとか。 でも setter() のなかで NumberFormatException がでてしまうから、 ActionForm → Action に移るまでの間は、POJO は String型で保持するしかないのか・・・ (1)DB → ビジネスオブジェクト → Action の間でやり取りするPOJO(エンティティ)は、Struts の制約から離れられるけど、 (2)Action → ActionForm でやりとりするPOJOは、String ぐらいしか使えない。 エンティティ(DTO)は、(1)用と(2)用で2種類作らなければいけないってこと? それとも Struts を使った時点で、エンティティはなんでもかんでも String と boolean ぐらいで保持すべきってこと? >>473 さんが言っているのは、ここら辺の話ですよね。 hidek.jugem.cc/?eid=110
475 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 08:40:58 ] 俺はFormは全部Stringにして、validatorメソッドでチェックしてる Javascriptのチェックだけじゃ意味無いし
476 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 09:23:32 ] strutsの重大な欠陥の一つ。 普通に考えりゃ、conversionよりvalidationが先だし、 実際に殆どのフレームワークがそうなってる。
477 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 10:53:42 ] ほとんどってどれ? JSFはそうじゃないよ。 入力値に対する変換とドメインオブジェクトに対する変換とじゃ意味が違うのを理解してね
478 名前:466 mailto:sage [2007/11/09(金) 10:58:34 ] なるほど、どうもありがとうございます。 昨今 Struts に否定的な意見をよく聞きますが、 自分は5年前にStrutsを触っていたものの、それ以降は一次請けが作った独自フレームワークばかりだったので あまりぴんとこなかったが、たしかにそういう意見もわかってきた。 Struts はいまいちアジャイルじゃないし、アプリ(業務要件)の本質じゃないところでハマる気がします。 (私のスキルがないだけだと思いますが)
479 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 11:47:30 ] そうそう。本来は本質の部分に手間をかけたいところなんだが、 Strutsだとちょっと完成度が低くて本質以外の部分に手間をとられすぎてしまう。
480 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 22:55:52 ] >>466 それどこのPerl?
481 名前:デフォルトの名無しさん [2007/11/11(日) 18:08:52 ] struts2でアップロードした画像や動画を圧縮しつつ保存するといった事は 可能ですか?
482 名前:デフォルトの名無しさん [2007/11/11(日) 19:35:09 ] 失礼、この質問は忘れて
483 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:30:30 ] そもそもインフラストラクチャだから、本質(ビジネスロジック)寄りに作ってないんじゃないの。 そうじゃなきゃここまで浸透しなかっただろうね。 大手ベンダーのフレームワークは、Strutsがベースで使われてて、 その上に○○標準とか、業務的な部分をラップしてあるのを見るね。
484 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:45:33 ] 混じりけなしの一般解'(フレームワーク)を求めれば求めるほど、 特殊解(アプリケーション)に落とし込むための手数がかかるようになるのは当たり前 完成度とはまた別の話だと思うが
485 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 02:37:45 ] フレームワークのためのフレームワークというのは、 Avalon とか Turbin じゃないかな?(よく知らないけど) Struts はどちらかというと理論より実践を目指したものだと思うが、 今日 POHP 指向のフレームワークなどが出てきて、 Struts はめんどくさいというか便利ではないという感覚は否めない。 ただ doGet() と doPost() しかなかった時代に Struts が出てきた意義は大きいと思うし、 今でもたまに使うし、自分では Struts なんか作れないので、否定するつもりはない。
486 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 03:21:15 ] 別に、めんどくささを解消するためのものじゃないし Strutsは、独立して存在するモデルだとかビューの部品をつなぎ合わせるためだけの存在 つまり、めんどくさいかどうかは単に既存のコンポーネントがいくつ利用できるか、だけに依存する 更に、そこを起点として ・Strutsが、その上に乗っかるコンポーネントに対して十分に侵略的でないと言えるのか? ・そもそもフレームワークを差し替えるニーズなんてないのだから、コンポーネントに対して 侵略的であってもよいからもっと便利に使える方がいいのではないか? などのアンチテーゼが発生し、Struts以降のフレームワーク登場に至る
487 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 02:21:50 ] ひとつ、サーバOSのバージョンアップに強い ふたつ、1.x系を使い続ける限り、根幹部分の変化が少ないので、ノウハウが溜まる (慣れた頃には別のアーキテクチャを覚えなきゃ・・・、がない) 慣れに勝る便利さなし
488 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:09:56 ] 慣れだけじゃなく、自前のカスタムタグなんかも 溜まってるし。 でも、Struts飽きた。
489 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:27:58 ] で、struts作ったクレッグは今なにやってんだ?
490 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:01:19 ] blogs.sun.com/craigmcc/ jMaki on Railsやってるのかな?
491 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 10:36:24 ] strutsを上司に説明することになって、 実際にstruts使ってるwebアプリケーションの事例を 紹介しないといけないんだけど、どこかご存知ないでしょうか?
492 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 11:39:18 ] JALとか、イートレード証券のモバイルサイトとか
493 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 11:54:25 ] テレビ王国とか
494 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 12:05:28 ] >>492 ありがとうございます。 他のスレも見てたら少しあったので追加。 JAL、ANA、三井住友のオンラインバンキング、イートレード証券のモバイルサイト クラス名がまんま分かってしまうURLが多いですね・・・ もう少しだけ、事例ありましたら教えていただきたいです。
495 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 12:14:52 ] >>493 ありがとうございます。リロードしてませんでした・・・ テレビ王国はStruts2なんですね。勉強になります。。
496 名前:デフォルトの名無しさん [2007/11/19(月) 02:01:37 ] struts2つかって、<s:textfield ... />とか書くと、 生成されたHTMLが<tr></tr>で囲まれるんだけど、 囲んでほしくないときは、 どうすればいいの??
497 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 11:18:19 ] <bean:write>で文字列を出力しているのですが、改行コードを除去して 表示することは可能でしょうか?
498 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 11:43:17 ] 496ですが、自己解決しました。 コンフィグファイルでsimpleを設定したら、でなくなりました。
499 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 09:10:05 ] >>497 jakartaのString taglib使うといいぜ
500 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 20:36:43 ] Strutsマンドクセ
501 名前:デフォルトの名無しさん [2007/11/23(金) 00:12:42 ] >>500 つStruts2
502 名前:デフォルトの名無しさん [2007/11/23(金) 00:43:35 ] SEマンドクセ
503 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:55:32 ] SE=SexEngineerだったら・・・
504 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:49:25 ] Sexマンドクセ
505 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 04:42:35 ] >>504 見栄張るな
506 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 05:31:15 ] Struts2てマンドクセじゃないの?
507 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 10:28:01 ] どんなもの使っても、変なタグ呪縛から逃れることはできない。 逆に考えると、 変なタグ使うくらいなら、 ぱっと見、何してるか分かりやすいコードをJSPに書いた方がいい。 デザイナーの事なんて、シラネ。
508 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:14:28 ] WicketやMayaaなら、タグ呪縛はないよ
509 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:34:37 ] Teedaも忘れないでください
510 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 22:12:10 ] <logic:equal> って or の比較はできないのでしょうか? java における、以下のようなことをやりたいです。 int flag = myBean.getFlag(); if (flag == 1 || flag == 3) { // 処理A } else { // 処理B } <logic:equal name="myBean" property="flag" value="1,3"> //処理A </logic.equal> <logic:notEqual name="myBean" property="flag" value="1,3"> //処理B </logic:notEqual> みたいなかんじで。
511 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:54:33 ] A+B=!A*!B
512 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 09:21:28 ] >>511 ちょwww
513 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 10:55:23 ] 普通はフラグの値を見てタグのほうで判断するんじゃなくて、 判断した値(true,false)を返してやるよな。
514 名前:510 mailto:sage [2007/11/30(金) 11:27:55 ] レスどうもありがとうございます。 やはりないですよね。 >>513 MyBean に以下のようなメソッドを持たせて、 public boolean isOK() { if (flag ==1 || flag == 3) { return true; } else { return false; } } JSP では <logic:equal name="myBean" property="OK" value="true"> //処理A </logic.equal> という感じかな。 isXXX() メソッドって jsp から setter / getter と同じように JSP から認識されたっけ?
515 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 11:51:48 ] JSTLのc:ifならできんじゃないの? JSPに書くことかなって気がするけど
516 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 19:36:26 ] >>514 普通に認識されるので無問題。 >>515 たぶん使えると思うが使ったことがない。 <c:if test="${myBean.flag == 1 || myBean.flag == 3}"> って感じ? そういえば、StrutsのTaglibで変数同士の比較ってできたっけ?
517 名前:510 mailto:sage [2007/12/03(月) 13:43:22 ] >>510 > >>514 > 普通に認識されるので無問題。 ぐぐってみて、isXXX() も認識されるようなページが結構あったので そう思っていたのですが、サンプルを書いてみるとうまく認識されませんでした。 書いた JavaBean: package sample; import java.io.Serializable; public class HogeBean implements Serializable { private boolean flag = true; // フィールド public void setFlag(boolean flag) { this.flag = flag; } public boolean isFlag() { return flag; } } jsp側: <jsp:useBean id="hoge" class="sample.HogeBean"/> <jsp:getProperty name="hoge" property="flag"/> これで jsp にアクセスすると、以下のようなエラーがブラウザに表示されます。 java.lang.NoSuchMethodError: sample.HogeBean.getFlag()Z org.apache.jsp.index_jsp._jspx_meth_html_html_0(index_jsp.java:126) org.apache.jsp.index_jsp._jspService(index_jsp.java:63) 〜 getFlag() を探しに行っているようなのですが、isFlag() を認識されるように するにはどうしたらいいでしょうか? jsp を修正せずに、Sample.java で getFlag() に変えるとうまく動きます。 jdk1.5.0_13 / Tomcat 5.5.20 / Windows XP です。
518 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 06:08:53 ] >>517 たとえば、<bean:write>とかだとどうでしょ?
519 名前:困っています [2007/12/08(土) 18:25:39 ] こんにちは。 現在STRUTSでWEBアプリを作っています。 たとえば1.5や2.2などの少数点がつくものを bigDecimalがたの」formに格納すると15や22に なってしまいます。 STRINGにしたらいいにたいですが、それだとまた後から 型変換しなくてはいけません。 何かいい方法ヲご存知野方がいらっしゃいましたら 教えてください、、お願いします。
520 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 18:59:35 ] Stringにして後から型変換する
521 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 01:09:42 ] String<->BigDecimalで変換や検査を行うクラスを作って、 それをFormのフィールドで持つと良いよ。
522 名前:デフォルトの名無しさん [2007/12/09(日) 22:21:45 ] 3点程教えて下さい。 1)ひとつのプロジェクト(war)内にStruts(ActionServlet)と 普通のサーブレットを混在させることは設計上あまり 宜しくないことでしょうか? 2)その場合、Strutsのアクションクラスから呼び出される ビジネスロジッククラスをサーブレットから呼び出すことは 設計上あまり宜しくないことでしょうか? 3)ビューの無いアクション(ファイルのダウンロード等)は 設計上有りでしょうか?(サーブレットにすべき?)
523 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 22:46:08 ] 1) 特に問題ないと思う。 ファイルダウンロードとか、ビューをJSP以外で実現する場合とか。 2) 特に問題ないと思う。 同じビジネスロジックを、StrutsのアクションとWebサービスの両方から呼び出すとか。 3) 特に問題ないと思う。 でも、ダウンロード用のサーブレットにフォワードするほうが見通しが良くなる気はする。
524 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 06:06:28 ] >>523 ありがとうございます。 参考にさせていただきます。
525 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 12:09:05 ] Struts2本だれか書けよ、読んでやるから。
526 名前:デフォルトの名無しさん [2007/12/25(火) 23:10:08 ] 情報少なすぎだよな>struts2
527 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 12:11:47 ] StrutsとJSFて、開発者同じ人?
528 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 17:23:14 ] ところで、Shaleって普及すると思う?
529 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 19:50:00 ] しないと思う。
530 名前:デフォルトの名無しさん [2008/01/04(金) 11:55:27 ] ShaleとStruts2とXWorksって違うの?
531 名前:デフォルトの名無しさん [2008/01/06(日) 00:42:19 ] struts2でJFreeChartで生成した画像を表示する方法が、 下のURLに書いてあるんだけど、 www.cnblogs.com/over140/articles/971663.html これって画像一枚が表示されて終わりなんだけど、 JSPの中のIMGタグのようなものに表示する方法はどうやったらいいか教えてください。
532 名前:デフォルトの名無しさん [2008/01/06(日) 00:43:02 ] 次期Strutsの呼び声が高く注目を浴びていた Shale しかし、Struts2 として採用されたのは WebWork2 その WebWork2で内部的に使用されているコマンドパターンフレームワークが XWork でおk?
533 名前:デフォルトの名無しさん [2008/01/06(日) 00:44:52 ] imgのsrcにそのURLを書けばいいべさ
534 名前:デフォルトの名無しさん [2008/01/06(日) 00:48:18 ] >533 ありがとうございます。そんな簡単でいいんですね。 やってみます。
535 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 12:01:50 ] Struts2の情報が少ないて、あったけど 〜大全に、ちょっとStruts2のセクションがあったよ。 買ってないから、どんだけ詳しく解説されてるか、知らないけど。
536 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 19:02:02 ] >>535 デジカメで撮って uぷ するか、全部コピペしてくれ
537 名前:デフォルトの名無しさん [2008/01/11(金) 23:49:25 ] Struts2の情報くれくれ
538 名前:デフォルトの名無しさん [2008/01/12(土) 01:51:17 ] Struts以外のフレームワークを知らない人がStruts2をさわってみた感想。 すべてのリクエストにフィルターをかまして、ActionをPojoで生成。 インターセプターでActionに値をinjectionするって考えがすごいと思った。 これがコマンドパターンっていうの? 他のフレームワークでもこんなことしてるのあるの? struts2のタグでAjax(dojo)をサポートしてるけど、 なんでjsファイルを配置してないのにできるの?って不思議だったが フィルターでjarファイル内の静的リソース(js、画像)を返してた! これならjarファイルだけでいろいろできる! すべてのリクエストがフィルターを通る分、ややもっさりしてるけど そのへんはハードのがんばりで問題ない気がする。。
539 名前:デフォルトの名無しさん [2008/01/12(土) 17:46:54 ] >>538 でStruts1と比べて、Struts2はどうなの?
540 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 07:41:16 ] 結局のとこ、 使える奴が、ほとんどいない。 て事なんじゃないの?
541 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 01:22:40 ] オンラインの日本語struts2書籍ってあるじゃん、あれってどう?
542 名前:デフォルトの名無しさん [2008/01/17(木) 23:01:46 ] struts2でstruts.xmlにアクションを記述するけど、 そこにHttpヘッダーを定義する方法教えてください。 Pragma:: no-cache とかをやりたい。 今のところアクションクラスでresponseにsetHeaderしてます。 struts.xmlに簡単に記述する方法あるのですか?
543 名前:デフォルトの名無しさん [2008/01/17(木) 23:31:26 ] >>542 Interceptor書けばいいと思うよ 探したけど標準ではそういうのは無いみたいだね。
544 名前:デフォルトの名無しさん [2008/01/18(金) 01:30:25 ] >>543 ありがとう。初心者なのでInterceptorってどうやればいいかわかりませんでした。 struts.propertiesのstruts.serve.static.browserCacheってのをみつけたけど、 これを設定をしたら解決するのでしょうか?
545 名前:デフォルトの名無しさん [2008/01/18(金) 22:18:58 ] >>544 それが効くのは静的コンテンツのキャッシュだけみたいね
546 名前:匿名希望 [2008/01/22(火) 11:38:33 ] Struts1.3.8を使っています。 FormFileのgetFileSize()でアップロードされたファイルのサイズを取得 しているのですが3メガくらい以上のファイルだと 0が返ってきます。 小さいファイルだと問題なくサイズが取得できます。 どういったところを調べてみればよいでしょうか?
547 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 12:14:15 ] httpd.conf
548 名前:546 mailto:sage [2008/01/22(火) 13:11:05 ] すみません。 getFileSize()の前にdestroy()してました。
549 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 13:34:13 ] ちょw
550 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 14:44:19 ] スレ盛り上げようと、気使いすぎ。
551 名前:デフォルトの名無しさん [2008/01/23(水) 13:13:15 ] フレームの中からバリデートを実行してhtml:errosで表示する方法を教えて下さい
552 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:15:37 ] struts2+spring2.5+hibernateを使って開発した 生産性が高いから少数精鋭でやってける 高いスキルと英語力が必須条件だけどね javaの開発者は、これからは淘汰されてくんじゃねーの? インド人がより有利になってく気がする
553 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:33:48 ] struts+spring+hibernateの組み合わせは数年前からあるが 現在淘汰されたのだろうか。
554 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 23:40:48 ] >>553 struts2とstruts1.xは別物
555 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 05:58:41 ] >>553 spring、hibernateが必要なシステムも少ないでしょ。 逆にコストがかさむだけ。 >>554 だから「淘汰されたのだろうか」じゃねーの?
556 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 06:27:25 ] >>555 どうコストがかさむん?
557 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 07:07:41 ] >>556 提供機能が多いほど設定記述が多く発生する。
558 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 07:14:52 ] どんな設定記述が? で、設定でできなければ、コード書かないといけないんじゃないの?
559 名前:552 mailto:sage [2008/01/28(月) 22:53:41 ] struts2の設定はstruts.xmlだけ springの設定はApplicationContext.xmlだけ hibernateはモデルクラスのanotation そんなに面倒では無いよ この組合せの良い所はあらゆるエンタープライズ向けアプリケーションに対応できること バッチ処理もどきやsoaにも対応可能、その内spring batchが出るそうだけどね DBアクセスはジェネリックを使ったクラスを作ったら半分位はそれで用足りた。 勿論、単純なテーブルアクセスしかできないけどね spring securityも良い感じ、使いこなせばかなり楽できる struts2はcoolで楽チン、もうstruts1.xは過去の遺物(ガラクタ)だよ
560 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 01:06:55 ] >559 ほかのFWはなにを使ったことありますか? なぜその組み合わせが良いのか説明してもらえんかな? S2は設定ファイル無しですが?
561 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 01:54:47 ] > DBアクセスはジェネリックを使ったクラスを作ったら半分位はそれで用足りた。 こういう物言いをする人に何言っても無駄。
562 名前:552 mailto:sage [2008/01/29(火) 02:08:07 ] >>560 springの替りにs2でも良いと思うよ hibernateの替りにiBatisでも良いと思う 組み合わせ方は人それぞれ 自分の場合は海外サイトから情報を得てるので、どうしても洋物になりがちなのかも www.theserverside.com/ www.javaworld.com/
563 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 02:08:27 ] ジェネリック医薬品でばっちりキメてるんじゃね?
564 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 02:09:23 ] >>560-561 もう少しやさしくするかスルーしないか? 大人気ないぞw
565 名前:552 mailto:sage [2008/01/29(火) 02:11:21 ] >>561 実は、開発スピード重視の苦渋の選択でした ホントはiBatisとかでノンビリ作り込みたかった
566 名前:552 mailto:sage [2008/01/29(火) 02:19:45 ] 盛り上がってきましたw まあ、ただ単にstruts2は良いよ、ってことが言いたいだけだよ ただstruts2単体で使うってケースは考え難く 複数のフレームワークは組み合わせて使うのがベターかなって
567 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 11:27:30 ] Strut2の書籍を探してて、こんなのをみつけました。 ttp://dream.mods.jp/struts2/index.html 購入を検討しているのですが、既に使っている方いらっしゃいましたら 感想を教えてください。
568 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 12:42:18 ] >552が一人で盛り上がってるだけじゃん Struts2の何がいいか具体的に言ってくれ。 ぜんぜん伝わらない。 他のFWのことあんまり知らなさそう。
569 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 14:05:05 ] Struts 1.x はもううんざりだが、Struts2 は、web の記事しか読んでないけど(自分で試してないけど) 気になっている。別に >>560 みたいに煽るつもりは全然ない。 だから >>552 には思ったことをもっと書いてほしい。正しいかどうかは関係ない。 どれが Best Practice かどうかは興味があるが、プロジェクトによって状況が違うから一概には言えないし、むしろ ・どういう理由で Best Practice と思ったか ・どういう理由でクソだと思ったか という意見が重要。 ただ >>568 のように、「何がいいか」(どういう理由か)を書いてくれないと、こちらには伝わらない。 湾岸ミッドナイトでも言ってるだろ。 結果を求めるな。 結果だけを知ろうとするな。 なぜその結果が正しいかなのではなく、どういうプロセスでその結果にたどり着いたのか。 # 自分で試す前に人の意見を聞きたがるオレも、あまりえらそうなこと言えないけどw
570 名前:552 mailto:sage [2008/01/29(火) 23:45:09 ] struts2 + spring2.5 + hibernate or iBatis のフレームワークの組合せは、 企業向けシステムのあらゆるパターンに対応可能 単なるWeb applicationだけじゃ無くて、メインフレーム・マイグレーションさえ可能だと思う とは云え、そんな重量級システムだけじゃ無く、手軽な短期開発にも対応可能なのが良いとこさ 間違いなくデファクトになるよ struts1.xとstruts2の違いは、自転車とオートバイくらい違う じっくり時間をかけながら汗をかきたい人はstruts1.x さっーっと楽したい人はstruts2を使うと良いでしょう ネチネチ時間をかけながらSQLにビジネスロジックを実装させたい人はiBatis 多少パフォーマンスが悪くてもサクサク開発したい人はhibernateって感じでしょ ケースに応じて選べば良いんじゃな〜い
571 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:11:30 ] 空気読めないかなぁ・・・
572 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 00:57:20 ] 自転車とオートバイ
573 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:03:17 ] Teeda + seasar2 + S2JDBC or S2Dao のフレームワークの組合せは、 企業向けシステムのあらゆるパターンに対応可能 単なるWeb applicationだけじゃ無くて、メインフレーム・マイグレーションさえ可能だと思う とは云え、そんな重量級システムだけじゃ無く、手軽な短期開発にも対応可能なのが良いとこさ 間違いなくデファクトになるよ struts1.xとTeedaの違いは、自転車とオートバイくらい違う じっくり時間をかけながら汗をかきたい人はstruts1.x さっーっと楽したい人はTeedaを使うと良いでしょう ネチネチ時間をかけながらSQLにビジネスロジックを実装させたい人はS2Dao 多少パフォーマンスが悪くてもサクサク開発したい人はS2JDBCって感じでしょ ケースに応じて選べば良いんじゃな〜い 正直なんも違和感を感じない。 結局なんでもいいじゃん。ってことに。 ま、Seasarは良いけど。明らかにSSHよりは開発速度は速いよね。552は世間知らず。
574 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:14:51 ] せんせーSturts2のどこが良いんですか? ほかに比較したFWはなにがありますか? どう違いますか? Seasar教の自分から見たらStruts+Spring+Hibernateなんて超めんどくさいんですが〜
575 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:35:12 ] 結局Struts2の何が良いのかわからないままか・・・ >>573 TeedaとS2JDBCは相性悪いって本人が言ってるよね。
576 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 07:51:08 ] Seasarって、沖縄人の使ってるローカル・ツールでしょ?
577 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 09:02:41 ] >575 ソースは?
578 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 22:52:20 ] >>577 ttp://ml.seasar.org/archives/seasar-user/2008-January/012442.html
579 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 00:42:24 ] 激しくすれ違いなので申し訳ない。 >575 S2Dxoを使わなければそうかもしれんが、使えば差は無いと思うが。
580 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 07:48:47 ] Seasar派はspringに勝ってると勘違いしてんだろーな...
581 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:57:44 ] 釣られてみるか・・・ SSH対Teeda+S2JDBC or S2DaoなのにSeaser対Springにしちゃうあたり理解して使ってないんじゃない?
582 名前:デフォルトの名無しさん [2008/01/31(木) 20:28:57 ] ダイナバリデータフォームのリセットメソッドの呼び出し方を教えて下さい
583 名前:デフォルトの名無しさん [2008/01/31(木) 20:31:43 ] ダイナバリデータのリセットメソッドの呼び出し方を教えて下さい
584 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:51:00 ] >>581 たぶんspring派が勝手に勝ったと勘違いしてるんだよ。 勝ち負けつけようなんてことが馬鹿馬鹿しい。
585 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 23:22:28 ] どれも.netにはかなわない
586 名前:デフォルトの名無しさん [2008/02/01(金) 23:48:24 ] おー 新説登場 kwsk
587 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:17:04 ] >>585 低レベルの開発要員しか集められない場合は、最高の選択肢かもな
588 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:54:21 ] >>587 strutsすれでよく言えるなw
589 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:24:37 ] .Net(C#)って、扱うのはそれなりに難しいと思うぞ。 C#の言語仕様も、Java よりも優れているという意見もいっぱいある(詳細はム板の言語関係のスレで。ここでは省く) VB を「低レベル開発要員」と位置づけるなら、Struts もその位置にだんだん当てはまってきていると思うけど。 あと、Spring.NET、Hibernate.NET、iBatis.NET なんてのもあるし。 豆○の中の人とこの前はなしていたが、いまは .NET での案件が Java と同じくらいあるんだって。
590 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:07:09 ] 中規模以下案件は.NETでも充分でしょ
591 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:12:30 ] どれくらいから大規模?
592 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:14:19 ] >C#の言語仕様も、Java よりも優れているという意見 そりゃ、後発で先駆者のいいトコ取りしてるんだから当たり前って言えば当たり前なのだが、 どーも仕事でWin鯖の不安定っぷりを見せ付けられると微妙なんだよな。
593 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:41:06 ] どのへんが不安定?
594 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:11:18 ] 不安定はWin鯖のせいなの?
595 名前:592 mailto:sage [2008/02/03(日) 00:08:38 ] 安定度の比較対象として同部署で管理しているiSeriesと言う鯖があるが、 これに比べればネットワークは不安定だわ、負荷が高い時のレスポンスやらな・・・。 購入時の価格がちがうので比較は無意味なんだろうけど、 障害発生時の対応・対策を見ていると「安物買いの銭失い」と言う印象が強いので。
596 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:14:27 ] iSeriesと比べちゃうの?w
597 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:16:26 ] ちょw
598 名前:592@一応はiSeriesメインのエンジニア mailto:sage [2008/02/03(日) 00:28:36 ] いや、この間Win鯖の障害に繰り出されサ。 なんつーか、エラーハンドリングというかモニター機能の貧弱さになけてきたり、 自己診断機能のいい加減サに辟易したり、対応策に「とりあえずリブート汁」とかサ・・・。 タスクマネージャーを目視して「ここが○○になったらこのウインドウのココをメモして」とか ずいぶんと前時代な対応させられたりしてサ。 で後日の対策会議とかでエロい人が5・6人あつまってあーだこーだと。 なんじゃコリャと思いましたです。 おそらくはWin鯖でも本当は自動化とか柔軟な運用・保守・管理が出来る様な気がするし、 扱う人間のレベルによって安定度も変わってくるんだろうけど、 今はITドカタな時代で優秀なエンジニア少ないんだから、せめて機械はiSeriesみたいな 「ヴァカが扱ってもなかなか壊れない鯖」とか買ってくれとおもうのよ。w
599 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:41:49 ] まあ、俺が作ったアプリケーションならWin鯖でも 超安定だぜ。5年くらい余裕でノンストップだ。
600 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 02:03:14 ] Windowsが不安定と言われるのは、無駄にサーバに接触できる環境が多いからじゃないかな 以前リモート・デスクトップで繋いだら、始めてブルースクリーンに遭遇したよ・・・
601 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:35:00 ] >>598 それはなんちゃって一応はiSeriesメインのエンジニアのお前がWMI知らないだけで馬鹿
602 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:37:26 ] >>598 iSeriesは特定のモデルでコンデンサあぽん続出ですよ 不安定なのはOSのせいじゃなくてハードのせいだから
603 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 07:18:34 ] Win鯖は不特定モデルでまんべんなく不安定だろ。w ただ、引き合いにiSeries出すのは卑怯だ罠。 今は絶滅したジャンル(?)で唯一のオフコン機だし。 しかしiSeriesとタメはれる安定性のWin鯖のハードってあんの? あるなら会社の基幹業務からiSeriesは消えてなくなっているはずだが。
604 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 09:16:46 ] ES7000とかはどう? 地元の地銀では使っているよ。
605 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:48:34 ] うちにもiSeriesが4台あるんだけど(同じモデルじゃなくてピンキリで色々) NIC不良とかCPU不良とか4台ともハード的に不具合出てるぞw
606 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:12:27 ] おいおまえら激しくすれ違い
607 名前:デフォルトの名無しさん [2008/02/10(日) 23:29:42 ] 保守age
608 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 09:48:25 ] struts2でおすすめの書籍ありますか?
609 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:09:28 ] オヌヌメサイトも
610 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 12:20:48 ] >>608 『Starting Struts 2』Ian Roughley,Lulu.Com,2007/6/30 (入門書だが。) >>609 ttp://struts.apache.org/2.0.6/ のDocumentationあたり どっちもたいして難しい英文では書かれていない。
611 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:47:04 ] struts2でstruts.xmlを使わずにアノテーションだけでInterceptorって実現できるもんですかね? 会員サイトでログインチェックをすべてのメソッドに書くのは格好悪いし、 かといってstruts.xmlには何も書かない方針だし、どうしたらいいんでしょうか。
612 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:17:42 ] Filter
613 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:54:06 ] >>612 thx! でも具体的にどういう実装するのがいいのかわからんorz
614 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:40:10 ] javax.servlet.Filterの具体クラスをweb.xmlに登録すればいい。 doFilterのServletRequestをHttpServletRequestを取得、 request.getSession(false)でHttpSessionを取得、後はお好きにどうぞ。 ログインといえば、JAAS使ってる人ってどのくらいいるんだろう。 次の案件で長いお付き合いになるパッケージ製品作るから採用するけど。
615 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:19:27 ] >>614 こんなフィルタ作ってみたんだけどダサいかな?突っ込みキボンヌ。エロイ人。 public class SessionFilter extends FilterDispatcher { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpReq = (HttpServletRequest) req; String userId = (String) httpReq.getSession().getAttribute("userId"); if (StringUtils.isEmpty(userId)) { if (!httpReq.getServletPath().equals("/login.action") && !httpReq.getServletPath().equals("/login!input.action")) { ((HttpServletResponse) res).sendRedirect("login!input.action"); return; } } super.doFilter(req, res, chain); } }
616 名前:デフォルトの名無しさん [2008/02/14(木) 22:33:58 ] >>614 Acegi security 使えばどうよ 今はspring security だけどさ
617 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:39:10 ] >>615 大体そんな感じでいいと思うけど、セッション乗っ取り攻撃には気をつけなされ。 >>616 貴重な情報 thx、調べてみるよん。
618 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:04:25 ] >>609 オヌヌメかどうかわからんけど、まだ触り始めたばかりなら、以下を読むといいかも (DLする前に読むものか) journal.mycom.co.jp/special/2007/struts2/index.html
619 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:05:30 ] >>615 さすがにlogin.actionだけを文字列チェックして回避ってのはダサくね? ビジター画面増えたら困るし。まあそこは設定ファイルに外だしするとしてもだ。 今思いついただけなんだけど、jspへの遷移をアノテーション等で実現する場合、 struts.xmlにはビジターとメンバーのpackageだけ記述しておいて、各Actionクラスでは @ParentPackageで所属するパッケージを指定する。 メンバーパッケージではセッションチェックのインターセプターを定義する。 っていうのがstruts2流なんじゃないかな。 うちがやった時はそこまで頭まわらなかったので、こんな感じにしてたけど BaseAction ..... getRequest()とか実装しとく | +-------------+ LoginAction BaseMeberAction ... セッションチェック | +----+-----+ MenuAction ... ...
620 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:10:29 ] でもってインターセプターの定義は呼び出される順序とか大事だから、 struts.xmlにはインターセプターの定義がずらずらと並んで Zero-configからはどんどん離れていくと。 ヤレヤレだぜ
621 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:22:18 ] >>619 >ビジター画面増えたら困るし。まあそこは設定ファイルに外だしするとしてもだ。 具体的にどうやって実現するのがベターかね? >>620 extendすれば多少は抑えられるかと。 完全なゼロコンフィグはむりぽいけど。
622 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:47:24 ] >>621 俺はweb.xmlにごちゃごちゃ書くのが嫌いなので 別途設定ファイルを用意して <root> <action> <visitor>login.action</visitor> <visitor>login!input.action</visitor> </action> </root> こうなってるのを読み込む方がソースに直書きよりははるかにいいと思う。 xml読み込むライブラリとかは普段使ってる奴があるでしょ。 web.xmlに書くなら長くなっちゃうから、カンマ区切りで並べて書いちゃうかも。 で拾ってきてsplit(",")する。 packageそのものはextendできるけど、インターセプターの一部だけ拡張って どうやるの?インターセプターは順序が大事だから、パッケージで一個でも 独自にするなら定義全部書かないといけないと思ってた。
623 名前:デフォルトの名無しさん [2008/02/19(火) 07:06:01 ] struts.xml書かないでアノテーション使う奴理解できねえ 画面遷移定義が偏在化して管理が大変そう
624 名前:デフォルトの名無しさん [2008/02/19(火) 08:19:26 ] >>623 俺もそう思う、画面遷移を定義ファイルに集中化して見通しをよくしたはずじゃなかったのかよ? 又ソースに埋め込んでどうするつもりだ? ゼロコンフィグ 魅力なし
625 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 09:29:45 ] で、次は一つのファイルが肥大化するとか、 プロジェクトメンバー全員で一つのファイルをメンテウザスとか Struts1.xの頃の不満を繰り返す・・・ おまいら学習能力まるで無しだなw
626 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 09:49:10 ] 画面遷移の定義ってあまりころころ変わるものじゃないから 集中管理してもメリット少ないよね。
627 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 10:03:10 ] >>622 <interceptors> <!-- LoginInterceptorを定義 --> <interceptor name="login" class="example.interceptor.LoginInterceptor" /> <!-- LoginInterceptorとStruts標準のdefaultStackを足し合わせた新しい「defaultLoginStack」を定義 --> <interceptor-stack name="defaultLoginStack"> <interceptor-ref name="login" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors>
628 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 11:54:45 ] >>625 それなら分割すれば済む話だろ。いったいいつの話をしているんだ?
629 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 12:15:29 ] >>628 そういう意味じゃなくてXMLに集中させるメリット少ないなって意味。 一度XMLに書いてそれっきり変えないようなものはソースに書いてもいいんじゃねーのと。 開発中や運用中に頻繁に変えるならXMLでもいいと思うけど。 画面遷移ってそんなに頻繁に変更するか?
630 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:08:40 ] 変更の度合いよりも、 どうせプログラムも変更しなきゃ動かなくなるんだから XMLあるだけジャマじゃね ってことじゃないのか。
631 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:04:12 ] >>629 何を言ってるんだ?? この画面のシステムをメンテしているときに、別の画面に切り替えておくとか、 運用の切り替えはファイルの方が圧倒的に有利だろ 運用状態を切り替えるのに、いちいちコンパイルするのかよ
632 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:17:36 ] strutsってホットデプロイできるの?
633 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:43:49 ] レス読んで日本語が難しいって事がわかったw まぁうちは今のレベルの人員(運用も含め)じゃ集中管理の方がメリット高いな
634 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:45:21 ] >>627 interceptor-refにはインターセプター単体でもスタックでも指定できるのね。 なるほど。デフォルトのparamとvalidatorの間に入れたい、みたいな場合も 全部書かないでいけるの?
635 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:56:28 ] >>629 一度きりで変更しないならxmlでもアノテーションでもどっちでもいいと思うけど。 むしろ変更があるからこそ、作業対象が分散しないようにアノテーションがいい。 >>631 運用状態を切り替えるのにstruts.xml修正して再起動するの? tomcat自体は立ち上げておく必要があるのなら 管理画面から動的に切り替えられるようにしとかないと怖くない? webサーバーの台数増えたらめんどいし。
636 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:26:26 ] 再起動する必要ないよ tomcatは知らないけど、WebLogicはアプリケーションごとにデプロイできる まぁこれとは別にHTTPサーバがあったりすると、切り替え中はそっちで抑止かけるなりすればいいし
637 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:33:11 ] >>636 tomcatもホットデプロイはできるけど static領域とか初期化し直しになるじゃん。 初期化するからstruts.xmlも再読込されるんだけど。 classに変更があるとセッションも保持されないし。 アプリの再起動って意味で書いたんだけど。 ユーザーからのアクセスがほとんど無い時間帯がある システムならそれでもいいけど
638 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:52:08 ] WARでデプロイしてるなら コンパイルし直すのもWAR作り直すのも手間は変わらないんじゃないか?
639 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 02:21:44 ] >>636 新人君よ。アプリケーションサーバを複数台用意して1台づつ止めてデプロイしなおすということもあるんだよ。 tomcatもweblogicもホットデプロイというより、自動デプロイという表現の方がええと思うぞ
640 名前:デフォルトの名無しさん [2008/02/20(水) 03:47:38 ] ダイナミックなモジュールのロード・アンロードでSpring OSGi に期待してるんだけど、SpringDMってそういうもんだよね?
641 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 20:46:18 ] >>639 複数台あっても、抑止かけるんだから結局同じことなんじゃ?
642 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:01:10 ] >641 かけません。 最低1台稼動させたまま入れ替えます。
643 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:39:15 ] >>642 うん、それそれ 例えば10台あって、2台ごとにグルーピングされているとして、 Aグループを停止している間、グループB・C・D・Eが起動していて、Aグループへのアクセスは抑止しておく うちは、これをアプリケーション(業務処理)単位でやってるリリースパターンがあるんだけど、 はて、実際どうやってんだろ この2台の組がなんちゃってデュアル構成なんだけど、これをうまくどうにかして、どうにかしちゃってるんだろうか
644 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:46:24 ] 定義ファイルだろうがアノテーションだろうが関係無い話だな。
645 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:06:58 ] アノテーションだとコンパイルしなきゃいけないじゃない リリース中はこの画面に遷移するように、って一時的な変更をコンパイルでやってたら、永遠に終わらなくない? Aグループに属するαサーバとβサーバを、それぞれ交代でアップデートするときに、 βへのアクセスを抑止させて、定義ファイルを更新して、 次にαを抑止させて、βを解放して、その間αをアップデートさせて、αを通常運転に戻して、βをアップデートして、 βも通常運転に戻す・・・だったかな?よく覚えてないけど、そんな感じ ってのを、コンパイルでやろうとすると βへのアクセスを抑止させて、コンパイルして、デプロイして、・・・あ、出来なくもないね ただ、ソースをいちいちいじらないといけないから、混乱しそうだわな リリース用に、遷移ロジックのあるソースをいじる、うーん、ないな やっぱリリース運用はファイル中心だなぁ
646 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:35:54 ] warでデプロイするならeclipse上で設定ファイル書き換えてwar固めてデプロイでも アノテーション書き換えてwar固めてデプロイでも変わらない。 あと通常モードと停止モードの二つのモジュールを事前に用意しておくのが 当然だと思う。別にβへのアクセスを止めてからコンパイルする必要なんてない。 つーかコンテナの話はもういいからstrutsの話しようぜ
647 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:41:15 ] こういうコンテナの話ってどこですればいいんだろう? 昔は 「JAVA+JSP+Strugs+Tomcat」スレなんてものがあったが、 JavaServlet全般とか Servletコンテナ全般のスレがほしい。
648 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:02:49 ] >>647 スレタイを変えた後継スレがあります。 コンテナの話はこのスレならスレ違いにならないと思います。 Java+Webフレームワーク pc11.2ch.net/test/read.cgi/tech/1181063688/
649 名前:647 mailto:sage [2008/02/22(金) 03:43:27 ] >>648 どうもありがとう、巡回先に入れました。 でもあまりにぎわってないな・・・・・ 話題提供するようにします
650 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:52:38 ] ActionFormにArrayListがありその中にArrayListがあるような 構造のデータを受け取るようにするにはどうしたらいいでしょうか?
651 名前:デフォルトの名無しさん [2008/03/02(日) 18:34:24 ] ArrayListをListDataModelにsetRowIndexすればdataTableタグで受け取れる
652 名前:☆Visual C++ Runtime Libraryってエラーが出てネットゲーム強制終了 [2008/03/02(日) 20:03:10 ] ネットゲームを2時間くらいやるとやってる途中にimepita.jp/20080301/780070 のようなエラーがでて、 強制終了されます。どうしたらよいのでしょう。 厨房なので、ぐぐっても全くわかりません。 どなたかご存知の方教えてください
653 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 20:46:19 ] スレ違い
654 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 01:59:32 ] 教えてほしいのですが、 WebLogic Workshopを使わずに、EclipseでWeblogicとStrutsの連携をどうすれば良いですか? Weblogicは9.2です。
655 名前:デフォルトの名無しさん [2008/03/08(土) 19:57:23 ] WebLogic® Server Toolsを使え https://dev2devclub.bea.com/updates/wls-tools/
656 名前:デフォルトの名無しさん [2008/03/11(火) 03:40:54 ] 質問なのですがstruts-config.xmlのactionのforwardエレメントに プレースホルダーとかって使えないんですかね? <forward name="success" path="/${0}/test.html"/> こんな事がしたいんですが知っていたらご教授お願いします。 環境はstruts1.3です
657 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 19:48:37 ] 知らないけど、ForwardingActionForward使っておけば?
658 名前:デフォルトの名無しさん [2008/03/20(木) 20:39:15 ] 最近Strutsを触り始めたんですが、ちょっとつまづいたので教えてください 画面Aと画面Bがあって各々ActionFormが違う場合 AからBに遷移するActionのなかで ActionFormBをnewしてActionFormAの値をコピーしています。 ソースだとこんな感じ。 ActionFormA a = (ActionFormA) form; ActionFormB b = new ActionFormB(); aからbにコピー form = b; こうやっても画面BでActionFormBの値がとれないのどすが、何が間違ってるのでしょうか? そもそも遷移前と遷移後でフォームが違う場合どうするのがよいのでしょうか?
659 名前:デフォルトの名無しさん [2008/03/23(日) 02:29:49 ] 同じクラスのフォームビーン使うようにすればいいんじゃない?
660 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 11:48:40 ] bがrequestにもsessionにもいないんでしょ。
661 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 13:14:43 ] JavaAppletとStruts2のアクション間で非同期通信したいんだけど、 フレームワーク内部でInputStreamが読まれており、アクションで取得できません。 なんかいい方法ない?
662 名前:デフォルトの名無しさん [2008/03/24(月) 20:52:21 ] これまた理解力を発揮しがいのある質問文ですねage
663 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:58:48 ] 文字列化してリクエストパラメータの一つに してしまえば良いんじゃね?
664 名前:デフォルトの名無しさん [2008/03/25(火) 04:41:48 ] Appletはyesterdayの技術だけど、セキュリティ絡みでAppletに逃げる奴多いな
665 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 09:24:48 ] FlexとかSilverlightには逃げないのですか?
666 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:04:28 ] 既存スキルを生かせるのは強いよな。 あとシリアライズしてオブジェクトの受け渡しができるってのも強みか。
667 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 05:12:06 ] Java Web Startでええやん
668 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 01:16:15 ] >>666 日本語でおk
669 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 06:30:34 ] シュワシュワワワシュワワシュワ?
670 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:31:00 ] Struts2で、struts.xmlの一部をこんな感じ可変にできますか? <result name="success">/○○.jsp(login.jsp等)</result> 可能であれば、どうやって値をセットすれば良いかご教授ください。
671 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:31:19 ] <result name="success">${ '/' + page + '.jsp' }</result> getPageって言うメソッドをアクションに作ってそこで適当な "login" とか返してあげればOKだよ まあ、login とかを処理したいのならアプローチが間違ってるけどね
672 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:28:16 ] >>671 ありがとうございます! 確かにloginは処理しないです; 本当に助かりました。明日早速試してみます。
673 名前:671 mailto:sage [2008/04/14(月) 23:37:09 ] いえいえ。 差し支えない範囲でどんな使い方をするのか教えて!
674 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:50:48 ] >>671 ,673 うーん、きっとまたアプローチが違うって突っ込まれそうですが・・・ 帳票をPDF形式で出力させます。 PDF名が固定だと、複数ユーザが同時に出力しようとした場合に 不具合が起きるんじゃないかな?と考えて、PDF名+時間とかをくっつけて 出力しようとしていました。
675 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:56:07 ] そんなことできるの?
676 名前:671 mailto:sage [2008/04/15(火) 00:02:23 ] むむむ。resultのDispatch先の名前はURLに出てこないから関係ないのでは? たしかに突っ込みたいです ^ ^ まあガンバッテ。 ${ } の中に書いてあるのはJSPに書くのと同じOGNLでValueStackも同じだから色々できるよ
677 名前:674 mailto:sage [2008/04/15(火) 00:02:34 ] PDF作成とresult部分は固定でなら実現してます (PDF作成にはbirtを使用) なので、多分出来ると思います。 ただ、このままだとPDFがサーバにわんさか作成されちゃうんですよね。。 タイミングを計って、PDFを削除しなくてはならなくなっちゃいますね。。 ダウンロードではなく、ブラウザにPDF表示させなくちゃいけないので こんな面倒なことやってます。
678 名前:674 mailto:sage [2008/04/15(火) 00:05:44 ] 追記で・・・ PDFは、画面の選択条件から動的に作成しています。 突っ込み大歓迎です!もっとスマートなやり方があれば 是非乗り換えたいです!
679 名前:671 mailto:sage [2008/04/15(火) 00:17:36 ] application/pdf のコンテンツタイプのhttpヘッダーでpdf内容そのまま出力すればいいんでないの? 一時ファイルはいらないと思うんだけど。birtも知らないし勘違いだったら失礼。
680 名前:674 mailto:sage [2008/04/15(火) 00:27:53 ] 薄々感じてはいましたが、やはり一時ファイルは必要無いのですね・・・ servletを扱うこと自体が初めてで、他に聞ける人もおらず・・・ 勉強不足を痛感しています。。本当にありがとうございます!
681 名前:デフォルトの名無しさん [2008/04/15(火) 00:55:57 ] すいません。Strutsというか、Javaの質問になってしまうかもしれないのですが <input type="text" name="aText" value=""> と書いたHTMLのaTextの値を、StrutsのFormで取得するにはどうすればよいでしょうか? なんか、FormクラスにString aText;と書いておいてgetAText()やっても値が入っていないんです。 <input type="text" name="atext" value="">と書いて、 String atext;と書いてgetAtext()だとOKなんですが・・
682 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:35:05 ] よろしくお願いします。 Struts2のインターセプターで、RequestAware、ApplicationAwareというのは どんな時に使えば便利なのでしょうか?
683 名前:682 mailto:sage [2008/04/16(水) 19:40:01 ] すいません、スコープというものを分かっていませんでした。 というか、スコープの説明を見てもピンときません。。
684 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:05:25 ] >>683 なるべく使わないようにするのが良いStruts2アプリの一歩
685 名前:デフォルトの名無しさん [2008/04/24(木) 14:32:40 ] struts初心者なのですが、ちょっとつまづいてしまったのでご教授お願いします。 DynaActionFormを使っている際の質問です。 たとえば、struts-configで <form-beans> <form-bean name="formA" type="org.apache.struts.action.DynaActionForm" > <form-property name="a" type="java.lang.String"/> </form-bean> <form-bean name="formB" type="org.apache.struts.action.DynaActionForm" > <form-property name="b" type="java.lang.String"/> </form-bean> </form-beans> <action-mappings> <action name="formA" path="/pathA" scope="request" type="actionA"> <forward name="success" path="/mainA.jsp" /> </action> <action name="formB" path="/pathB" scope="request" type="actionB"> <forward name="success" path="/mainB.jsp" /> </action> </action-mappings> というような場合、actionBクラスでformAを使い、aの値を取れたりするのでしょうか? 色々調べてみたけれどよく分かりませんでした。 もし、方法があるのならご教授ください。
686 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:25:42 ] Struts2のプロパティファイルをpropertiesではなく、 XML形式で記述できますか? やり方がわからなかったんですが、できそうな気がするので。。 今は自分でjava.util.PropertiesのloadFromXML使って XMLを読んでますが、もっと簡単にできないものかなと。。
687 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:28:12 ] struts.propertiesに入れる項目ならたぶんこうしておけば struts.xmlに入れておける。ただファイルを一つに出来ると言うだけで 階層化できないのであんまり意味無いけどね <struts> <!-- SpringFramework integration --> <constant name="struts.objectFactory" value="spring" /> <constant name="struts.objectFactory.spring.autoWire" value="type" />
688 名前:デフォルトの名無しさん [2008/05/13(火) 10:24:17 ] スレ違いかもしれませんが、よろしくお願いします。 Struts2を使用しています。 submitボタンをクリックすると、javascriptで確認メッセージを出し、 OK→次の画面 キャンセル→処理をキャンセル、画面遷移無し という風に処理させたいのですが <s:form> <s:submit value="追加" action="hoge_add" onclick="return add();" /> <s:submit value="更新" action="hoge_upd" onclick="return upd();" /> <s:submit value="削除" action="hoge_del" onclick="return del();" /> </s:form> javascript function add(){ if(confirm('追加します。よろしいですか?')){ //OK var frm = document.getElementsByName('hoge')[0]; document.frm.submit(); return 0; }else{ //キャンセル return 1; } } このように書いてみたのですが、OK、キャンセルどちらのボタンを押しても 次の画面に飛んでしまいます。。どうすればよいのでしょうか?
689 名前:688 mailto:sage [2008/05/13(火) 11:04:20 ] 自己解決しました。お騒がせしました。
690 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:40:26 ] >>689 情報量がゼロの書き込みはしなくていいよ。 首くくって死ね。
691 名前:デフォルトの名無しさん [2008/05/13(火) 22:40:51 ] 今日の恥ずかしい体験を心に刻め その気持ちが貴方を育ててくれるハズ...
692 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 03:27:41 ] >>690 ところで、おまえのその書き込みは情報量がゼロじゃないのか? 首くくって死ね
693 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 19:32:31 ] >>689 自己解決した場合でもどこが間違っていたのか書いておけば 後々人の役に立つかもよ。 キャンセル時のreturn 1をreturn falseにしたら直ったとか?
694 名前:デフォルトの名無しさん [2008/05/17(土) 11:38:05 ] ひがです。 Seasar2の後継プロジェクトとしてSlimを申請します。 SlimはかつてはSeasar3(?)と呼ばれていたものです。 詳細は、Seasarカンファレンスで発表します。 # 開設プロジェクトに関する情報 プロジェクト名:Slim 一覧に記載する簡単な説明: "Less Is More"をコンセプトに持つ、フルスタックフレームワーク。 所属するトップレベルプロジェクト名:Sandbox.java リーダアカウント名: higa 希望サイトアドレス: slim.sandbox.seasar.org Maven用groupId: org.seasar.slim よろしくお願いします。 ml.seasar.org/archives/operation/2008-March/003758.html
695 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 13:12:48 ] >694 スレ違い
696 名前:デフォルトの名無しさん [2008/05/17(土) 13:46:12 ] strutsをベースに業務フレームワークを作る仕事を担当する かもしれません。オススメな書籍って何かありますか?
697 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:20:54 ] 今頃そんなことする会社は辞める
698 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:38:55 ] >>685 試してないですけど、actionAの中で、formAをセッションコンテクストに登録し、actionBで、セッションコンテキストからformAを取り出せば使えるのでは? 別案として、もしstruts-config.xmlを変更できるならば、actionAのformAのscopeをセッションにしておけば、actionA内でformAをセッションに登録する処理は不要になると思われ。 ちなみに激しく亀レスと、自分で言っておく。
699 名前:デフォルトの名無しさん [2008/05/17(土) 15:42:59 ] Struts2のJSPをサブディレクトリにまとめたいと思っています。 例えば機能AのJSPは、/jsp/a/に、機能Bは/jsp/b/に置きたいのです。 なるべくZeroConfigurationに近づけたいので、 できるだけ記述(XMLやアノテーション)が少ない方法がいいのですが 何かまとめて設定する設定方法は無いのでしょうか?
700 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:09:13 ] struts2で<s:textfield...に属性を追加しようとしています。 struts2のTextFieldを派生したクラスを作って、 独自のTextFieldTagから呼び出してaddParameter()を呼び出してるのですが、 生成されたhtmlにこの属性が反映されていません。 デバッガで追って、Component#addParameter()で拡張属性が parameterにputされてるのは確認したんですが、なにがいけないんですかねえ。 ちなみに追加しようとしているのはistlyle等です。 今更ながらstruts2を使ったことを後悔
701 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:21:19 ] ftlのテンプレートに書かれていないんじゃないの? てか componentタグでスクラッチから出力した方が面倒なくね?
702 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:34:25 ] 一応TextFieldの派生はやめてUIBeanの派生でやってみたんだけど 同じ結果だった。Componentからスクラッチだと属性多すぎない? 今ftlをググリ中
703 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:40:43 ] 全部の属性インプリする必要あるの? ftlは出力テンプレートの拡張子ね 多分 templates/simple/text.ftl
704 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:46:20 ] それは見つけたんだけど、 自分で属性を追加したい場合に参考になるURLとかある? とりあえずクラスパスにおいてみたんだけどどうにもならん。 そりゃあ全部の属性は必要ないんだけど、後でcssStyleとか 必要になってから困るのも嫌だし。textfieldかUIBeanの派生にしたい。 というか、s2タグやめたい
705 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:49:47 ] よくみんなこんな設定ファイルやアノテーションの海を泳いでいられるな なんかまだスパゲッティコードの方が順番に処理が負えるだけマシな気がしてきた
706 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:52:07 ] 判っちまえば、こんなパラダイスねーけどな
707 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 02:00:38 ] 俺には無理っぽいからComponentから自作することにする。 自作するときはページレンダリングなんて一種類しか使わないし、 ComponentTagSupportとComponentに分かれてるより、 JSTLのdoStartTag()でゴリゴリ書く方が楽じゃね?
708 名前:701 mailto:sage [2008/05/20(火) 02:11:40 ] Componentを拡張して。。って話じゃないよ それなら textfield拡張したほうがいいでしょ 俺のは s:component タグの話ね、念のため
709 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 02:17:53 ] どっちもorg.apache.struts2.components.Componentじゃないの? とりあえずそこから最低限の機能で作って行ってるんだけどmaxlengthとか labelとかやっぱりいろいろ要りそうだなあ。 onXXX系を除いて、ftlを使わない方法で実装し直してる感じ。 すごおおおおおく無駄な気がする。
710 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 02:44:52 ] >>706 パラダイスっていうならftlの追加方法教えてくれよ(泣 >>708 そのtextfieldの拡張の仕方がわからんのでつまづいとるんだわ
711 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 13:08:19 ] そうそう、画面遷移の変更はそんなにないだろうし、 Actionのアノテーションに遷移書くようにすれば ソース変更もそのActionだけにすることが可能で、わざわざ設定ファイルをいじらんでも。。ということだよね。 しかし未だにアノテーションで記述できずに、struts.xmlに書かないと動かないのもある。 そういえば、この前小規模案件のキット作り頼まれて、 「Strutsって設定ファイルの競合とか大変なんですよー」と泣きつかれたのを受けて、 可能な限り設定ファイルを分割+SubVersion管理にして競合起こさないようにしたら 今度は「ファイル多すぎですよー」とかくらいしか文句出なかった。 小規模でも分割大事だね。
712 名前:デフォルトの名無しさん [2008/05/21(水) 23:12:02 ] iFitって使ってる人居る?
713 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:51:45 ] 何だっけ? 東京方面で使わされるヤツだっけ?
714 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 01:01:13 ] struts2で<a href="...にactionのURLを入れたい時ってどうするの? <a href="<s:url action="input" />">aaa</a> こんな風にHTML属性の値の中にsタグ入れるのはかっこわるすぎるよね。 <s:a>タグをみててもわからないんだけど
715 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 09:01:31 ] struts.apache.org/2.x/docs/a.html <s:url id="url1" …>で遷移先つくって <s:a href="%{url1}"> JSP2.1使ってたら無理。
716 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 09:41:53 ] >>700 ちょっと時間があったのでやってみたんだけど ftlを変更、tld追加したら、今度は追加した属性のsetterが見つかりません、、と嫌になるねぇ。
717 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:04:37 ] さんくす 英語のドキュメントも最後まで読まないといかんな
718 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:06:34 ] >>716 そこまで来たらTextFieldの派生クラスにその属性のsetter/getter 用意するだけじゃないの? ftlを変更ってstruts2のjarの中のファイル? 自プロジェクトで新規にftlファイルを作って、 それを読み込ませる方法がわからないんだけど
719 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:07:28 ] struts2を使っています。 画像表示とかのアクションで、使用してるライブラリの関係上 responceに対して直接書き込んじゃうのでjspに 遷移したくないんだけど、こういう時はどうするのがstrutsらしいの? とりあえずアノテーションで @Result(name = "success", value = "") としておいて、 return SUCCESS; してみようかと思うんだけど。 アクションにしないで直接サーブレットにすべきなのかな。
720 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 06:19:37 ] return NONE; にしたらできた。 Actionインターフェースみたらわかった
721 名前:716 mailto:sage [2008/05/24(土) 12:21:01 ] >>718 ちょっとぐぐると出てきた>テンプレート読ませる方法 なんかカナリめんどくさいなー、、、これ。 例えばTextareaタグを拡張(istyle属性を追加)するとして… Textareaを拡張したUIコンポーネントクラス(ExTextarea)とタグクラス(ExTextareaTag)を作る。 拡張タグのテンプレートファイルを以下のルールで作成する。 ファイルは、{クラスパス}/template/{拡張テンプレートテーマ名}/**.ftl 例えば、theme="extend" とする場合は、{クラスパス}/template/extend/textarea.ftl 次は、Strutsタグ拡張なので、タグライブラリも追加する。 拡張タグクラスは次の実装が必須。 ・追加した属性名のgetter/setter ・populateParams()をオーバーライド。親の同メソッドを実行。 ・getBean(ValueStack , HttpServletRequest , HttpServletResponse) を継承 拡張したUIコンポーネントクラス ・引数つきコンストラクタを作成。 ・追加する属性と、setterを作成 ・setterに@StrutsTagAttributeアノテーション追加 ・evaluateExtraParams()をオーバーライド&親実行。 追加する属性を判定し、addParameter("属性名" , findString(属性))を記述 つづく
722 名前:716 mailto:sage [2008/05/24(土) 12:21:49 ] ftl textareaタグの中であればどこでもいいので、 <#if parameters.{属性名}?exists> {属性名}="${parameters.{属性名}?html}"<#rt/> </#if> を追加 tld: 既存Struts2TLDを一部拝借(textareaのtag要素から引用+istyle属性分の定義を追加。) JSP&web.xml 追加したStrutsタグを宣言 順番にないものを潰していくだけなので難しくはないんだが… 激しくめんどくさいな〜。 書いてて思ったんだが、拡張のサンプルソースキット提供の方が判りやすいね。
723 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:14:30 ] >>721 サンクス。ググったけど自分で拡張する方法が見つからなかったんだよね。 ftlで定義した"extend"をどこで使うのかと思ったけど UIコンポートネントクラス#getTemplateDir()かgetDefaultTemplate()で return "extend"しないと駄目だよね? しかしこの面倒くささは、将来違う人が保守することを考えると導入をためらうね。 普通のstrutsタグですらJSTLにすべきか悩んでたのに
724 名前:デフォルトの名無しさん [2008/05/24(土) 19:10:37 ] Frameworkの高機能化が進むと、拡張作業は複雑化せざるを得ないのかもね
725 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:45:41 ] >>699 @Resultも書きたくないってこと? それなら@Namespaceかなあ @Namespaceをpackageで一括指定することは可能だけど 各Actionで@ParentPackageは必要。 でもこれはまっとうなアプリ作ってれば定義してるよね。 @Namesapceを"/a"にすると actionへのアクセスも/a/XXX.actionになる。 jspは/a/XXX.jsp さらにjspのトップディレクトリを指定する方法はなんかあるのかなあ
726 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:05:36 ] ちょっとstrutsから外れちゃうけど、jspを/WEB-INF/jsp/配下に 置くのってそんなにメジャーじゃないのかな。 Actionを通さないで直接jspを呼ぶようなシステムってそんなに ないでしょ?PHPじゃあるまいし。 ほとんどのjspはユーザーに直接アクセスされたくないから WEB-INFに置いてるんだけど、index.jspとかは直接アクセスにしてるから 拡張子*.jspを禁止することはできない。 Eclipse+WTPで開発してると、/WebContent/WEB-INF/jsp/xxxとなって 階層が深くてアクセスしづらい。これは回避策見つけたけど。 >>725 の@NamespaceもWEB-INF配下に置くってのは想定されてない みたいだし、一般的にはコンテキストルートにjspを置くのが普通なのかなあ
727 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:25:05 ] >>724 というかまだ過渡期だから、進化の方向がちょっと間違ってると思うよ。 暗黙の了解が多すぎるのはグローバル変数多用と同じ害がある。 あれだって、どんなグローバル変数があるか、値を変更するときの ルールはなにかっていうのが明確になってれば問題は無いわけだけど、 変数が多くなってくるとそうもいかない。 struts2ではWorkflowInterceptorでexclude宣言したメソッドなら validate()が呼ばれないからinput()では呼ばれないけどexecute()では 呼ばれる。ほぼすべてのActionでの共通機能だから一カ所に 定義できて確かに便利。でもValidateInterceptorとの関連はどうで、 doExecuteValidate()を実装したらexecute()専用のvalidate処理が定義できて、 execute()直前のアノテーションでも定義できて、各フィールドでも定義できて・・・ っていうルールをすべてのアクションの開発者が知っていないと ソースの解読すら大変、っていうのはちょっとね。 Java経験豊富でもstruts2経験の無い人に、このアクション修正してって 頼む前に教えないといけないことが多すぎる。
728 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:52:35 ] >>726 俺はWTP捨ててノーマルEclipseとMaven2でやってるよ。 普通にデバッグもできるしな。 WTPって長い歴史の割には未だになんかいまいちだし。
729 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 04:11:26 ] >>715 auのケータイがCacheコントロールを無視するので、毎回アクセスするURLが 変わるように<s:url>を拡張してdoEndTag()で毎回ユニークなURLに なるようにパラメータつけてたんだわ。これなら戻るボタンの時に 通信発生しないで快適だし。 でもその独自パラメータもidに含めるためには、textareaみたいに テンプレートから拡張しないといけないのかなあ
730 名前:716 mailto:sage [2008/05/25(日) 10:18:52 ] >>728 こういう手もある。 Maven2でWebキット作成→さらにmaven2でWTP用プロジェクトを生成する。 デバッグ作業や稼働確認が簡単にできるのでウチではWTPは重宝してる。 >>729 一回作ってしまえば、後は悩まず作れる…調べるのが面倒なんだよね。 修正箇所が多いのがめんどいだけ。 しかしsタグ(sxタグ)拡張して便利になるのを作ろうとすると大変だねー 慣れなのかな、やはり。 ちなみに、ウチでは、JSTLとStruts1タグ、JSP2.0をごっちゃにしちゃってる人がかなり多い。 その上、Struts2タグ+OGNLなんか出てくると、 「今度は一体どれで書くのが正しいんだ!」ってなってる人多いよ…
731 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:13:09 ] 今、プロジェクトでstruts2+springを提案されてて、 試しに作ってみたんだが、どうみてもseam(JSF+Ejb)の方が使いやすいんだが seamと比べてstruts2のメリットってなんだ?
732 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:23:31 ] Strutsという名前
733 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:25:12 ] まあ、名前だろうだろうな。 seamの方が使いやすいとは漏れも思うよ。
734 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:42:03 ] >>732 >>733 名前だけかORZ...
735 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:07:39 ] 新規開発案件でもまだStruts? ポストStrutsの決め手がない現状では仕方ないのかな・・・
736 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:05:06 ] >>730 OGNLやValueStackで任意の変数にアクセスして、 <s:property id="">で埋め込んだりするくらいなら スクリプトレットでよくね?JSTLで基本的な整形をして、 拡張が必要なときだけスクリプトレットで値をいじってから JSTLに渡す、みたいな。 taglibに限定するメリットって 1.ソースが見やすくなる 2.ビジネスロジックが紛れ込むのを排除できる っていう2点だと思うんだけど、教育コストに見合わないよ。 へぼいPGの場合は2に限らずコードレビューしてプロジェクトの ルールに則ってない場合は手直しさせるから、jspだけそういう 制限があったところで大差無いし。
737 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:06:47 ] >>731 「どうみても」なのはseamに慣れてるからじゃないの? WebサーバーとAPサーバーが分かれてるプロジェクトで seam導入しようとしたとき、アノテーション地獄でなかなか 理解できなかったよ。便利そうとは思ったけど。
738 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:36:10 ] JSP&Servletが最強です。
739 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 03:13:47 ] struts2のタグで、値をDoubleで持っていてjspで DecimalFormatでフォーマットして出力するのはどうするの? <s:property id="">で代入して表示? みんなはActionで文字整形までやってるわけ?
740 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:06:10 ] jstlで
741 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:31:29 ] こんなのを見つけた ttp://www.toshiki.net/x/modules/wordpress/index.php?p=81 後々のメンテを考えたらJSTLの方がいいと思った
742 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:00:37 ] >>737 確かにseamには慣れてるけど、比較対処が簡単なlogin画面で明らかにコーディング量が違っていたよ。DBアクセスの為のBean作成やログイン後の情報を保持する部分とか。 struts2に慣れればもっと良い書き方が出来るのかもしれないが アノテーションはXML地獄よりは確実にましだと思うんだけどな 確かにおっちゃん連中はついて来るのが大変そうだった
743 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:08:47 ] DBアクセスはstruts2/springの範囲外だからそこで比べても。 アノテーションとxmlは一長一短だけど、そこそこの複雑さの場合は アノテーションの方が記述が分散する分学習が面倒だと思う。 xmlでいろんなライブラリ導入してxmlファイルがあちらこちらに あってそれぞれの役割がよくわからないのが一番ひどいけどね。 アノテーションなら定義クラスにすぐアクセスできるけど (Eclipseとか使って無くてもimportとアノテーション名を見ればわかる)、 xmlだとそもそも誰が読んでるのかすらわからないし
744 名前:デフォルトの名無しさん [2008/05/27(火) 23:53:30 ] >>742 ログイン認証処理なんて、spring security使えば楽チンだよ
745 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:44:58 ] Strutsと直には関係ないだろうけど、オマイらメールのテンプレート処理とかなに使ってやってんの?
746 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:54:25 ] >>745 自前でstr.replaceAll(key,value)
747 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:55:22 ] 駄目だ。struts2のタグは応用効かなさすぎ。 俺はstruts2をやめるぞジョジョォォォオオオオオ
748 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:59:03 ] >>747 そ、、、、そうかー??? 使う側の応用力の問題ジェネーーーーーーーーノーーーーオオオ
749 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 02:00:39 ] てかOGNLって何でも出来すぎてあとでメンテで困るんじゃねーー って感じなんだけど。
750 名前:747 mailto:sage [2008/05/28(水) 02:51:58 ] ValueStackはうまくいってるときは便利で強力だけど、 「望みの値が出ない」ときにどこが間違ってるのか検証するのが面倒。 struts2のComponentTagSupport系のタグだと処理が追えない。
751 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:36:17 ] ajaxとstrutsの相性ってどうなんですかね。 styleId属性使うんだろうけど。
752 名前:デフォルトの名無しさん [2008/05/28(水) 22:24:38 ] 名前忘れたけど、選択リストが複数出てくるGUI部品は内部でAJAX使ってたよ
753 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:08:43 ] EventDispatchActionってボタンによってjavascriptのvalidation切り替えたりできない?
754 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:35:55 ] >>745 Velocity >>749 その通り。 もし使用に耐えられるのであれば、JSONプラグインを使ってAJAXタグと組み合わせるのも良いかもしれない。 >>751 2.0系はdojo0.4が同梱。 しかしdojoの現リリースと大きく離れていて、かつ欲しいのがあったりして困る。 >>752 を補足すると、AJAXタグはそこそこある。 タブパネル、オートコンプリータ、ツリーパネルなども。 ちなみに、Struts2.0系で何か作ってる連中はとりあえず2.0.11.1にしておきましょう。 s:aタグがトンデモない状態だった。
755 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 03:04:08 ] >>753 EventDispatchActionは知らんけど、 Struts1.1でやったよ。
756 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 05:14:42 ] ELでMap#get()を呼び出したいときはどうしたらいいでしょうか。 ${map.get(key)}だと 「デフォルトの名前空間が指定されていない時には、関数 get はプリフィクス付きで使用しなければいけません」と出ます。 OGNLなら%{map.get(key)}で取り出せるんだけど。 s2のタグにformatNumberがあればEL式と併用しないでいいのになあ
757 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 06:46:53 ] ${map['key']} keyが変数なら ${map[key]} ちなみに、「key」が実際のkey名でプロパティ名として使える場合は ${map.key}でもOK JavaScriptの連想配列アクセスに似ている
758 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:10:56 ] >>753 form分けろ
759 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:31:52 ] >>756 S2タグとELの混在利用なんてとんでもない間違い
760 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:38:00 ] >>759 じゃあ数値フォーマットはどうやんのさ? いちいち>>741 みたいにフォーマット外だしにして メッセージフォーマット使うの?
761 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:46:08 ] >>757 ありがっとさん。 ママ、僕にも出来たよ
762 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 15:20:34 ] struts2のタグが生成するxhtmlをhtmlにする方法ありますか? <constant name="struts.ui.theme" value="simple" /> としてもxhtmlみたいなのですが。 古い携帯にも対応したいのでhtmlにしたいんです。
763 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 16:47:48 ] s:iteratorで見てるカレントオブジェクトとその上のactionとか requestで同じ変数名を使ってるときに、上の方を参照するには どうするんだっけ? どこかのwebサイトで見かけたんだけどなあ。どこだったっけなあ
764 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 19:27:17 ] >>760 数値フォーマットはJSTLでいいんじゃない? S2タグにあっても良さそうなんだけど、fmtないんだよね〜
765 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 23:10:37 ] >>764 JSPファイルはきっとぐちゃぐちゃだなww
766 名前:デフォルトの名無しさん [2008/06/01(日) 03:18:28 ] >>761 ボク、りっぱになったわね 大き過ぎて口に入らないわ
767 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 09:48:32 ] >>765 どうやったらそこまでぐちゃぐちゃになるんだ…?
768 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:04:36 ] >>728 お前は俺か。Maven最高。pomがちょいアレだけど。 WTPマジうんこ。
769 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:22:06 ] MavenもWTPも両方使うだろJK
770 名前:デフォルトの名無しさん [2008/06/03(火) 08:18:22 ] struts2で ■■■■■ 上記の様に複数の画像をサブミットボタンとして並べると画像間に隙間が空いてしまいます。 調べてみたのですが回避する方法見当たりませんでした。 隙間を開けずに画像を並べる方法ありましたら教えて下さい。
771 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:18:34 ] >>769 WTPは別に無くてもいいだろう。 デバッグもこの方法ならWTPじゃなくても問題ないよ goodjob.boy.jp/chirashinoura/id/179.html
772 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:29:17 ] >>768 maven スレは過疎っているので、暇なときに遊びに来てください。 自分は maven はそれほど万せーでもないけど(微妙にめんどう)
773 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:32:18 ] >>771 jetty って jsp 動かせるの?
774 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:13:43 ] >>771 Maven Eclipse PluginでWTPプロジェクト作成した方が楽だと思うw
775 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:22:32 ] 今ならQ4Eだろ
776 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:47:46 ] NetBeans使えばいいだけじゃねぇの?
777 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:17:11 ] それはない
778 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:42:18 ] WTPとは比べ物にならないよ。
779 名前:デフォルトの名無しさん [2008/06/04(水) 22:39:24 ] >>770 無理。
780 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 11:44:42 ] あれ、JSTLのfmtタグってリクエストヘッダみて挙動変えるのか。 DoCoMoだとformatNumberがきかない。つかえね。auは大丈夫なのに。 fmt:setLocaleしても駄目だなあ。なにが足りないんだろ。結局カスタムタグか。 リクエストヘッダからfmt:messageでとってくるプロパティファイルは setLocaleで変えられるんだよね?
781 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:09:53 ] >>780 それはDocomoだとロケール情報をHTTPヘッダに持ってないってことなのか? 実際に取得したロケールの値と、プロパティファイルの接尾名が合致してないというオチは結構ある。 例えば、言語コードと国コード両方だと思ったら、片方しかないとか。
782 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:51:17 ] >>781 うん、GETだとhostとuser-agentしか入ってない。機種はSO902i。 他の人のDoCoMoでも駄目だった
783 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:41:40 ] >>782 だったらもう、Action側でロケール上書きで付けるしかないのかな。
784 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:48:46 ] web.xmlのcontext-paramにjavax.servlet.jsp.jstl.fmt.fallbackLocaleとかはセットしてる?
785 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 03:27:02 ] してない。 <fmt:setLocale value="ja_JP"/>を入れて駄目だった時点で これ以上時間を浪費したくないからカスタムタグ書いた。
786 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 08:41:47 ] もし簡単に試せる環境があるのなら、 <context-param> <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name> <param-value>ja_JP</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name> <param-value>ja_JP</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>{リソースバンドル名}</param-value> </context-param> これセットしてどうか試してみてくれない? setLocaleやbundleを個別に書く必要はない
787 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:32:58 ] えー それを開発環境に入れるのは楽だけど カスタムタグに変えたところを戻して 外からアクセスできるところにデプロイしなおすのは面倒 と思ったけど手元にエミュレータがあったのでやってみた。 ちゃんとフォーマットされたよ。ちなみにauは"ja-jp"で送る みたいだね
788 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:12:05 ] ありがとう 携帯用画面の開発では結構ありそうなパターンだったから確認しておきたかったんだ 参考になったよ
789 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 09:29:18 ] カスタムタグにすればOGNLに統一できるし悩ましいところだな
790 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:21:32 ] しかしこれはいい事例だね。俺も作ってみるか…
791 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:06:57 ] struts2で、session.invalidate()を読んだ後ちゃんとrequest.getSession(true)で新しいセッションを作らせてから、 ActionChainResultで別画面に遷移させると「セッションが無効」の エラーがでます。おそらくInterceptorでセッションインスタンスを キャッシュしてるせいだと思うのですが、追い切れていません。 logout時のinvalidate()は普通に成功しています。 login時にはsessionIdを発行し直して、かつリロードで 再度ログイン処理が走らないようにリダイレクトさせたいと 思っているのですが、なにか回避策はあるでしょうか。 sessionIdの発行し直しはセキュリティ会社に指摘されたことが あって、ログイン前の無防備な状態でid盗聴されたらログイン後に 乗っ取られる可能性があると。今回の案件では始めから httpsなのでやらなくてもいいかなとは思っているのですが、 できたらやっておきたいなあと。
792 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:39:32 ] >>791 答えではないけれど、 Struts2ではsession.invalidate()は避けてほしいらしい。 struts.apache.org/2.x/docs/how-do-we-get-invalidate-the-session.html ちなみに、Struts1+Tiles利用時にsession.invalidate()→レスポンス吐く前に sessionを新規作成しようとしても、うまく動かない現象は起こる。 理由は、セッションを破棄すると、そのロケール情報もなくなってしまって ロケールによる自動振り分けが失敗する。 ロケールなしの時の設定をしていても動かず、 セッション破棄→新セッション作成後にロケールを追加すると動いたので そういうのが原因だろうかね。
793 名前:デフォルトの名無しさん [2008/06/15(日) 00:58:09 ] sessionをプレゼンテーション層的観点で皮相的にとらえると上手くいかない。 自分もstruts2とacegisecurity(spring security)を組み合わせたカスタマイズで苦労した。
794 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 07:53:02 ] HTTP Status 503 - サーブレット action は現在利用できません -------------------------------------------------------------------------------- type Status report message サーブレット action は現在利用できません description The requested service (サーブレット action は現在利用できません) is not currently available. -------------------------------------------------------------------------------- Apache Tomcat/4.1.24 というエラーが出るのですが、原因としてはどのようなことが考えられるでしょうか? tomcat 4.1.24 jre 1.50 struts 1.22 です。ご教授いただければありがたいです。
795 名前:デフォルトの名無しさん [2008/06/22(日) 14:16:47 ] あげときます
796 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:30:42 ] よろしくお願いします。 Struts2で、iteratorタグを使用しています。 <s:form> <s:iterator value="hogelist"> <s:property value="no"> <s:textfield name="hogelist.get(%{no}).hoge" value="%{hoge}" /> </s:iterator> <s:submit action="hogeaction" value="送信" /> </s:form> 上記のようにに作っていて、初期表示でデータを表示させることはできています。 送信ボタンを押してActionを呼び出したら、 hogelistの中にテキストフィールドで入力した値が入っていることを望んでいるのですが、 データを取得することができません。 nameの書き方が悪いのでしょうか?それともこういった使い方はできないのでしょうか? どうかご教授ください。
797 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:37:40 ] えー、マジTomcat4?今時許されない
798 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:49:56 ] なんかの保守じゃねえの?
799 名前:796 mailto:sage [2008/06/22(日) 17:30:06 ] >>796 name="hogelist.hoge"でいいんだぜ
800 名前:796 mailto:sage [2008/06/22(日) 17:47:08 ] >>796 ごめん、嘘ついた。 データは取得できるけど、名前が重複して変になる。
801 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:42:05 ] >>794 エラー画面だされても意味がわからんので、リクエストしてるURLとエラーが出てるログファイルから判断しろ。 話はそれからだ。 >>796 <s:iterator value="hogelist" status="idx"> と、イテレーションのループ変数を宣言、 <s:textfield name="hogelist[idx]" /> でいいんじゃないのかね。 ただ、そのままだとValidatorを使ったときに困ると思う。
802 名前:796 mailto:sage [2008/06/24(火) 09:45:20 ] >>801 ありがとうございます。泣く泣く固定の変数使ってやってました。 statusを使用するんですね。 <s:form> <s:iterator value="hogelist" status="idx"> <s:textfield name="hogelist[%{#idx.index}].hoge" value="%{hoge}" /> </s:iterator> <s:submit action="hogeaction" value="送信" /> </s:form> これでhogelistにデータを入れることができました。 Validatorは今のところ使用していないので、スルーの方向で。 スッキリ解決しました。お世話になりました!
803 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 16:27:56 ] >>801 有難う御座います。また出直します。
804 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:34:46 ] strutsにも飽きてきた。 strutsに代わるフレームワークってないの? 個人的にはwicket辺りに注目してるんだけどあんまり流行ってない?
805 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:03:04 ] >>804 作っちゃおうぜ
806 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 20:20:56 ] 飽きたらカスタマイズか新作なんかね、wicketは日本で人気っぽいけど。 または自動生成ツールを作るとか、RIA側に手を出すか。 ちなみに、Struts2.2と2.5出るのって本気なのかね。
807 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 20:32:23 ] >>804 dolteng入れてTeeda使うと笑えるよ
808 名前:デフォルトの名無しさん [2008/06/27(金) 01:50:54 ] >>806 2.2と2.5でどうなるの?
809 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:08:28 ] journal.mycom.co.jp/news/2008/06/05/020/index.html らしい。つか、Guice入ってるような気がするんだが。。
810 名前:デフォルトの名無しさん [2008/06/28(土) 02:12:13 ] >>809 springと離婚するのか?
811 名前:デフォルトの名無しさん [2008/06/28(土) 02:15:57 ] AJAX対応とスピードアップってことだな、2.2は
812 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:57:13 ] 2.0だとdojoプラグイン(でも0.4)が既にバンドルされている。 dojo1.0に対応するのか、それとも他も使えるといいんだが… 2.2以降が出るのを待つかなぁ。
813 名前:794 mailto:sage [2008/06/28(土) 14:17:11 ] リクエストしているURLは localhost:8080/example/chap02/login.do?id=&password= です。 www1.axfc.net/uploader/Img/so/14922.jpg にアップロードした画面からリクエストされます。 ログファイルはC:\tomcat\logsにありますが、どれを挙げれば よろしいでしょうか? 独学で聞ける人もいないので、このスレが頼りです。ご返信 いただければ幸いです。
814 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 15:13:00 ] 特にヘンな設定していなければ、 ログファイルは、catalina.yyyy-mm-dd.out Struts系の設定ファイルはきちんと書かれているか - web.xmlにstrutsの定義があるか - struts-config.xml <form-beans>と<action-mapping>がきちんと設定されているか 基本的すぎる内容なので自分で調べまくる方がいいとは思うが。
815 名前:デフォルトの名無しさん [2008/06/28(土) 15:13:27 ] ageときます
816 名前:デフォルトの名無しさん [2008/06/28(土) 15:24:28 ] よろしくお願いします。 struts2を勉強しています。 propertiesファイルにUnicodeエスケープ形式で メッセージを書くのが面倒なのです。 ツールやプラグインを使用していますが、 XML形式で書くと、日本語をツールなしに使えると伺いました。 書き方等教えていただけないでしょうか。よろしくお願いします。
817 名前:794 [2008/06/28(土) 15:28:51 ] レス有難う御座います。 ログファイルは、C:\tomcat\logsに ・ localhost_log.2008-06-28.txt ・ localhost_admin_log.2008-06-28.txt ・ localhost_examples_log.2008-06-28.txt がありますが、このうちどれでしょうか? web.xmlも確認しましたが、特に自分では変なところは見つかりませんでした。 下記のとおりです。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "jakarta.apache.org/struts/dtds/struts-config_1_2.dtd "> <struts-config> <form-beans> <form-bean name="chap02_loginForm" type="chap02.LoginForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> </global-forwards> <action-mappings> <action path="/chap02/login" type="chap02.LoginAction" name="chap02_loginForm" scope="request" > <forward name="success" path="/WEB-INF/jsp/chap02/success.jsp"/> </action> </action-mappings> </struts-config>
818 名前:794 [2008/06/28(土) 15:30:36 ] 間違えました。↑はstruts-config.xmlでした。 web.xmlは下記のとおりです。 <?xml version="1.0" encoding="Shift_JIS"?> <web-app xmlns="java.sun.com/xml/ns/j2ee " xmlns:xsi="www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation="java.sun.com/xml/ns/j2ee java.sun.com/xml/ns/j2ee/web-app_2_4.xsd " version="2.4"> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app> 何かご指摘いただければ幸いです。よろしくお願いします。
819 名前:794 [2008/06/28(土) 16:43:41 ] struts.jarなどをeclipseの「プロジェクト」→「プロパティ」→「JAVAのビルド・パス」 →「ライブラリ」タブでインポート(とでも言うのでしょうか?)していたのを、直接 アプリケーションのWEB-INF\lib配下にコピペしたらエラーメッセージが変わりました。 下記のとおりです。 HTTP Status 404 - パス {0} に対するリクエストは無効です -------------------------------------------------------------------------------- type Status report message パス {0} に対するリクエストは無効です description The requested resource (パス {0} に対するリクエストは無効です) is not available. -------------------------------------------------------------------------------- Apache Tomcat/4.1.24
820 名前:794 [2008/06/28(土) 16:57:28 ] うまくいきました! 原因ですが、やはりWEB-INF\libに直接コピペしたのがよかったようです。 上記のエラーからは、struts-config.xmlのミスで、やっとうまくいきました!!! 本当に有難う御座いました! またお世話になることがあると思いますが、その際はどうかよろしくお願いします!!
821 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:09:02 ] >>819 遷移先のパスは<forward name="success" path="/jsp/chap02/success.jsp"/>でいいんじゃないのか?
822 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:09:50 ] おっと、自己解決してたw
823 名前:794 [2008/06/28(土) 17:10:25 ] >>821 はい、そこを直したら無事動きました!!ありがとうございました!!!!
824 名前:794 [2008/06/28(土) 22:14:06 ] さきほどは皆様、ありがとうございました! 次のステップに進んだのですが、またエラーに引っかかりました。 MappingDispatchActionを使って、データベースへの入力をひとつの アクションで済まそうとし(正確には、使っている本にMapping DispatchActionを使うように書いている)たら、下記のエラーが出ました。 ご教授いただければ幸いです。どうぞよろしくお願いいたします。 HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: クラス database.DBActionForm のbeanを生成する際の例外: {1} at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at filter.EncodingFileter.doFilter(EncodingFileter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) エラーメッセージが長いので、途中で切れます
825 名前:デフォルトの名無しさん [2008/06/29(日) 01:13:45 ] 初心者スレかと思た 面倒見の良い人がいて良かったな
826 名前:794 [2008/06/29(日) 07:15:25 ] >>825 そうですね、本当にありがたいです!!!
827 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 12:06:05 ] >>824 ・struts-config.xml に正しくActionクラス、Beanクラス等を定義できているか ・JSP内のパスは、struts-config.xmlに定義した名前になっているか
828 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 12:37:03 ] MappingDispatchActionをぐぐると思いっきり出てくるんだが。 MappingDispatchActionを使う場合の必須事項はちゃんとやってるんだろうな…
829 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 13:04:52 ] >>816 Eclipseプラグインのプロパティエディタ使えば、プロパティファイルをマルチバイトでそのまま編集できるぞ。 逆に >XML形式で書くと、日本語をツールなしに使えると伺いました。 の出所を知りたい。
830 名前:794 [2008/06/29(日) 13:18:03 ] >>827 >>828 ありがとうございます!また試行錯誤してみます!
831 名前:816 mailto:sage [2008/06/29(日) 15:44:07 ] >>829 知り合いがどこかで見たことがあるという、とても曖昧なソースです。。 以前eclipseプラグインをいれようとしましたが、相性が悪かったのか プラグインが認識できず、スタンドアロン版を使用していました。 PCも変わったので、eclipseプラグインを再度入れてみたら すんなり入れることができました。お騒がせしました。
832 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:28:54 ] Properties#loadFromXML を使えばってことでしょ。 struts2では、xml形式かどうかなんか判断してないと思うので使えないと思うけど。
833 名前:794 [2008/06/30(月) 01:08:09 ] さきほど、エラーが通りました!むちゃくちゃうれしいです! 皆様、本当に有難う御座います!
834 名前:デフォルトの名無しさん [2008/06/30(月) 01:19:54 ] >>833 偉いね
835 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 16:04:57 ] 偉くねーよ。 お礼の前に「なにを直したら動くようになったのか」を 書かないと情報量0じゃねーか。
836 名前:794 [2008/06/30(月) 17:54:24 ] >>835 すみませんでした。 一からすべて書き直したら、エラーが通りました。どこが悪かったのかは わからないままでした。
837 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 05:13:57 ] struts2のアクションのPackageについて解説したURLご存じの方居ませんか? struts.xmlで <package name="admin" namespace="/" extends="visitor"> という宣言をして、/com/xxx/action/admin/の配下にアクションクラスを 置いたら、ParentPackage(vlaue="admin")を指定していないアクションまで このPackageが適用されているようでハマりました。 ログイン前のページはこのPackage適用したくないのですが、 ParentPackage(value="visitor")と宣言していても adminパッケージを利用するようです。 開発者はクラス名やパッケージ名から自動的に判断するのが便利だとでも思っているのでしょうか。 正直なにがおきているのかわかりにくくてウザいです。 せめて明示的にParentPackage指定したときくらい それに従って欲しい
838 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 10:27:39 ] >>837 struts.xmlのpackage name=visitorの部分晒してみ?
839 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 16:20:13 ] こんな感じだけど、visitorがなんか関係あんの?adminじゃなくて? <package name="visitor" namespace="/" extends="ベース"> <interceptors> <interceptor宣言> <interceptor-stack name="visitorStack"> <interceptor-ref さっき宣言した奴 /> <interceptor-ref ベーススタック /> </interceptor-stack> </interceptors> <default-interceptor-ref name="visitorStack" /> </package>
840 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 16:30:41 ] 前にも質問したのですが、struts2のformタグで生成されるタグを xhtmlではなくhtmlにする設定は無いのでしょうか? template/*.ftlを一式全部つくらないと無理でしょうか。
841 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 22:15:36 ] >>837 それぞれのActionに @Namespace("/") て書けば期待したような動きになると思う
842 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 00:45:58 ] >>837 継承元となるpackage要素には、次の決まりがあるみたい。 ・abstract="true"をつける ・abstractのパッケージは、ネームスペースを持ってはいけない。 →他のパッケージ要素たちも、きちんとネームスペースを割り当ててあげないと誤動作する現象がある。 >>840 それって、theme=simpleでもダメなんだっけ。
843 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 03:03:26 ] >>842 今simple xhtmlみたけど、内部でsimpleのftlをincludeして拡張 してるだけっぽい。 simple/submit.ftlの中を見たらケツの方に「/>」と直書きしてあるっぽい ftl作り直すとしたらクラスパスにtemplateってフォルダ作って そこにtheme名でフォルダ作ったら勝手に認識してくれるのかな。 まさかカスタムしたやつをstruts-xxx.jarに埋めるわけにもいかないし。 というわけでinput(accessKeyの件),fmtに続いて ボディの無いタグもすべてstruts2のものは使わないことにした。 絶対に非struts2のタグで統一した方が便利。
844 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 08:04:16 ] >>843 イエス。 で、その中にtheme.properties置いて、parent=(継承テンプレート名)でいける。 使いにくい!と感じたら、ポリシーもって「使わないもの宣言」するのもありかね。 まぁ、あくまであの初期テンプレートたちはサンプル実装らしいが…
845 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 17:17:17 ] Struts2のアクションのテストケースって、どういう風に書くのが一般的?
846 名前:843 mailto:sage [2008/07/02(水) 20:16:36 ] 不具合報告者の日本語がおかしくて、ログインボタンが無いっていうから てっきりsubmitボタンだけ表示されないのかと思ってxhtmlが 駄目なのかと判断したんだけど、どうも全然違うURLを開いていたようだ。 とりあえず今のところ<input ... />となっていても不具合のある携帯は なさそう。でもなあ、DOCTYPEでHTML宣言してるのにxhtmlが混じってるのは 気持ち悪いっていうか、お客に出すシステムとしては恥ずかしいなあ。
847 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 21:14:08 ] 4月にIT企業に入社したものの、配属先が見つからずにモソモソと自習している物です。 JVM 1.6.0_05-b13 Tomcat5.5 Struts2.011 Eclipse3.3でサンプルを作りながら慣れようと思い、会社で勉強しています。 ttp://www15.plala.or.jp/k_maeba/struts2/のサイトを参考にしながら進めているのですが、ゼロコンフィグを試したところで詰まってしまいました。 Tomcat Managerで実行中であることを確認して選択すると404エラー(The requested resource (アクション名) is not available.)が返ってきます。 フィルタマッピングがまずいのか、バリデーションした結果のinputのjspを作っていないのが悪いのかよくわからなくなってしまいました。 以下配備ログです。 2008/07/01 13:59:52 org.apache.catalina.startup.HostConfig deployWAR 情報: Webアプリケーションアーカイブ ManageUser1.war を配備します 2008/07/01 13:59:53 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register 情報: Parsing configuration file [struts-default.xml] 2008/07/01 13:59:54 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register 情報: Parsing configuration file [struts-plugin.xml] 2008/07/01 13:59:54 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register 情報: Parsing configuration file [struts.xml] 2008/07/01 13:59:54 org.apache.struts2.config.Settings getLocale 警告: Settings: Could not parse struts.locale setting, substituting default VM locale 2008/07/01 13:59:55 com.opensymphony.xwork2.util.ResolverUtil findInPackage 情報: Scanning for classes in [/C:/apache-tomcat-5.5.26/webapps/ManageUser1/WEB-INF/classes/pkg/sample/] matching criteria: org.apache.struts2.config.ClasspathConfigurationProvider$1@1f287e8 2008/07/01 13:59:55 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit> 情報: Setting DefaultObjectTypeDeterminer as default ... struts.xmlとweb.xmlの内容は参考にしたサイトそのままなので /user1/struts.xml.txt /user1/web.xml.txt と同一です。何か設定が必要なのでしょうか?
848 名前:デフォルトの名無しさん [2008/07/03(木) 00:57:24 ] >>847 初心者は既に動いてるサンプルプログラムをダウンロードしていろいろ試した方が良いと思うよ。 まずは知ることから始めなさい、だ。
849 名前:847 mailto:sage [2008/07/03(木) 06:35:21 ] >>848 Struts付属のサンプルプログラムをポチポチといじってみたのですが良くわからず、 もっと基礎的な部分からやってみたほうがいいのかと上記サイトに行き着いた次第です。 サイトでは使用するソースをダウンロードできるのですが、 そこからプロジェクトを丸々落としてきても404なので首を捻っていた次第です。 もう少し付属のサンプルのxmlファイルとにらめっこしてみます。
850 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 23:44:14 ] >>847 struts.xml.txtでどきどきしてしまった俺がいる。 拡張子はtxtじゃないよな…? そうだなぁ…日本語でサンプル公開してる所ではmaven2利用してるものも結構ある。 あとは>>848 の通り、Struts2以外で覚えるの多いかなー。超頑張れ。 ウチもサンプルとか公開してるので、ぐぐった履歴とかもついでに集計してるんだけど 結構みんな色んなので悩んでるね。 多いのはValidator(Validation)、Annotation、ModelDriven、Uploadとか。
851 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 22:47:59 ] いあいあ、それは大丈夫です。.xml.txtになっているのはサイトのアドレスがそうなっているからでして。 来週からプロジェクトに参加することになったのでstruts2とは暫しお別れです。 まぁプロジェクトではたぶんstruts+spring+もう一個DB系のフレームワーク?でやるらしいんで これからよろしくねstruts1。 struts1のことで判らなくなったらまたお世話になります。
852 名前:794 [2008/07/04(金) 23:08:38 ] 現在、struts1.29でWEBアプリを作っています。 JSPで入力画面を作り、入力して送信ボタンを押すと、入力した 内容がデータベースに反映されるようになっています。そこまでは いいのですが、データベースに反映された内容が文字化けして しまっています。 考えられる対策はすべてしようと思い、以下の対策をしました。 1 filter web.xmlに以下の記述をしました。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd "> <web-app> <filter> <filter-name>EncodeFilter</filter-name> <filter-class>SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> (以下略)
853 名前:794 [2008/07/04(金) 23:10:04 ] 続きです。 2 MYSQL側のエンコーディング設定 MYSQL側のエンコーディング設定を色々といじって、下記のような 状態にしました。 mysql> show variables like "char%"; +--------------------------+---------------------------------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | utf8 | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\\Program Files\\MySQL\\MySQL Server 5.0\\share\\charsets\\ | +--------------------------+---------------------------------------------------------+
854 名前:794 [2008/07/04(金) 23:11:59 ] 同じく続きです mysql> status; -------------- mysql Ver 14.12 Distrib 5.0.27, for Win32 (ia32) Connection id: 1 Current database: input Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.27-community-nt Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 4 hours 59 min 41 sec mysql> show create database input; +----------+----------------------------------------------------------------+ | Database | Create Database | +----------+----------------------------------------------------------------+ | input | CREATE DATABASE `input` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+----------------------------------------------------------------+
855 名前:794 [2008/07/04(金) 23:12:41 ] 長々と申し訳ないです。これがラストです。 mysql> show create table input; +-------+------------------------------- ---------------------------------------- | Table | Create Table +-------+------------------------------- ---------------------------------------- | input | CREATE TABLE `input` ( `id` int(11) NOT NULL auto_increment, `title` text, `movie_url` text, `material_url` text, `explanation` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+------------------------------- 考えられる対策はすべてしても、なお文字化けしています。なお、 「あ」「い」「う」「え」とそれぞれの項目に入力すると以下の ようになります。 | 縺・ | 繧」 | 繧ヲ | 蠕・ | どんなことでも結構ですので、ご教授いただければ幸いです。 どうぞよろしくお願いいたします。 開発環境 OS;WINDOWS VISTA SP1 IDE;ECLIPSE 3.32 DB;MYSQL5.0 JRE;jre1.6.0_06 struts;1.29
856 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:09:09 ] JSPがUTF-8じゃないとか
857 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:31:53 ] 切り分けるためにDBに入れる前にアクションで ログ吐いた方がいい SetEncodingFilterでUTF指定してるなら俺も>>856 に一票
858 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:46:07 ] FORMをGETで送っていて、Tomcatのserver.xmlの設定をしてないとか
859 名前:794 [2008/07/05(土) 04:04:06 ] >>856-858 皆様、レス有難う御座います。 JSPはUTF-8に設定してあります。 <%@page contentType="text/html; charset=utf-8"%> とページの一番上に指定してあります。 >>切り分けるためにDBに入れる前にアクションでログ吐いた方がいい 初心者で申し訳ないのですが、詳しく教えて頂けないでしょうか? 現時点では、フォームの画面で入力し、SUBMITボタンを押すとフォワード で「入力完了」とだけ表示されるJSPに移動する状態です。そして、SUBMITボタンを押した 時点でDBに反映されます。それを、フォームの画面で入力し、SUBMIT ボタンを押すと入力した内容がJSPに表示され、入力した内容を 確認させてからもういちどSUBMITボタンを押すことでDBに反映させる ようにする、ということでしょうか? >>FORMをGETで送っていて、Tomcatのserver.xmlの設定をしてないとか 初心者で申し訳ないのですが、詳しく教えて頂けないでしょうか? FORMにGETとPOSTがあるのは知っていますが、どうやって見分ける (もしくは使い分ける)のかはまだ分からない状態です。今回のWEB アプリは本に載っているのを参考に作ったので、まだソースで理解し きれてない部分があるのも事実です。大変申し訳ないですが、詳しく 教えて頂けないでしょうか?
860 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 04:40:05 ] SET NAMES UTF8 な予感
861 名前:デフォルトの名無しさん [2008/07/05(土) 05:24:36 ] 今回は、レベル低過ぎだな
862 名前:794 [2008/07/05(土) 10:03:40 ] >>860 SET NAMES UTF8 というコマンドは知りませんでした!ありがとうございます! >>861 低レベルで申し訳ないです・・・ orz
863 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:08:58 ] >>859 初心者なら、まずはSystem.out.printlnでFORMから受け取った文字を出してみることだね StrutsのAction上で、ActionFormにセットされたパラメータを出力してみる そこが文字化けしていたら、FliterかTomcatの問題の可能性 そこが文字化けしていなかったら、DB登録時に文字化けしている可能性が高い FORMのGET・POSTを見分けるには、 出力されたHTMLのformタグに、method="POST"みたいなのが書いてあるか チェックするといい。method属性が書いてなければ、デフォルトでGETになる Strutsのhtml:formタグを使っているなら、デフォルトでmethod="POST"になっている筈 使っているのがTomcat5以降で、もしGETを使っていたら server.xmlのConnectorに URIEncoding="UTF-8" を追加してやる必要がある
864 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:24:55 ] だいたいmysql文字化けのほとんどは>>860 だな。 set names するのがイヤならjdbcのurlは jdbc:mysql://ほげほげ&useUnicode=true&characterEncoding=utf8 でよいな
865 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:33:47 ] [mysqld] default-character-set=utf8 skip-character-set-client-handshake これでSET NAMESは要らなくなる 794のstatus見る限り、ここはクリア出来ているように見える
866 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:58:44 ] まぁ、JSPがUTF-8なら大丈夫だと思うけど、 その送信元ページにメタ要らなかったっけ。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> あとは皆の言ってくれた通り、 Actionなどでログ吐いてみて、どこで化けてるかを切り分ければいいんじゃないかね。
867 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 13:03:37 ] あ、あとWin版のMySQL5.0だと、 UTF-8設定はインストール時にがっつりやってしまってくれるので 悩まなくなったかな。 余談だけどStruts2だとEncodingFilterなんか設定しないから 昔の苦労なんかしなくなった感じだよなぁ。。 「ウェーブダッシュが化けます」とかさ… 今もたまに頼まれるんだけど
868 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 13:49:44 ] まぁそれでも文字化けするのがmysqlなんだけどな
869 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 15:11:53 ] 男は黙ってpostgres
870 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 16:49:02 ] ポスグレって、Oracle互換にするんだっけ。
871 名前:794 [2008/07/05(土) 19:57:42 ] おお、みなさん、たくさんのレス有難う御座います!! いろいろ試行錯誤してみますね! また来ます!!!
872 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 01:21:54 ] >>871 おー、頑張れ。 おまいさんの今やってることは皆通ってきた道で、 同じように同じようなところでつまづいて、 でも切り抜けた連中ばかりがここにいる。 まずは自分で稼働できるようになれば、二度と忘れることはないだろう。 似たようなトラブルがあったとしても、切り抜けるヒントにもなる。 動くようになって、それで終わるのでもいいが、動いたら動いたで 「なんで動かなくなったんだろう?」を調べることが大事。
873 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 01:26:17 ] >>872 つーか、mysqlのトラブルは経験値というより、 時間の無駄タイプが多かったからのぅ・・・
874 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 02:44:17 ] というかmysql4.1のときは本当に解決手段なかったからなぁ 4.1.6だったっけ?あのあたりからマルチバイトがまともに動かなくなって 直るまでには1年以上放置 その間にWindowsネイティブ対応したPostgreSQL8にもっていかれたという感が強い
875 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 06:17:49 ] すれ違いな話題を引っ張ってすまん。 前は日本ではmysqlとpostgresのシェアが半々くらい、 海外ではmysqlの方が断然多いと聞いていた。 実際オープンソースプロジェクトで標準DBがmysqlの物が 一番多いようにみえる。postgresも次点くらいに多いけど。 20年ほど前、LinuxとFreeBSDのシェアが日本では半々だけど 海外ではLinuxが圧倒的に多かった。結局LinuxがUNIX互換OSの デファクトになった。DBではpostgresが逆転するかもってこと? だと嬉しいんだけどなあ
876 名前:794 [2008/07/06(日) 10:05:46 ] >>872 本当にありがとうございます!このスレ、いい方ばかりです。 まずは今、まずは今アクションフォームから受け取った文字を出してみる ことを頑張っています。
877 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:02:57 ] 結局Strutsで作るってなると、オープンソースのDB使うこと多いから あながちスレ違いでもなさそうだけどね。 先月どっかのセミナー聴講したときに、ポスグレのおっさんが言ってたけど 未だにMySQLの方がシェア高く、ポスグレは次点だけど、新製品でどんどんシェア伸ばす予定だそうな。 >>873-874 そうだったねぇ…5.0になってようやくマシになった感じ。 まぁ、MySQLのGUIツールの方が優秀に見えるけど マルチバイトを入力するとハングするのはいただけない。
878 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:40:43 ] >>877 > 結局Strutsで作るってなると、オープンソースのDB使うこと多いから え・・・?
879 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:33:06 ] >>877 > 結局Strutsで作るってなると、オープンソースのDB使うこと多い うーん。おれもこの考えには同調できないな。 struts(J2EE)を利用できるという時点で、共用レンサバユーザとか LAMP層顧客は除外されるから、Oracleだったり、DB2だったり という機会が増える。寧ろSIerがOracleパートナーだったりすると尚更だな。 ただ>>877 が言いたかったのは、OSSなstrutsを選択する時点で MySQLやPostgresを使おうとするプロダクトに当たる可能性が増えるが、 既存システムを有償DBで構築してしまうとわざわざそれを変えようと することも少ないと稚拙な経験から思う。
880 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:49:44 ] >>877 >新製品でどんどんシェア伸ばす予定だそうな。 それは予定っつーか願望でしょw キャッシュ割り当ての設定とかSQLの癖とか ダンプ・リストアスクリプトの組み方とか両方覚えるのかったるいから ポスグレにデファクトまで登り詰めて欲しいんだけど
881 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:12:02 ] PostgreSQLってもうOracleの性能、品質ともに超えてるんでしょ?
882 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:15:47 ] >>878 OracleやDB2って、ウチではそんなに使わないから、ってこと。 あとは>>879 の言ってくれた通り、SIerがOracleパートナだとOracle一択になる。 すまんね。
883 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:27:46 ] >>877 >まぁ、MySQLのGUIツールの方が優秀に見えるけど >マルチバイトを入力するとハングするのはいただけない。 あの出来で金取るとかいってんだぜ?失笑だよ バグの為に金払うかっての
884 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:59:01 ] >>881 どんな妄想
885 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 16:41:24 ] MySQLがGPLだから通常の業務で使おうとすると金がかかるというのが面倒かな 昔はpostgreSQLだけのためにLinuxいれてたところおおかったね
886 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:45:53 ] もう夏休みだっけ?
887 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 18:57:42 ] このスレに夏休み取れる奴がいるのか…?
888 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 02:15:21 ] 881と885は・・・
889 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:39:15 ] MySQLがGPLで請負だと金かかるのは常識かと
890 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 11:02:23 ] そなの? GPLなら顧客に対してソースを開示すればいいだけ、 いやなら商用ライセンスにできるししたところで数万円だから 開発全体のバジェットから見たら誤差だと思ってたんだけど、 どうも前者の前提が違うみたいだね。わかるように説明してもらえないか?
891 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 12:43:32 ] やるならその通りだけど、単に手間が面倒ってだけじゃね? 事務仕事とか経理処理とかそういうの。 で、金払いや事務仕事を実際にする人から 「どうせ同じOSSのDBなんだし、どっちでも同じでしょ」 と言われて、簡単な方に流れるというのはある。
892 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:26:26 ] いや、GPLで請負だと「金がかかる」って言ってることから そういうちょっとした手間の話じゃないだろう。 請負ならGPLじゃなくソース渡すこともあるしな。 ASPサービスなら渡さないけど。
893 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:55:59 ] Struts1.2で勉強中なんですが、 どのサンプルを見ても、まずトップ画面でフォームを置いて 入力された値をsubmitタグのactionでstruts-configに飛ばし、 そこでaction-mappingを参照して指定されたpathの通りにアクションクラスを実行、ロジックで内部処理。 返却された「success」等の文字列によってforwardで次のjspページへ飛ばすって感じです。 この場合最初にフォームを利用してactionを呼び出していますが、 フォーム入力無しに、ロジックでの処理やアクションフォームへの値設定を内部で行い、 最後に表示されるjspをいきなり呼び出したい場合はどうすればいいんでしょうか? strutsにはページを開いた時に強制的にアクションを実行するといったhtmlタグはないようなのですが。
894 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 14:41:35 ] 自己解決です。 <logic:foward />すればいいんですね。 ありがとうございました。
895 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 17:33:35 ] まぁ他にもいろいろ手段はあるがな。
896 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 17:41:55 ] アクションに飛ぶと見て勘違いしました。 forwardだとページ遷移するだけでaction-mappingは実行出来ませんね・・。
897 名前:893 mailto:sage [2008/07/08(火) 17:46:50 ] 度々すみません。 <logic:forward>は<global-forward>で指定されたパスへページ遷移するものだと思うんですが、 ttp://tag.main.jp/logicforward.html このページの >Struts-config.xmlの<action>のpath属性を参照し、リクエストを転送している。 という説明は間違いということでしょうか?
898 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 20:06:18 ] >>897 うそだと思うなら 1.そのpathを別のものに変えてみる。 2.logic:forwardを使わずに従来のRequestDispatcher#rforwardをjspで呼び出してみる 3.metaタグやJavaScriptでフォワードしてみる あとはstrutsはソース公開されてるし、Eclipse+jadでデコンパイルしたソースを 眺めてみるもよし、ご自由にどうぞ
899 名前:893 mailto:sage [2008/07/08(火) 20:19:00 ] >>898 実際にJSPとStruts定義ファイルを書き換えて試したところ、 <logic:forward>は<global-forward>で指定したパスに飛んでいるので、 うそ、というのが何を指して嘘なのかは分かりませんが、 「<action>のpath属性を参照する」と書いてある、上記のリファレンスページは誤っているようですね。
900 名前:デフォルトの名無しさん [2008/07/09(水) 03:41:16 ] 解説本やサイトのソースで"${hoge.property}"なんて書式があるけど、これって使うにはなんか設定が必要なのかな? 本を見ながら <bean:struts id="act1" mapping="/action1" /> <html:link action="${pageScope.act1.path}"> <bean:write name="act1" property="path" /> </html:link> とか書いてみたんだが、HTMLソースにはリンク先が「localhost:8080/hogehoge/${pageScope.act1.do 」なんて出てきてる。 ※ちなみにbean:writeで書いてるトコロには、マッピングされたアクション名がちゃんと出てきてる。 これって${pageScope.act1.path}の中身が置き換わってないってコトだよね?
901 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 08:17:17 ] >>893 global-forward要素の意味をちゃんと調べろ。話はそれからだ。 >>900 解説本やサイトのソースで、稼働環境(特にJSPのバージョン)を見てみな。 調査が足りなすぎる。
902 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 09:10:34 ] >>901 知識も無いのに曖昧なレスだけしなくていいよ。
903 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 11:18:36 ] >>900 JSTL , Velocity etc ...
904 名前:900 mailto:sage [2008/07/09(水) 12:03:37 ] >>901-903 ご助言感謝。 StrutsIDE使ってたんだけど、自動生成のweb.xmlがservlet 2.3用になってた。 自分でweb-appの属性書き換えて、jspにtaglibの記述追加したら無事置き換わるようになった。 ・・・これって最初からservlet 2.4用のweb.xmlにすることはできないのかな? 最初に生成されるweb.xmlやamaterasの設定見ると多分出来ると思うんだけどググれないっす。 ヘタレで申し訳ない・・・。
905 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 16:57:18 ] 2.3・・・すげーふるいね 今のバージョンは2.5だというのに
906 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 20:40:40 ] 金融系システムだとオープンソースがそもそも 使えなかったりするから、それよりはましかと。
907 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 21:34:13 ] 金融系システムにはオープンソースが使えない ということにして自社製品を押し込むコンサルまじでイラネ 特にIBMは逝ってよし
908 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:18:36 ] IBMって、WASのHTTPサーバはApacheじゃねーか。
909 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:30:46 ] >>908 そのとおり。 それを"オープンソースはよくないから"とか"保証が無いから"とか 難癖つけて有料で押し込むのがコンサル。
910 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 12:58:26 ] >>908-909 そのくせWACSもしかりだが、IBM製品のソースは ゲティってるわ、1年生バグ修正痕はそこらじゅうにあるわ。 最近ではにIBMサンプル改造品をメンテしたが、 W3Cとは正反対方向のタグ組んでたりとか、もう・・・。
911 名前:900 mailto:sage [2008/07/10(木) 14:59:02 ] >>905 確かTomcat5未満だっけ?>2.3 5&5.5が2.4、6から2.5でよかったんだよね >TomcatのServletのバージョン 引き続き、隙間な時間を見てググってるが見つからず。StrutsIDEって結構メジャーだと思ったんだが・・・。 みんな手でweb.xml書き換えて・・・るわきゃねーよなw
912 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 17:52:06 ] >>911 サーブレット全盛ならまだしも、strutsでWebアプリ組むのに そんなしょっちゅうweb.xmlなんて触らなくないか?
913 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 21:14:34 ] StrutsIDEの最新版でもservlet2.3なの?
914 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 21:16:11 ] facesなら2.4対応なんだけどな。
915 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 21:21:33 ] >>911 EclipseWTP使えば、Tomcat5なら自動的にServlet2.4、6なら2.5になる 今使っているweb.xmlが古かったら、Tomcatの中にあるからコピペしてくればいい 2.4以上ならJSP上でELが普通に使えるようになる
916 名前:900 mailto:sage [2008/07/12(土) 12:42:41 ] >>912-915 お返事感謝。結局>>912 が真実かもしれづ。 >>913 少なくとも、初期設定そのままを動かしてたらYes。
917 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 16:44:08 ] >>916 それはひどい 俺は使ったことないけどユーザー数が極端に少ないとか>StrutsIDE
918 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 18:26:55 ] FW用のプラグインってそういうことよくあるから、自分は基本的に使わないな Strutsの設定ファイルなら、EclipseのXMLエディターのアシスト機能で十分だし
919 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 18:50:20 ] >>918 大規模ならstruts-config.xmlを小分けするし、 ましてやweb.xmlを編集することなんて皆無。 小規模なら、ツール使うよりテキストエディタでコピペして 必要か書だけ書き変えるよなあ。
920 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 01:18:14 ] ひさびさ趣味アプリを1からstruts1.3で作ったら文字化けに 悩まされた。@page meta filter すべてUTF-8に統一しているのに、だ。 結果はTomcat5なのにGETでサブミットしていることだった。 たまにはこういうトラボーも経験だな。
921 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 06:42:39 ] Struts1.2+Eclipse3.2+Tomcat5でWebアプリ開発のトレーニングをしています。 struts-blankを元にモゾモゾと弄っていますが、どうにも404エラーが発生してしまい困っています。 エラーには「サーブレットActionが利用できません」とのメッセージだったので、これを元に検索したところ、 どうやらStruts-congfig.xmlの構文の問題などでActionServletの初期化に失敗しているとのこと。 ここまでは見切ったんですが、自分には具体的な問題箇所が見つからないのでご指導ください。 **Struts-config.xml** --action-mapping-- <action path="/Login" name="LoginPass" type="trainAction.LoginPassAction"> <forward name="succsess" path="/index.jsp" /> <forward name="id_not_match" path="/user-error.jsp" /> <forward name="password_not_match" path="/pass-error.jsp" /> <forward name="DB_access_error" path"/db-error.jsp /> </action> --from-beans-- <form-bean name="LoginPass" type="trainForm.LoginPassForm" /> **web.xml** <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
922 名前:つづき mailto:sage [2008/07/14(月) 06:49:46 ] 一応これも **server.xml** <Context path="/Struts-train" reloadable="true" docBase="C:¥workspace¥Struts-train" workDir="C:¥workspace¥Struts-train¥work"> <Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/> </Context> index.jspとLogin.jspとLoginPassActionとLoginPassFormを作成し、とりあえずここまででサーブレットが動作するか確認しようと 一時的にsuccessのforward先をindexに変え、動かしてsuccessを返す動作を入力しています。 しかし入力が終わったところで404… なにが原因なのでしょうか?
923 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:54:10 ] server.xmlのdocBase、workDirのパス指定が\1個になってるんだが…。 そもそも全角になってるのが気になる。
924 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 19:37:35 ] >>921 <forward name="succsess" path="/index.jsp" /> ↓ <forward name="success" path="/index.jsp" />
925 名前:924 mailto:sage [2008/07/14(月) 19:44:43 ] Actionに適当にブレークポイント打ってデバッグしてみ? どこでコケてるか分かるぜ。
926 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 23:39:19 ] >>908 IBMはtomcatも使ってるけど。
927 名前:921 mailto:sage [2008/07/15(火) 06:22:03 ] アドバイスありがとうございます。 最終的な問題はsuccessのスペルミスとjspにカスタムタグを使っていないことでした。 なんとか404は脱したのですが、今度はカスタムタグを含めたjspが500エラーを吐くようになってしまいました。 getModuleConfigを読み込みにいったところで"Module 'null' not found"とヌルポを投げている模様。 複数のjspでhtml:linkとhtml:formでそれぞれエラーなので設定がおかしいのだと思うのですが… 作成したソース類:ttp://ccfa.info/cgi-bin/up/src/up21624.txt どこがまずいんでしょうか? それと、jspからアクションにリクエストする際の書き方がaction=/LoginだったりLoginだったりLogin.doだったりページによってマチマチなんですが、 どれも同じなのでしょうか?
928 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:16:51 ] なんか基礎から全然出来てないと思う。
929 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 18:54:25 ] なんとなく近頃教えてgooっぽくなってるかも。 Strutsへリクエスト投げる場合は全て****.doですよっと。 つか、libの中身空っぽなわけないよな? Eclipseのビルドパスに入ってるんだよな。
930 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:08:34 ] >>***.do ですよねー。/Loginとか書いてあるのはなんだったんだろう… ライブラリはWEB-INF直下に.tlbを入れてありますが…
931 名前:900 mailto:sage [2008/07/15(火) 23:29:54 ] (たぶん)原因判明。 そもそも、StrutsIDEがStruts1.2までにしか対応していないのが原因らしい。 だめだこりゃ。 struts-config.xmlエディタとしてだけでも使えないかと思ったが、どうも今ひとつ動きが怪しい。 小分けにしてテキストエディタで書き換えていった方がよさそうだね。 便利だったんだけどあきらめるか>StrutsIDE Struts 1.3に対応してるのはMyEclipseだけっぽいけど、使ってる人いる?
932 名前:876 [2008/07/15(火) 23:51:23 ] 以前、文字化けについて教えて頂いた者です。 その後、色々と試してみた結果、OS(winVISTA)のエンコーディングの デフォルトがshift-JISのため、UTF-8でDB登録が出来ていなかったようです。 set names sjisとやったらちゃんと表示されました。 まさかOS側の方に原因があるとは・・・。 いずれにせよ、今回は、このスレの方に大変お世話になりました。ありがとう ございます。現在、諸事情によりstrutsを一人で独学中なので、またお世話に なることがあるかと思います。 そのときは、またレスを頂ければ幸いです。
933 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:25:53 ] >>931 Strutsは1.2系がいわゆるこなれてる安定版で今でも一番使われてるよ 1.3では便利な機能がたくさんあるけど ほんの一部消えた機能があったりする まず問題にならないけど だから1.2対応ってのはそんなに間違ってない web.xmlとかの話とは別だから
934 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:27:06 ] >>932 set namesはやめといたほうがいいぞ
935 名前:876 [2008/07/16(水) 06:15:59 ] >>934 え、そうなんですか?ほかに対応策とかあるでしょうか?jdbcのurlを jdbc:mysql://ほげほげ&useUnicode=true&characterEncoding=sjis にするとかでしょうか?
936 名前:900 mailto:sage [2008/07/16(水) 11:08:19 ] >>933 なるほど、ある程度は納得。非常に便利なんだけどね>StrutsIDE 特に、必要なjarを勝手に引っ張ってきてくれたりするところなんか。 まぁ、もともと手で書くものだと思うことにしよう>struts-config.xml ・・・話は変わるけど、Struts1.2以降で、リファレンス的に使えるお勧めな参考書はあるかな? 「プログラミング Jakatra Struts」はいい本だけど、いかんせん内容が古い。 「 Jakarta Strutsクックブック」を買い足すべきか、他の本も見てみるべきかというところで少し迷ってる。 JSTL以外にも役に立ちそうな情報はあるだろうか? >>101-107
937 名前:デフォルトの名無しさん [2008/07/19(土) 17:59:59 ] 初心者入門スレだなw