△△もっとStrutsの良さを教えてくださいSession5

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Apache Strutsフレームワークについて語るスレ

前スレ
△△まだまだStrutsの良さを教えてくださいSession4
http://pc8.2ch.net/test/read.cgi/tech/1109465052/
2デフォルトの名無しさん:2006/12/30(土) 18:05:53
過去スレ
△△さらにStrutsの良さを教えて下さいSession3
http://pc5.2ch.net/test/read.cgi/tech/1088870989/
△△もまいら漏れにStrutsの良さを教えてください
http://pc5.2ch.net/test/read.cgi/tech/1048030962/
△△つづいて漏れにStrutsの良さを教えてくだっさい
http://pc5.2ch.net/test/read.cgi/tech/1068207164/

エクリプス+Struts開発
http://pc5.2ch.net/test/read.cgi/tech/1086356759/l50

The Apache Struts Web Application Framework
http://struts.apache.org/

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

Strutsメモ
http://muimi.com/j/jakarta/struts/
3デフォルトの名無しさん:2006/12/30(土) 18:40:49
まだstrutsとか使ってるやついるの?
4デフォルトの名無しさん:2006/12/30(土) 20:52:29
めっさいる
5デフォルトの名無しさん:2006/12/31(日) 00:08:31
かわいそす
6デフォルトの名無しさん:2006/12/31(日) 02:12:43
>>3
開発者の人に、Strutsの次に来るフレームワークで事例ありますかと聞いても
「次はリッチクライアントの時代だから純粋WebのフレームワークはもうStrutsで十分」
と言う。じゃあリッチクライアントで目星をつけてる技術/製品はと聞いたら
「今はまだ乱立状態だから絞れない」と言う。
結局長い目で保守を考えないといけない現場だと当分Strutsで行くしかないべ
7デフォルトの名無しさん:2006/12/31(日) 09:31:54
>>6
っていうか、その開発者は自分でフレームワークの評価や、生産性について
考えられないだけ
Strutsマンセーっていってても別の流れが来たらそっちに乗っかるんだから
8デフォルトの名無しさん:2006/12/31(日) 10:37:23
教育コストや学習コストを考えると
世の流れに乗るのもまた選択の理由になり得る。
9デフォルトの名無しさん:2006/12/31(日) 10:45:09
世の中の流れに乗る=教育コスト、学習コストの削減には一概にはならん
そういう短絡的発想が遺憾といっているw
10デフォルトの名無しさん:2006/12/31(日) 14:53:56
>>9
使っている人が多いと情報を入手しやすくなるから
教育コスト、学習コストの削減にはなるんじゃない?
11デフォルトの名無しさん:2006/12/31(日) 15:11:39
基礎学習においての学習コストが、新しいフレームワークで低くなっても
ワークアラウンドが必要な場面の情報収集で割を食うから普及度は大切な指標だよ
12デフォルトの名無しさん:2006/12/31(日) 16:37:48
そもそも、開発者全員がフレームワークについて情報を得られなきゃいけないって発想が間違っている。
Strutsを使うにしても、Strutsの情報が溢れていなければ使えないような使い方をしている時点で
学習コストがかかりすぎている使い方をしているってこと。
大体、Strutsにしたってこんだけ情報があったってマトモに使えるやついねーじゃんw
13デフォルトの名無しさん:2006/12/31(日) 16:47:37
>>12で逝ってるフレームワークとは、Strutsのような汎用フレームワークの事
14デフォルトの名無しさん:2006/12/31(日) 18:15:54
フレームワークなんてデザパタと同じだ
乱立してるより型落ちでも同じ使い方の奴のが保守コストが低い
Struts以外のフレームワークをよしとする風潮がないのは当たり前
15デフォルトの名無しさん:2006/12/31(日) 18:22:26
右へ習え的な考えしかしない香具師がろくでもないシステムを作る現実
16デフォルトの名無しさん:2006/12/31(日) 18:24:03
いかにも社会に出てない奴の発想だな・・・
17デフォルトの名無しさん:2006/12/31(日) 18:26:41
いかにも残業したり休日出勤したりするのがこの世界の常識って考えのヤツの発想だなw
18デフォルトの名無しさん:2006/12/31(日) 18:29:06
真逆すぎて呆れるばかり
19デフォルトの名無しさん:2006/12/31(日) 18:33:27
現存のStrutsプロジェクトをみてあきれるばかりw
20デフォルトの名無しさん:2006/12/31(日) 18:34:51
>>19Strutsを使ったプロジェクトねw
21デフォルトの名無しさん:2006/12/31(日) 18:35:42
オウム返しにしても寒すぎる、派遣の妄想ってとこか。くだらん
22デフォルトの名無しさん:2006/12/31(日) 18:40:04
まぁ、次のフレームワークが広まるまでStruts使ってなさいw
では良いお年を
23デフォルトの名無しさん:2006/12/31(日) 20:54:14
みなさんが、Strutsプロジェクトに携わったのは何件ですか?
私は、前に1回だけ...
正直な話、初めて見た時、何故これで動くのか訳がわからなかった
(この当時、本でもネット上でもあまり詳しい説明されてるやつがなかったし、っていうか見つからなかったし)
「なんで普通にServletにしねぇんだよ」と心のなかで思っていた。

この仕事でよい年を迎えることができると思っている人はあまりいないような気がしますが
「健康である年を」
24デフォルトの名無しさん:2006/12/31(日) 21:06:02
なんで?StrutsってただのMVC2フレームワークじゃん
25デフォルトの名無しさん: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デフォルトの名無しさん:2007/01/01(月) 09:48:26
多いねぇ

それにStrutsに限らずWebページベースのサーバサイドシステムだと、大前提としてコアJavaだけでなく、
HTMLやCSS、Java拡張技術として、Servlet、JSP、Tablib、等の技術をまんべんなく知ってないといけない。
更にその上にStruts等の知識が必要になる。
Strutsを採用している時点で物凄い教育コストがかかるってこと。
実装工程で、最低Javaは書けるって言う人間がスグに投入できないのは非常にまずい。
短期間作業に関わる技術者のスキルを当てにはできないし、仮にスキルがあったとして、その人がいなくなったら
保守できないようなつくり方たされたらかなわんし。
それに、Javaは書けるってレベルの技術者なら単価も安いしね。
28デフォルトの名無しさん:2007/01/03(水) 02:32:33
>>26
scriptletからtaglibではえらい進歩じゃないか?
いや、目標が低すぎるか。
とりあえずscriptletなんて一切使うことを許容するべきじゃないね。
俺が入った時点でゴリゴリ書きまくっていて後始末が大変だった。

>>27
こういうのを把握しているのはFWとかアーキテクチャを
抑えている人間だけでえーんちゃう?

業務実装者は手順どおりに業務ロジックだけを
こりこり書けばいいようにすればいいというか、
あいつらにそんなもの意識させちゃ駄目だ。
29デフォルトの名無しさん:2007/01/03(水) 02:55:54
>>28
>こういうのを把握して・・・・
「・・・抑えている人間」って言うと、フレームワークを実装するプログラマとか
も入るから、ホントウに意識しなきゃいけない人間はアーキテクトだろうな。
30デフォルトの名無しさん:2007/01/03(水) 15:01:05
>>26
scriptletなんて使う状況になるのは設計が破綻している証拠だな。
アホな連中に好き放題使われて地獄を見たことがないのかい?
まぁこれは上でコントロールする人間がいないのが悪いんだけど。

画面は渡されたbeanを展開するとか
条件(画面で判断した方が良いレベル)で
表示をちょっと切り替えるとかその程度だけにするべき。

それでまかなえないようなアプリなら
それはもうStrutsでやるべきじゃない。
もうリッチクライアントを考えるべき、
と言いたいところだがなんか良い選択肢無いのかね・・・
31デフォルトの名無しさん: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デフォルトの名無しさん:2007/01/04(木) 00:31:19
画面の部品化
34res:2007/01/04(木) 11:32:44
Strutsって便利??
ASPのほうがわかりやすくて好き
35デフォルトの名無しさん:2007/01/04(木) 12:52:36
ASP知らないが、strutsは便利ではないw。
学習コストに見合わない生産性の低さに泣ける。
eclipse用のstruts plugin等を使えば、多少は、ましになるけれど。
今から新規の案件で使うのは、おすすめしない。
36デフォルトの名無しさん:2007/01/04(木) 21:44:07
ASP.NETが最強だな
37デフォルトの名無しさん:2007/01/04(木) 21:48:02
ASPはJSPとくれべるモンなんじゃね?
38デフォルトの名無しさん:2007/01/04(木) 21:52:45
>>35
ではナニがお勧めですか?
39デフォルトの名無しさん:2007/01/04(木) 22:07:35
ポストstrutsは何か?
ってのを言われて久しいけど、未だに決定的なのがないから
現場レベルでは、strutsしか使えない。
40デフォルトの名無しさん:2007/01/04(木) 22:17:42
多分Javaが廃れるまではStrutsを使い続けると思う
Railsあたりの次世代FWが実績つけてきたところで乗り換える予定
41デフォルトの名無しさん:2007/01/04(木) 22:41:27
あわれ・・・・
42デフォルトの名無しさん:2007/01/04(木) 23:12:53
ASP.NETに比べるとStrutsってめちゃめちゃ難しい気がするんだけど、今時のWEBシステムってこんなもんなの?
PHP5とかってのも難しい?
43デフォルトの名無しさん:2007/01/04(木) 23:25:47
ASP.NETとStrutsって比べる対象になるのかってのが問題なんだが・・・
44デフォルトの名無しさん:2007/01/04(木) 23:28:03
でも一度ASP.NETの開発を経験しちゃったら
もうJavaには戻りたくなくなってしまうし。
45デフォルトの名無しさん:2007/01/04(木) 23:30:07
ふーん
46デフォルトの名無しさん:2007/01/05(金) 00:39:27
ASP.NETの真似をしようとしたJSFが失敗してしまったからな
でもWin統一環境でないとASP.NETは採用し難いというのもあって、結局現在はJavaの開発がまだ多い
今年は減りそうな気がするけど
47デフォルトの名無しさん:2007/01/05(金) 00:45:01
Javaが減ってどの言語が増えるの?
48デフォルトの名無しさん:2007/01/05(金) 00:51:51
普通にRubyじゃね?
自分の周りでも少しずつ開発事例を見かけるようになってきたし、
最近は本屋に行っても、どこもコンピュータコーナーはRuby本ばかりだし
個人的には、別に言語に拘りはないからどうでもいいけど
49デフォルトの名無しさん:2007/01/05(金) 01:51:35
Rubyちらっと触っただけなんでよく知らないんですが、
性能面とかで大規模な案件に耐えられる代物なんですか?
どうしてもしょせんスクリプト言語ってイメージが取れません・・・
偏見ですかね???

個人的にはOOで設計した方がいいぐらいの大きさのプログラムなら
もう慣れているJavaで書いた方が手っ取り早いし、
本当にささっと作るだけならPerlやるかなーって感じです。
50デフォルトの名無しさん:2007/01/05(金) 01:52:10
Javaが出てきた時はC++プログラマはミンナそういってたな・・・・
51デフォルトの名無しさん:2007/01/05(金) 02:11:53
サーバーサイドのフレームワークじゃなくて、そろそろWebブラウザの側が
もう少しリッチに進化してほしい。DBのデータを扱うことを想定したTABLEタグとか
DIとかTDDとかで生産性向上するよりそっちの方が効果があるんじゃなかろーうか
52デフォルトの名無しさん:2007/01/05(金) 07:36:28
>>51
ブラウザはWEBアプリ専用のソフトウェアじゃねえんだよ!!
53デフォルトの名無しさん:2007/01/05(金) 08:06:32
>>49
今のところRubyの方が遅いのは事実だが、
いいハードを買うかクラスタを増やすかすれば必要な性能は達成できる。
Rubyは生産性が高い(例のRailsの「Javaの10倍」ね)ので、開発コストを減らした分の金で
元は十分以上に取れる。というかハードなんて人件費に比べれば安いし。

ってのがRuby屋の言い分だと聞いた。
立場は逆だが、>>50の言うような「Java登場時にJavaプログラマが言ってたこと」に似てるな。
54デフォルトの名無しさん:2007/01/05(金) 10:15:01
>>51
つAjax
DBから取得したデータをJSON変換して、後はJavaScriptに扱わせる。
SwingのTableModelみたいなことは、今でもやろうと思えばできる。
Swingと同じで、Ajax主体でGUIを扱うFWがまだ無いけど
55デフォルトの名無しさん:2007/01/05(金) 12:15:04
>>53
Javaちらっと触っただけなんでよく知らないんですが、
性能面とかで大規模な案件に耐えられる代物なんですか?
どうしてもしょせんインタープリタ言語ってイメージが取れません・・・
偏見ですかね???

個人的にはOOで設計した方がいいぐらいの大きさのプログラムなら
もう慣れているC++で書いた方が手っ取り早いし、
本当にささっと作るだけならVBやるかなーって感じです。

今のところJavaの方が遅いのは事実だが、
いいハードを買うかクラスタを増やすかすれば必要な性能は達成できる。
Javaは生産性が高いので、開発コストを減らした分の金で
元は十分以上に取れる。というかハードなんて人件費に比べれば安いし。


・・・なるほど、たしかに似てるなw
56デフォルトの名無しさん:2007/01/05(金) 21:51:33
>>55
Amazon.comってWeblogicだそ?
57デフォルトの名無しさん:2007/01/05(金) 21:52:49
あ、なんでもない忘れてくれw
58デフォルトの名無しさん:2007/01/05(金) 21:55:01
>>56
そうなのか?
perlって記事もあるけど。

http://neta.ywcafe.net/000492.html
59デフォルトの名無しさん:2007/01/05(金) 21:58:56
相当前に聞いた話だからもうperlなのかも?
60デフォルトの名無しさん:2007/01/05(金) 22:56:58
>>54
Ajaxってどうなん?
所詮JavaScriptじゃろ?
ていうかなんでJavaAppletがほったらかしなんだか判らんw
61デフォルトの名無しさん:2007/01/05(金) 23:20:28
さっさとJSFに乗り換えた方が幸せになれると思うんだが。
再利用性などというマヤカシに捕らわれてるのが移りが遅いな。
実際に再利用できるものは汎用Util化されてるだろうしFWはなんでもいいはずなのに。
62デフォルトの名無しさん:2007/01/05(金) 23:28:41
strutsで再利用と言えば、
Actionを連鎖させて途中のアクションをフィルタ的に使ったりすることもあるけど
実際は、1画面1アクションで作られてることが多いみたいだね。
明確にM-V-CとするよりもM-VCのほうが、効率いい場合もあるし。
63デフォルトの名無しさん:2007/01/05(金) 23:31:16
>>62
>1画面1アクション
そういう使いかたした事ない
64デフォルトの名無しさん:2007/01/05(金) 23:36:42
>>62
多いっていうか、そういう風にしか使い道が思いつかないんだろ
65デフォルトの名無しさん:2007/01/05(金) 23:36:58
うちのプロジェクトも原則は1画面1アクションだよ
Action連鎖すると修正時の影響範囲がわかりにくくね?
しょせん、Actionなんてコントローラだし対して再利用性を求めてもしょうがないような
66デフォルトの名無しさん:2007/01/05(金) 23:42:27
Actionでやるべき事と、業務ロジックを分離した時、Actionでやることはほとんど共通化できるんだけどね
67デフォルトの名無しさん:2007/01/05(金) 23:47:03
っていうか、業務ロジックを呼び出すActionの振る舞いなんてミンナ同じじゃん
68デフォルトの名無しさん:2007/01/05(金) 23:51:43
普段はどちらかというと、1画面につき2Actionかな?
ただ、入力→確認→完了とか、複数ページにわたる入力みたいな
いわゆる「画面フロー」の間は画面間で1Actionだな。

JSFだと、「1Action」が「1アクションメソッド」に変わる感じ?
69デフォルトの名無しさん:2007/01/05(金) 23:54:46
1画面1Actionにすると表示前準備とリクエスト処理が混在してわかりにくい。
あちこちの画面から呼ばれるような処理だと、さらにゴチャゴチャ。
70デフォルトの名無しさん:2007/01/06(土) 00:15:25
ActionってCommandパターンだからと思って、最近は1URL1Actionにしている
以前は1画面毎にDispatchAction使ってたが、あまり意味ないし使いにくいのでやめた
ロジックはサービス層のクラスにまとめて共通化してるので、
Action自体はパラメータの受け渡しぐらいしかやらないし
画面単位ではまとめないけど、初期化処理とか検索処理とか編集処理とか
似たような処理をするActionを継承でグループ化したりはしている
71デフォルトの名無しさん:2007/01/06(土) 18:10:10
Action連鎖させるなんて絶対にやめるべき。
値の持ち回りはSessionにぶち込んででしょ?
大量にバグが出るし、修正が発生した時地獄を見るよ。
コミットするような処理した後
一覧か業務フローのトップの画面を表示するActionにリダイクレトする、
とかならやるけど、これはもう処理の流れが切れているから。

OO中途半端にやってる人(俺含めて)を見ていつも思うんだけど
再利用って言葉の一人歩きがひどすぎないか?
72デフォルトの名無しさん:2007/01/06(土) 18:20:35
sessionじゃなくてrequestにぶち込むだろ普通。
sessionの使用禁止のプロジェクトもあるし。

どうでもいいけど、sessionの使用禁止ってのは無しにしてほしい。
ロードバランサ入れたときに別サーバに振り分けられるからって言うけど
ロードバランサにsession維持機能あるんだから有効にすりゃいいだけじゃん。
73デフォルトの名無しさん:2007/01/06(土) 18:23:42
NECダイレクトのサイトは、コンテナに頼らず自前でセッション管理してるっぽい?
URLに入ってるセッションIDらしき文字列がちょっと見慣れないんだが。
そういう方法もありかね。
74デフォルトの名無しさん:2007/01/06(土) 18:25:24
対話の質によるけどな。
フルGCの発生原因は中途半端な寿命のオブジェクトが在ることだし。
75デフォルトの名無しさん:2007/01/06(土) 18:27:27
>>73
URLリライティングだろ、Tomcatでも使えたはず
76デフォルトの名無しさん:2007/01/06(土) 18:46:34
Action連鎖はわけわからなくなるな。。
validationとか絡んだら無限ループなる。
77デフォルトの名無しさん:2007/01/06(土) 20:24:05
>>76
atamawaruikaradayo(pu
78デフォルトの名無しさん:2007/01/08(月) 07:59:12
>Action連鎖
大昔から否定されてきたのをいまだ言ってるやつがいるのか・・
少しはググってみたら、どうだ?
79デフォルトの名無しさん: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デフォルトの名無しさん:2007/01/10(水) 20:23:21
>>80
そういう問題ではないな
8280:2007/01/10(水) 20:30:46
>>81

そやな。。俺も自分でおもた
83デフォルトの名無しさん:2007/01/10(水) 20:51:58
forwardによる画面遷移、かつ同一ActionFormを利用する場面では
Actionの連鎖を避けるべきだが、
リダイレクトによる画面遷移がOKな場面で、
かつ両Actionクラスで同一のActionFormを使わないような場所で、
画面表示前にビジネスロジックの実行が必要な場合は
Actionの連鎖を使っても良いと思うよ。

人が否定したからと言って鵜呑みにする奴もアレだし。
Actionの連鎖がどういう動きをするのかをちゃんと理解して
使い分ければいいんじゃないかな。
84デフォルトの名無しさん:2007/01/10(水) 21:48:24
独りよがりでやる分にはいいけど、
他人との合同開発や仕事でそんなもの出すなよ?
85デフォルトの名無しさん:2007/01/10(水) 21:57:23
厨乙。
86デフォルトの名無しさん:2007/01/11(木) 00:54:45
俺は、登録してから、初回の表示と同じようなことする場合に、
初回表示用のアクションに連鎖させてる。

登録アクションには登録する処理しか書いておらず、
登録後に表示されるページの情報を作る処理は、連鎖先のアクションで作っている。
87デフォルトの名無しさん:2007/01/11(木) 01:04:20
>>86
アリだと思うよ。
88デフォルトの名無しさん:2007/01/11(木) 01:15:19
何でもそうだけど、頭使って適切に使いこなすより、一律に同じ方法で統一しちゃう方が簡単だもんなぁ。
89デフォルトの名無しさん:2007/01/12(金) 00:08:26
馬鹿の水準に合わせて開発すると、時間と体力ばかりくっていいこと無い
90デフォルトの名無しさん:2007/01/13(土) 12:26:10
すいません初心者で恐縮ですが
Strutsの初心者向けの学習本で良いのありますか?
91デフォルトの名無しさん:2007/01/13(土) 16:10:56
なんか最近、自作の俺様専用フレームワークが最強のような気がしてきた。
92デフォルトの名無しさん:2007/01/13(土) 16:33:44
>>91
気のせい。もしくは、限定された環境でのみ最強。例えば開発者があなただけとか。
93デフォルトの名無しさん:2007/01/13(土) 16:34:12
>>91
それは皆が通ってきた道だな
94デフォルトの名無しさん:2007/01/14(日) 00:15:52
バリデータとコンバータが全てのFWで共通化されたら俺は平気で移る。
95デフォルトの名無しさん:2007/01/14(日) 00:17:56
commons-validatorの事じゃなくて?
96デフォルトの名無しさん:2007/01/14(日) 00:20:40
strutsのバリデータって他フレームワークに簡単に持って行けないもん?
リクエストパラメタをBeanUtilsとかでBeanにセットしてvalidateってできないのかな。
97デフォルトの名無しさん:2007/01/14(日) 00:27:37
commons-varidator
commons-beanutils

あとRequestUtilsクラスとかパクりゃいんじゃねーの?
98デフォルトの名無しさん:2007/01/14(日) 00:36:32
Webフレームワークを使う理由はバインディングしかないからね。
テンプレート機能だとか画面遷移だとかはフレームワーク作者のオナニーに付き合ってるだけ
99デフォルトの名無しさん:2007/01/14(日) 00:38:47
便利だけどね
100デフォルトの名無しさん:2007/01/14(日) 00:54:24
JavaのWebフレームワークを一から作るくらいならStrutsつかっときゃいーと思うがの
Strutsを使いやすいように拡張した方がな
101デフォルトの名無しさん:2007/01/14(日) 01:45:43
オライリーのJakarta Strutsクックブック ってどうですか?
102デフォルトの名無しさん:2007/01/14(日) 01:49:45
Strusの本読んだ事ね
103デフォルトの名無しさん:2007/01/14(日) 01:57:32
二日ほど他人のソースとテックスコアの記事読んで適当に実践に使ったから本は読んでない。
104デフォルトの名無しさん:2007/01/14(日) 02:08:24
Ja-Jakarta Projectのページ
ttp://www.jajakarta.org/struts/
105デフォルトの名無しさん:2007/01/14(日) 10:00:49
>>101
あまり読んでないけど、JSTL関連の章は役に立った。
おかげでlogicタグとbeanタグからはおさらばして、Struts上でJSTLとELをフルに利用できるようになった
106デフォルトの名無しさん:2007/01/16(火) 14:27:59
strutsって重くないですか?
107デフォルトの名無しさん:2007/01/16(火) 14:42:45
>>105
レスありがとうございます。オライリーのサイトで目次を見ると、自分にはいろいろ
参考になることがありそうなので、買って読んでみます。
108デフォルトの名無しさん:2007/01/16(火) 21:41:15
>>106

使わないよりは重いな
109デフォルトの名無しさん:2007/02/22(木) 20:15:47
今回初めて使ったけどこれひどいね
Strutsタグのエラーとかstruts-config.xmlの記述間違いの際のエラーとか
のメッセージが不親切すぎてデバッグできやしない
110デフォルトの名無しさん:2007/02/22(木) 23:03:37
プ
111デフォルトの名無しさん:2007/02/22(木) 23:24:07
>>109
WTPのJSP・XMLエディター使うといいよ
112デフォルトの名無しさん:2007/03/05(月) 00:12:36
>>109
まぁ確かに不親切だとは思うけどね。
IDEのサポートちゃんと受けてる?

転職したら秀丸でソース編集とかしている俺から見れば・・・
113デフォルトの名無しさん:2007/03/05(月) 00:55:45
EXCELファイルで定義してstruts-config.xml、validation.xml、フォームBeanを自動生成してます。
114デフォルトの名無しさん:2007/03/08(木) 23:59:17
>>113
画面の仕様書から
バリデーションとフォームの生成まではやった。
ただしバリデーション定義はS2Strutsのアノテーションによる方式。
あれ結構自動生成と相性がいいと思う。

struts-configのExcelからの生成ってどうですかね?
いまいちもとのExcelシートのイメージができないです。
115デフォルトの名無しさん:2007/03/09(金) 01:02:39
1ワークブック=1モジュール
1シート=1Form
    =1Action
    =1リソースファイル(忘れてた)
フォームの定義はValidation定義も併用
フォームBeanも自動生成
ネスとしたBeanのValidationも対応
global-exception等は別に1シート
116デフォルトの名無しさん:2007/03/09(金) 01:03:51
要するに1ワークブック=1struts-config.xml
117デフォルトの名無しさん:2007/03/13(火) 01:15:23
>>116
そのExcelファイルくれ。
118デフォルトの名無しさん:2007/03/13(火) 02:50:48
>>117
残念ながら、Excelだけではだめなのだ
自動生成ツールが必要なのだ
119デフォルトの名無しさん:2007/03/14(水) 19:20:37
struts 2.x が正式リリースになっているな。(2/27)

だけどこのスレではぜんぜん話題になってないな。
120デフォルトの名無しさん:2007/03/14(水) 19:29:22
>>119
Strutsって名前だけで、中身はStrutsともApacheとも何の関係もないからな。
121デフォルトの名無しさん:2007/03/14(水) 19:58:47
たしかに 2.x は WebWork と統合、
Shale もあるし、
ひさしぶりにやる側としては、もうわけわかめです。
122デフォルトの名無しさん:2007/03/18(日) 12:38:45
この間終ったプロジェクトじゃまだstruts1.1だったしなぁ。
またstrutsやるとしても1.x系だろうしな。2.xは手がだせんかも。
123デフォルトの名無しさん:2007/03/18(日) 12:50:54
2.xを使ってる話なんて聞いたことがない。
2.xは元々Strutsではないから、
バージョンアップというよりまったく別フレームワークへの乗り換えになる。

1.xを使っているのなら、1.3.5はなかなか有用。
モックオブジェクトが用意されたテストケースがあったり
RequestProcessorのカスタマイズが柔軟だったり。
124デフォルトの名無しさん:2007/03/18(日) 13:02:09
じゃあなんでsturtsなんて名前つけたんだ?

ぶっちゃけ、2.xがまったく別物ってんなら余計混乱して
そのまま「strutsオワタ」ってなりそうな気配がプンプンしてるんだが…

というか、struts projectの人間は2.xが本来やりたい事だったんだ!
って言ってる様にも見えなくもないな…どのみち衰退の道か
125デフォルトの名無しさん:2007/03/18(日) 15:08:48
strutsどころかapacheでさえないプロジェクトから移管されたものだからなぁ。2は。
126デフォルトの名無しさん:2007/03/18(日) 16:08:32
結局フレームワーク使うとこういうことになるんだよ。
それで終わったフレームワークで作られたシステムを
新人にメンテさせる鬼先輩になるんだ、おまえらは。
127デフォルトの名無しさん:2007/03/18(日) 16:37:37
>>126はバカだなぁ
128デフォルトの名無しさん:2007/03/18(日) 20:05:34
>>126
独自仕様てんこ盛りの自社製FWのメンテよりはいいだろう?
129デフォルトの名無しさん:2007/03/18(日) 21:39:10
>>128
>>126は自社製FWとかではなく、常に1から作るンだろ?
そういうほうがわかりやすいと思うヤツが多い事は事実
130デフォルトの名無しさん:2007/03/18(日) 22:10:40
>>129
そういうのはフレームワークが古くなるどころか、
作った奴がいなくなるだけで混乱に陥る。
古かろうが、Strutsのように普及したフレームワークを使う方が
ノウハウを持った奴がどこかにいるだけまだマシ。
131デフォルトの名無しさん:2007/03/18(日) 23:39:40
Struts1.X系でお茶を濁しつつ、JavaEE5サーバが出回ったら
JSF1.2にメインの開発は移行すればいいと思う。
GlassFishもJBossもGeronimoもベータ版が出たし、そろそろ動かせるよ
132デフォルトの名無しさん:2007/03/19(月) 00:01:21
Glassfishは正式リリースじゃないかw
JBossはもうReleaseCandidate。

Tomcat6はStableリリースだから、もうJSF1.2の環境はOKだ。
でも実際はEclipseWTPやNetBeansがTomcat6対応しないと使いにくいな。
133デフォルトの名無しさん:2007/03/19(月) 00:06:55
>>129
それわかりやすいかぁ?
作った人間いなくなったら恐ろしいことになるよ。
どうせドキュメントも残さないで消えていくんだろうし。
134デフォルトの名無しさん:2007/03/19(月) 00:19:40
>>132
GlassFishは現在V2がリリース間近
V1はJavaEE5SDKとして出すためのものだったが、
今回はフルスペックのアプリサーバとして出す
NetBeans5.5.1でGlassFishV2に対応してる。
EclipseWTP用のPluginもGlassFish側で用意してるけど、WTPがまだJavaEE5対応してないな
135デフォルトの名無しさん:2007/03/20(火) 01:18:21
JavaEE5なんていらねーよ
136デフォルトの名無しさん:2007/03/29(木) 20:08:06
struts-confg.xmlの内容をエクセルに記録して
XML出力とかいうツールどっかにおちてない?
エクセルは設計書にできたらなおOK。
137デフォルトの名無しさん:2007/03/29(木) 22:42:01
>>136
せんせーすとらつこんふぃぐがえっくすえむえるなんですがー
138デフォルトの名無しさん:2007/03/29(木) 23:27:01
>>137
Excelで画面遷移とか定義して、そっからstruts-config.xml出力してくれるマクロとかツールが欲しいって意味なんじゃないの?
139デフォルトの名無しさん: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デフォルトの名無しさん:2007/03/30(金) 14:46:53
>>140
ActionとActionServletのおかげでパフォーマンスが向上するなんて、
聞いたこともない。出典は?
Actionクラスの目的は、Commandパターンの導入とstruts-config.xmlによる
画面遷移の宣言的制御にあるじゃなかったっけ
(それが成功しているかは別の話だが)。
この辺でも読んでみて。
ttp://wiki.apache.org/struts/StrutsBenefits

しかし今頃になってStruts初心者か。今でも人気あるんだね。
142140:2007/03/30(金) 15:45:56
>>141
> ActionとActionServletのおかげでパフォーマンスが向上するなんて、
> 聞いたこともない。出典は?

すみませんが、出典は分かりません。
以前にStrutsを使ったことがあって、そのときに何かで読んだのですが、1回だ
けでなく、あちこちでその内容を聞いたように思うのです。

それにしても、聞いたこともありませんでしたか。ちょっとショックです。私
の勘違いだったのかなあ。
143デフォルトの名無しさん:2007/03/30(金) 15:58:31
基本的にフレームワークは骨組みにいろんな仕事やらせるんだから
プレーンで作るより重いよ。体感的には変わらないけど。
144デフォルトの名無しさん:2007/03/31(土) 00:42:23
Actionの存在が良さとは思わんが・・

俺が思うStrutsの良いところは・・
・HTTPパラメータがActionFormとして明確になる
・画面遷移とコントローラの依存が疎になる
ぐらいだと思う。

パフォーマンスが良くなるなんて聞いたこと無い。
145デフォルトの名無しさん:2007/03/31(土) 03:29:56
>>142
完全な勘違いだよ。
ActionServletやらで色々な処理が間に入っているんだから
素でServletを書くより早くなるわけないじゃん。

といってもこの程度のオーバーヘッドでパフォーマンス云々語るのは
かなりアホなことしゃべってると思った方がいいよ。
146デフォルトの名無しさん:2007/03/31(土) 03:52:13
>>142
あちこちで聞いたって職場でかい?
ちょっと身の振り方考えた方がいいんじゃないかね。

揶揄して言ってるんじゃなくて
そんな一笑に付されるような俗説がまかり通るってのは
全体のレベルが低い証拠だと思う。
自分の今後にとってもプラスにならないよ。
147140:2007/03/31(土) 19:41:57
どうもお恥ずかしい話ですみません。私の勘違いだったようです。社の人から
聞いたのではなく、雑誌かWEBの記事だったと思うのですが、誤読したのでしょ
う。

しかし、実行速度は下がるにしても、他のメリットは無いのでしょうか?
サーブレットに比べてアクションクラスは

・インスタンス生成のコストが小さい
・メモリの占有量が少ない

という特徴があったりしないでしょうか?
もしあるとしたら、たぶんそういう記事を私が誤解したのだと思うのです。

まあ実質的にはメリットに上げるほどの差ではないのかもしれませんが。
148デフォルトの名無しさん: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デフォルトの名無しさん:2007/04/01(日) 01:05:37
>>148
これはひどいw
150デフォルトの名無しさん:2007/04/01(日) 01:09:12
>>148
こ、これは・・・

こんな糞記事で原稿代もらえるのか・・・
俺も何か書こうかな。。。
151デフォルトの名無しさん:2007/04/01(日) 19:49:01
>>150
期待してるぜw
152デフォルトの名無しさん:2007/04/08(日) 20:42:52
>>148
ちびった・・・w
153デフォルトの名無しさん:2007/04/08(日) 21:01:18
きょ,今日先輩から聞いたんだけど,
int型使うよりもbyte型使った方が速くなるらしいぜ.
DBのテーブルサイズ見積もりなんかはやったことあるけど,
変数のサイズ見積もりなんてやったことなかったけど,
これからはきちんと考えて設定しなきゃなぁ...
154デフォルトの名無しさん:2007/04/09(月) 02:50:26
>>153
ネタだと言ってよ、バーニィ!
155デフォルトの名無しさん:2007/04/16(月) 05:49:16
>>154
0080だっけか?
156デフォルトの名無しさん: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デフォルトの名無しさん:2007/06/06(水) 14:14:48
>>157
オーバーライドする以前に
サブクラスのインスタンスにスーパークラスのメソッドが
あるかどうかくらいリフレクション使って確認したかい?

ヒントはこれだ
Class clazz = Class.forName("java.lang.String");
Method[] method = clazz.getMethods();

後は分かるな?
159デフォルトの名無しさん:2007/06/07(木) 07:32:30
>property="subClassObj.xxx"
xxxだけでいいんじゃないの?
160デフォルトの名無しさん:2007/06/14(木) 22:52:32
国際化しない場合でもメッセージリソースつかってる?
メリットってなんかある?
161デフォルトの名無しさん:2007/06/15(金) 00:17:37
>>160
JSP内のハードコードを防げる。
162デフォルトの名無しさん:2007/06/15(金) 00:22:03
JSPの中のスクリプトレット撲滅運動中です.
代わりにVelocityでテンプレートをうわなにをするはなs
163デフォルトの名無しさん:2007/06/15(金) 00:26:17
JSPの中のスクリプトレット排除にVelocityって、メリットなさすぎ。
#ifとか入るし。
164デフォルトの名無しさん:2007/06/15(金) 01:03:18
まわりまわってスクリプトレット最強説。
StrutsタグもVelocityもJSTLも可読性を下げてるだけ。
165デフォルトの名無しさん:2007/06/15(金) 02:28:31
デザイナなしで少人数で作るなら、それもありかもわからんね。
166デフォルトの名無しさん: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 かなぁ・・・
(要員スキルとか、治具(自動生成)とか、ノウハウとかの関係で)
170168:2007/06/16(土) 16:00:59
>本当に小規模なら
2人月ぐらいの規模です。
171デフォルトの名無しさん:2007/06/16(土) 17:00:04
>>168
Struts1オンリーでいいよ。
>>169なんてぜんぜん小規模だと思えない。
おまけにモバイル対応したら画面遷移のロジック全部書き直し。
172デフォルトの名無しさん:2007/06/16(土) 17:22:44
業務アプリでモバイル対応もないなら、JSFの方が楽。
Strutsを使ったことがないなら、JSFにしたほうがいいと思われ。
173デフォルトの名無しさん:2007/06/16(土) 17:24:58
NetBeans + Visual Web Packも検討に値すると思うよ。
174デフォルトの名無しさん:2007/06/16(土) 20:28:17
サーブレットも知らない奴がWebアプリのサブシステム開発のリーダーってどういうこと?
175デフォルトの名無しさん:2007/06/16(土) 21:58:04
じゃあお前やれよ
176デフォルトの名無しさん: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デフォルトの名無しさん:2007/06/26(火) 05:55:25
業務アプリならJSFだね。
新規でStrutsを、XML手書きでやらせるプロジェクトはダメプロジェクト。
182デフォルトの名無しさん: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デフォルトの名無しさん:2007/06/27(水) 00:08:44
違います。
186デフォルトの名無しさん:2007/06/27(水) 01:34:02
プログラムを呼ぶのがフレームワーク
プログラムから呼ばれるのはユーティリティ
187デフォルトの名無しさん:2007/06/27(水) 02:54:54
というか、Commonsはプログラムですらない。共通ライブラリを集めたプロジェクトの名前
188デフォルトの名無しさん:2007/06/28(木) 22:22:45
こういう場合みんなどうやってるか教えて。

1.編集画面を表示する。
  今登録されている情報はDBから取得してデフォルト表示されている。

2.編集しようとするとValidationエラーとなる。

この場合、1で取得した今登録されている情報をSessionに入れておかないと
Validationエラーで同じ画面に遷移したときにエラーとなります。
Sessionに入れるのが普通?
189デフォルトの名無しさん:2007/06/29(金) 00:19:14
基本的にいま入力した情報しかいらないだろ。
190デフォルトの名無しさん:2007/06/29(金) 00:30:38
hidden使ってデフォルト値を受け渡しすればいいんじゃないのか?
191デフォルトの名無しさん:2007/06/30(土) 02:02:00
>>188
ActionFormでvalidateをやらない。
Action側で独自にvalidateをやり、エラーの場合、必要な値をDBから再度取得して編集画面に戻る。
…なんか破綻しているな。
192デフォルトの名無しさん:2007/06/30(土) 09:43:12
>>190

それもいいですね。
ただ、ドロップダウンリストに表示するものは厳しいかも。。

>>191

それもありかもしれない。
193デフォルトの名無しさん:2007/06/30(土) 09:49:38
dynaactionformって普通は使わないものですか?
194デフォルトの名無しさん:2007/06/30(土) 09:55:59
なにこの活況ぶり
195デフォルトの名無しさん:2007/06/30(土) 11:52:54
JAVA+JSP+Struts+Tomcatスレがなくなったから?
196デフォルトの名無しさん:2007/06/30(土) 15:14:48
>>193

俺は使わないルールにしてる。わかりにくいから。
197デフォルトの名無しさん:2007/06/30(土) 15:23:06
使うメリットがあまりない
198デフォルトの名無しさん:2007/07/01(日) 11:14:49
struts1.2はJavaでWEB構築した際のスタンダードとして
今後10年は使われると言ってみるテスト
199デフォルトの名無しさん:2007/07/01(日) 13:39:30
否定できんな・・・
10年はともかく5年は・・・
200デフォルトの名無しさん:2007/07/01(日) 13:44:24
すでに作ったもののフレームワークが変更されることはないだろうな。
201デフォルトの名無しさん:2007/07/01(日) 13:57:13
新規の基幹システムですとらっつ&EJB2とはこれいかに?
202デフォルトの名無しさん:2007/07/01(日) 15:52:31
にげて〜〜
203デフォルトの名無しさん:2007/07/01(日) 20:26:27
今から作るならStruts2がいい?
204デフォルトの名無しさん:2007/07/01(日) 21:55:42
Struts2全然情報ないな
205デフォルトの名無しさん:2007/07/01(日) 22:06:44
>>201
どっかのstrutsベースの独自フレームワーク強制されるよりマシ
206デフォルトの名無しさん:2007/07/01(日) 22:13:26
そのどっかのStrutsベースの独自フレームワークなんですが・・・・
207デフォルトの名無しさん:2007/07/01(日) 22:52:53
>>206
まあ、それも仕事だ!
独自ルール覚えるのが面倒なんだよな。
(中途半端なGUIツールがあったりするとうざいんだこれが。)
早め理解して、気に入らない点があっても受け入れるしかあるまい。

どうしても使い勝手が気に食わなければ、
スクリプトやエディタのマクロなんかを使って、
いかに快適に糞フレームワークを使うかを考えたりすると、精神衛生上良かった。俺の場合はl。
208デフォルトの名無しさん:2007/07/02(月) 00:21:38
>>201
Strutsはともかく
EJB2というあたりに腐臭を感じるな。

ステートレスSessionBean?
ならわかるかな。
209デフォルトの名無しさん:2007/07/02(月) 00:37:40
CMPも使うと言っています・・・
IB○の(ry
210デフォルトの名無しさん:2007/07/02(月) 01:17:11
>>209
お前、あのプロジェクトか!?
211デフォルトの名無しさん:2007/07/02(月) 01:49:34
>> 203
今から作るなら、Webアプリじゃなくデスクトップでやるのがいいな。
Ajaxとか面倒で生産性のないことやるより楽だし顧客の要望にこたえやすい。
212デフォルトの名無しさん:2007/07/02(月) 19:57:26
>>2111

ねーよw
213デフォルトの名無しさん:2007/07/02(月) 20:41:12
デスクトップに比べてWebアプリのメリットはなに?
デスクトップならすぐできることを、Webアプリだと工数がかかる。
それを上回るWebアプリのメリットってあるのか?
214デフォルトの名無しさん:2007/07/02(月) 21:07:14
東京でも大阪でも外国でもモバイルでも触れる。
215デフォルトの名無しさん:2007/07/02(月) 22:46:43
>>213
配布不要。ブラウザひとつで動かせる点。
Java Web Start?あれアプリ起動するのに、
更新チェックとかするから、結構時間かかるんだよな。
216デフォルトの名無しさん:2007/07/02(月) 22:57:50
>デスクトップならすぐできることを、Webアプリだと工数がかかる。

JSF辺りだと「Webならすぐできることをテスクトップだと工数がかかる」って
ノリだと思うが。

まあ、所詮はフレームワークなんでフレームワーク以上の事をやろうとすると
途端に辛くなるのはあるがな。
217デフォルトの名無しさん:2007/07/02(月) 23:00:12
ビジネスアプリは
何でも出来りゃいいって言う
わけではない
218デフォルトの名無しさん:2007/07/18(水) 11:05:44
Strutsで
http://hoge/hogeapp/
でアクセスした場合、下記のStruts-configで設定した場合
http://hoge/hogeapp/login.do;jsessionid=.....
といった具合にjsessionidが丸見えになってしまいます。
その後は消えてくれるのですが一発目が出てしまいます。
これを一回も出ないようにするにはどうしたらよいでしょうか?
クッキーが使えることが前程ですが。
よろしくお願いいたします。

<global-forwards>
<forward
name="login"
path="/login.do"/>
</global-forwards>
219デフォルトの名無しさん:2007/07/18(水) 15:42:12
それはStrutsではなくて、サーブレットコンテナの仕業かと。
220デフォルトの名無しさん: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デフォルトの名無しさん:2007/07/22(日) 12:17:48
>>222
色々調べてみましたが、情けないエラーでした。
具体的には、getList()が返すのはサイズ3の空配列で、
内容はなにもなかったのです。

そこはnull pointer exception出して欲しかった。
助言ありがとう
224デフォルトの名無しさん:2007/07/22(日) 15:10:21
無設定struts使えば、Strutsもつかえる。
225デフォルトの名無しさん:2007/07/25(水) 22:53:48
全く前知識なしで1から触ったが、jsp表示してDBアクセスjsp転送までに
丸1日かかったぞ。
struts-config.xml,web.xmlはともかく、
最初、最新版がいいとおもって2.xダウンロードしてしまって
tldがない、はてな???になってしまった。
1.29でなんとかなったが、問題多発だ。
ベリゲータ入れるつもりだけどまた大変なことになりそうだorz
226デフォルトの名無しさん:2007/07/25(水) 22:56:40
なんか・・・バージョンによって変な不具合とかバグぽいのもあるし、
自分の触り方がおかしいのかstruts自体がおかしいのか。
バグの上にバグを築いてるようで精神が折れるorz
227デフォルトの名無しさん:2007/07/26(木) 00:54:23
1系は安定してるだろ。バグっぽく見えるのは
フレームワーク全体にいえるんだけど初心者に扱いやすくできてないため。
よくみんなこんなの使うよな。
228デフォルトの名無しさん: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デフォルトの名無しさん:2007/07/26(木) 13:05:13
サーブレットメインでやってるときはstrutsの有り難みが今一だったが、
Struts使えばアップロードが簡単にできると知ってからそれが10倍化した。
231デフォルトの名無しさん:2007/07/26(木) 18:45:17
Strutsはゴミ
232デフォルトの名無しさん:2007/07/26(木) 23:54:54
>>229
カスタムタグの属性のとこにスクリプトレットだの
bean:writeだので値埋め込もうとしても駄目じゃないの?
↓こういう風に書いてもエラーになるよね。
<html:hidden property="honwaka" value="<bean:write name="hogehoge" property="value"/>" />

>ただstyleId自体が固定文字列のところは問題ないようなので
>下のように可変文字列を出力しているところが問題なようです。
なんかもう答えが出ているような気がするけど。
233デフォルトの名無しさん:2007/07/27(金) 01:33:57
>>225
もう結構前からTLDはいらんだろ。
234デフォルトの名無しさん:2007/07/27(金) 01:34:33
>>230
commons-upload使えばいいだけの話じゃね?
235デフォルトの名無しさん:2007/07/27(金) 07:22:25
>>232
ありがとうございます。

Tomcatでは問題ないのでWebLogicの設定かもと調べていたら
WebLogic.xmlにJSPのコンパイル設定があるみたいなので
調べてみたいと思います。

キーワードはrtexprvalueみたいです。
236デフォルトの名無しさん:2007/07/27(金) 08:24:30
>>235
え・・・Tomcatでは動くの???
というかJBossだろうがWebSphereだろうが絶対駄目と思うんだけど。。。
最近SwingばっかりでJSP全然触ってないから頭がぼけてるのかもしれないけど。

・・・とか思ったらできるのかな、これ。
俺ならスクリプトレットなんて真っ先に禁止するけど。
百害あって一利なしだよ、あんなの。
http://www.javaroad.jp/servletjsp/sj_jsp14.htm

そもそもStrutsのtld自体をいじるのはおすすめしないけどなぁ。

↓WebLogicでこんなのあったけど、
これってWebLogic固有設定っぽいし、
あんまり使わない方がいいんでないの?
http://edocs.beasys.co.jp/e-docs/wls/docs92/webapp/weblogic_xml.html
237デフォルトの名無しさん:2007/07/27(金) 08:29:35
>>236
自分も本当は嫌なんですけど
そうするとstyleIdに連番をふる方法が他にありますでしょうか?
もしあるなら使いたいです。
238236:2007/07/27(金) 08:39:44
カスタムタグの中に別のタグがあるような書き方はできないはずなので
スクリプトレットも当然駄目かと思ったけど、
TLDの設定で変えられるんだね。動かしてないから知らんけど。

(1)スクリプトレットの式を評価して
(2)その値をタグハンドラクラスの指定のフィールドにセットする...

と考えるとできるっちゃできるか。

ただ、スクリプトレットをJSPにゴロゴロ書き出すと
真似する奴が出て大変なことになると思うよ。
コーディング規約とかで禁止されていない?
割り切って使うならいいかもしれないけど。

>>233
え・・・いらなくなったんですか???
それは初耳だな〜Swingとかもう飽きた・・・
WEBアプリの方が楽でいいから戻りたいです。
239236:2007/07/27(金) 08:42:02
>>237
Struts-elを使うか、
カスタムタグを自分で作る・・・
Strutsのタグクラスを継承してtldをちょいちょい書くだけなので
意外と簡単だよ。
自分は後者の方でやった。

他にいい方法って逆にありますかね。。。
というか株を見ながら書いていたらこんな時間なので仕事逝ってきます。
240デフォルトの名無しさん:2007/07/27(金) 10:05:06
解決しました。

<html:hidden name="hoge" property="type" indexed="true" styleId='<%= "hoge"+ index.toString() %>'/>

としたらTomcatでもWebLogicでも動作しました。
なぜだかよくわかりませんが・・・

weblogic.xmlではうまくいきませんでした。
241236:2007/07/28(土) 01:22:59
>>240
年のせいか触ってないとすぐに忘れる・・・
俺もかなり適当なこと書いてるっぽいけど
もうちょい自分が何やってるか理解しようとする意思を持った方がいいよ。

嫌な言い方するようだけど
JSPなりカスタムタグなりがどうやって動いているのか
全然理解してないし理解しようともしてないでしょ。
俺はこういうのは気になって放置できない。
242デフォルトの名無しさん:2007/07/28(土) 12:30:24
Strutsタグは使わないことにしました。
243名無しさん@そうだ選挙に行こう:2007/07/29(日) 16:19:01
ところで、
ActionFormのreset()って、ページ遷移時と
submitなどが押されたあとももう1回呼ばれるよね。
これって・・・
駄目では。
244名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:34:39
236氏いい加減なこと書きすぎ。
えらそうなこと書きたいならJSP仕様を勉強し直してからにして。
スクリプトレットと実行時式の違いとかカスタムタグ仕様とか。
245名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:35:37
>>243
kwsk
246デフォルトの名無しさん:2007/07/29(日) 21:18:09
フォーム有りページに遷移→ActionFormのreset()でフォームが初期化される

フォームに値を入力してsubmitする→なぜかまた同じActionFormのreset()が呼ばれて初期化
247デフォルトの名無しさん: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デフォルトの名無しさん:2007/07/31(火) 20:10:23
Strutsがいいかどうかは別としてJavaが一番作りやすいよ
PHPとか中途半端にオブジェクト指向取り入れて死んでるよ
252デフォルトの名無しさん:2007/07/31(火) 21:13:34
JavaはServletクラスの設計からしてクソだからな。
Strutsはクソの上に積み上げたクソに過ぎない。
253デフォルトの名無しさん:2007/07/31(火) 21:16:05
じゃばじゃば言ってる奴はダサいよな
254デフォルトの名無しさん:2007/07/31(火) 22:27:55
じゃあ、何が良いの?
255デフォルトの名無しさん:2007/07/31(火) 22:59:52
まずロジックをHttpServletやHttpServletRequestから完全に切り離すことだろうな。
入力の検査・加工ルールと、出力の整形・加工ルールを外部ファイル化できていればさらにいい。
256デフォルトの名無しさん:2007/07/31(火) 23:12:50
HTML出力に限ればVelocityが良さそうに見えたが、テンプレート側に文字列の加工を連続して書けないのが難点だったな…。
たとえば「小数点2桁で切り捨ててカンマで区切ってからエスケープ処理したい」みたいなときに
テンプレート側にスマートに書けないと、Java側のコードがどんどん膨れて困る。
257デフォルトの名無しさん:2007/07/31(火) 23:14:11
いや、それじゃロジックとviewを分離する意味ないじゃん・・・
258デフォルトの名無しさん:2007/07/31(火) 23:23:21
ん?
値をセットするのと、フォーマットして表示するのは別だろ?
259デフォルトの名無しさん:2007/07/31(火) 23:37:38
本来、JavaがHTMLエスケープまで面倒見るのはおかしいんだよ。
出力がHTMLであることを定義するのはビューなんだから、ロジックとは無関係なフォーマットや
HTMLエスケープはビューがやらないと、それこそビューと分離できなくなるでしょ。
260デフォルトの名無しさん:2007/08/01(水) 10:36:14
いまからやるならJSFでいいじゃない
261デフォルトの名無しさん:2007/08/01(水) 10:37:23
HTMLでしか表示しないのに、設計的に美しいからと変な手間を増やすのがJava厨クオリティ
262デフォルトの名無しさん:2007/08/01(水) 11:52:32
まだPHP4が出だした頃にjavaもやりはじめて、
jspのエラー画面でスタックトレースの階層具合を見た時は轢いたな。

いまとなってはどうでもいいけど。
263デフォルトの名無しさん:2007/08/01(水) 21:18:12
ぶっちゃけJSPでいいじゃんって最近おもう。
264デフォルトの名無しさん:2007/08/01(水) 21:37:56
さすがに、それはない。
265デフォルトの名無しさん:2007/08/01(水) 21:48:47
いや普通にJSPでいいだろ。何がダメなのかわかんない
266デフォルトの名無しさん:2007/08/01(水) 21:48:58
そもそもなんのためにjavaあるの?意味なくない
267デフォルトの名無しさん:2007/08/01(水) 22:05:07
XHTMLってDreamWaverやHomepageBuilderで作れる?
作れるならPOHP系に落ち着いて欲しいな。言語を選ばなくなるし。
268デフォルトの名無しさん:2007/08/01(水) 22:39:34
>>266
そもそも何のためにVBが(ry
そもそも何のためにRubyが(ry
そもそも何のためにC#が(ry

ということで、そんな意味のないことを書くな。
269デフォルトの名無しさん:2007/08/01(水) 23:05:30
>>268
ここまで使うメリットのない言語も珍しいだろ
javaの利点ってなにさ
270デフォルトの名無しさん:2007/08/01(水) 23:12:39
煽るためだけに聞いてるような頭の悪いレスにしか見えん。
ああ、夏休みか。
271デフォルトの名無しさん:2007/08/01(水) 23:12:47
誰も喪前にjavaを使ってくれなんていわないワケだが。
272デフォルトの名無しさん:2007/08/02(木) 05:11:10
>>269
ここまでマジレスするメリットのないレスもめずらしいな。
273デフォルトの名無しさん:2007/08/02(木) 08:03:33
ストラッツで作ったwebアプリで
ブラウザの戻るボタンで 戻れないのは、
どうしてる?

注意書でブラウザの戻るボタンは押すなって
書いてあるとこもあるけど
それは避けたいんだよな。
274デフォルトの名無しさん:2007/08/02(木) 21:11:04
JavaScriptで制御してるな

275デフォルトの名無しさん:2007/08/03(金) 07:14:10
最初からメニューを消しておけば問題なし。
ついでに右クリックも禁止してしまえ。
ふはははは。
276デフォルトの名無しさん:2007/08/03(金) 08:30:17
>>275
つBack Space
277デフォルトの名無しさん:2007/08/03(金) 10:08:18
そもそも戻れないって作り方の問題じゃね?
278デフォルトの名無しさん:2007/08/03(金) 10:30:48
戻られて困るようなサイト、Strutsを使うまでもないカスだ
279デフォルトの名無しさん:2007/08/03(金) 10:53:00
画面遷移をすべてRedirectで行えばよい
280デフォルトの名無しさん:2007/08/03(金) 12:35:47
Struts1.2と1.3、実際に現場ではどちらのほうがより使われている?
各種ツールの対応状況の都合で未だに1.2という話も聞くが実際にはどうだろう?

それから、Struts使う場合でもlogicタグを使うケースと
その部分だけはJSTLを使うケースはどちらが多い?
281デフォルトの名無しさん:2007/08/04(土) 17:15:18
1.3に上げるメリットがよくわからないし、2.0もあるしな

taglibについては、以前のStruts開発ではJSTLを使った。
Strutsタグはhtmlタグ以外は使わなかった
282デフォルトの名無しさん:2007/08/04(土) 17:42:47
分かりやすくstruts解説したサイト教えて
283デフォルトの名無しさん:2007/08/04(土) 22:23:29
絶対JSTLの方が楽だと思うけど、
「今までlogicタグ使ってたから」という理由でlogic、beanタグを使うことが多い。

struts-html以外は、JSTLを使うのがベスト
284デフォルトの名無しさん: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デフォルトの名無しさん:2007/08/05(日) 11:45:26
>>284
1.3に上げてもものすごいメリットがないからなあ
保守を考えると全部1.2で同じ作りにしてあった方が楽なので、
うちは今のところずっと1.2
beanやlogicはJSTLに置き換えつつあるかな。でもlogicタグしか分からない外注さんも
多いから混ざってる
>>285
本家のstruts-examplesとUser Guideを見ながら。本は買ってない
287デフォルトの名無しさん:2007/08/05(日) 12:21:16
カスタムタグは使わないほうがいい
288デフォルトの名無しさん:2007/08/05(日) 14:48:26
>>287
なんで?
289デフォルトの名無しさん:2007/08/05(日) 15:43:07
>>286
分かり辛いだろ、
分かり易く書いてあるサイトとかなかったの?
290デフォルトの名無しさん: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デフォルトの名無しさん:2007/08/12(日) 15:01:14
JSTLで十分かと。
294デフォルトの名無しさん:2007/08/12(日) 16:30:00
最近GWT使うようになってStrutsいらなくなったと感じる
295デフォルトの名無しさん:2007/08/12(日) 17:27:00
>>286
同意。

現在の技術者の多くや、情報源の大部分はStruts1.2ベースだから、
1.3や2.0によっぽどのメリットがない限り、保守性、生産性を考慮し、
1.2を採用すべきと考えてる。

それでも1.3や2.0を採用する価値があるか逆に聞きたい。
まぁ、1.3や2.0のこと全く知らないんだけど…
296デフォルトの名無しさん:2007/08/22(水) 21:12:40
>>295
2.0は俺も知らんけど、1.3のメリットなら

処理の割り込みをカスタマイズするのが非常に楽。
たとえば、Actionのexecute()の呼び出し直前/直後に行いたい処理を割り込ませるとか。
アプローチはCommonsChainでAOPじゃないのがイマドキじゃないけど・・・
あとは、ユニットテスト用のモックが提供されているとか、
Validatorや例外処理のリソースバンドル分割に対応しているとか
URLバリデータが賢くなったりとか。
297デフォルトの名無しさん: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デフォルトの名無しさん:2007/08/29(水) 00:04:00
>>299
EventDispatchActionを使うと吉。
301デフォルトの名無しさん:2007/08/31(金) 01:54:22
>>299
私はずっとLookupDispatchActionを使ってきました。
http://struts.apache.org/1.x/apidocs/org/apache/struts/actions/LookupDispatchAction.html?is-external=true

#SpringFrameworkと連携させることが多いので実際はLookupDispatchActionSuportですが。
http://www.springframework.org/docs/api/org/springframework/web/struts/LookupDispatchActionSupport.html
302299:2007/09/01(土) 21:37:01
>>300
>>301
遅くなってすいませんが、どうもありがとうございます。
ちょっと見てみます。
303デフォルトの名無しさん:2007/09/12(水) 17:16:55
2004年ごろ閉鎖された「有限会社エヌアイティー技術情報部」というサイトが
ありました。そこでは、Strutsのドキュメントなどが精力的に翻訳されていま
した。
http://web.archive.org/web/20031021031543/http://www.janit.com/TechnoInf/
http://web.archive.org/web/20031205165039/www.janit.com/TechnoInf/Java/Struts1.1b3/index.html

これだけ大量の翻訳を、どうやら管理人氏一人でやっていたようです。

きのう、ここの移転先を見つけました。
http://www.geocities.jp/ogaponman/TechnoInf/
http://www.geocities.jp/ogaponman/

断言はできませんが、お亡くなりになっていたように見えます。お世話になり
ました。合掌。
304デフォルトの名無しさん:2007/09/21(金) 23:02:37
なあ、今strutsの本読んだんだけどさ、
素のサーブレットと手間変わんなくない?

これじゃ使う意味ないよね。
305デフォルトの名無しさん:2007/09/21(金) 23:20:16
>>304
もっといいもの作ってよ、期待してる
306デフォルトの名無しさん:2007/09/22(土) 00:14:00
>>304
そう思うってことは、勉強が足りんよね。
307デフォルトの名無しさん:2007/09/22(土) 04:28:22
>>304
素のサーブレット書くよりは数倍楽だと思うけど。
308デフォルトの名無しさん:2007/09/24(月) 16:05:13
派遣とかの現場でもstrutsってもう終ったの?
309デフォルトの名無しさん: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
312デフォルトの名無しさん:2007/09/24(月) 19:51:55
ひがたんも賢いスーツ側の人間だからなぁ。
しーさーがうまくいかなそうだったら逃げるのかい?
313デフォルトの名無しさん:2007/09/24(月) 22:23:56
Struts はなんだかんだいって見通しがいいのと
実績があるのもあって総合力は高いよね。
314デフォルトの名無しさん:2007/09/25(火) 17:30:31
うちは去年からWebObjects
315デフォルトの名無しさん:2007/09/25(火) 17:55:23
何それ、聞いたこと無い
316デフォルトの名無しさん:2007/09/26(水) 02:12:57
>>313
strutsはたいしたことはやってないので見通しがいいのと、
登場した時期が早かったのと、
開発メンバーが他のを覚えようとしないので、
うちでもめちゃくちゃポイントが高い。
317デフォルトの名無しさん:2007/09/26(水) 03:23:52
>>311
ひがさんがくさす頭の固いおやじは流行にうといだけでしょう。
本物のおやじはそもそもJavaを使いません。

人月計算とExcelとスーツの世界より
http://anond.hatelabo.jp/20070831005830
318デフォルトの名無しさん:2007/09/26(水) 07:12:04
プレゼンテーションフレームワーク以外にも
覚えないといけないことはたくさんあるので
一度覚えた Struts を使ってくれていいです。
それよりはテスト技法とか、リファクタリングなんかを覚えて
コードの品質を上げてもらえればうれしいです。
319デフォルトの名無しさん:2007/09/26(水) 12:10:10
>>315
WebObjectsはiTunes Storeに採用されたJavaのWebフレームワークです
320デフォルトの名無しさん:2007/09/26(水) 13:39:06
ああ、アップルのか
俺的には、どんだけマイナーなんだよって感じだけど、他では大流行してたりするのかな
321デフォルトの名無しさん:2007/09/26(水) 15:38:16
Macで開発してた人には人気が高いし、WebObjectsを模倣したフレームワークも多くある。
Cayenneなんかもそんな感じじゃなかったかな
322デフォルトの名無しさん:2007/09/26(水) 16:54:10
Cayenneって永続化層のフレームワークじゃなかったっけ?
323デフォルトの名無しさん:2007/09/26(水) 20:17:37
>>321
知ったかぶりもここまで度を過ぎましてはいけませんな
ご短慮でありましたな
324デフォルトの名無しさん:2007/09/26(水) 20:40:21
325デフォルトの名無しさん:2007/09/26(水) 23:38:33
>>324の検索にヒットした内の1つであるこの自動車情報サイトもWebObjectsで構築されてるようだ
「PORSCHE Cayenne S 標準価格860 万円」だって
http://www.vividcar.com/cgi-bin/WebObjects/f1b8d82887.woa/wa/read/f1bb29ceb4/
326デフォルトの名無しさん:2007/09/27(木) 09:18:41
なんにせよMacなんぞサーバに採用しないし、WebObjectsを使うことはねえな
327デフォルトの名無しさん:2007/09/27(木) 10:26:37
WebObjectsはJavaだからSolarisでも動くって…
328デフォルトの名無しさん:2007/09/27(木) 16:56:20
java厨化石化の傾向がこんなに早くみられるとは・・・
329デフォルトの名無しさん:2007/09/28(金) 11:16:39
>>328Javaも今に衰退しますからあと10年見守ってて下さい
330デフォルトの名無しさん: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デフォルトの名無しさん:2007/10/03(水) 01:20:25
DynaActionFormの利点がわからない
333デフォルトの名無しさん:2007/10/03(水) 01:43:41
>>331
>Application層を目的として作ったはずなのにDataSourceが定義できる時点で・・・
Application層ってなんすか?
自分が知らないだけですかね。

Datasourceは定義できるだけで非推奨じゃなかったっけ?
まぁ使わなければいいだけだし、使わんでしょ普通。

>後継承を繁盛に使うせいでユニットテストが使えない。
よくわかんないなー
ActionクラスとかがサーブレットAPIに依存しているので
結局画面で動かさないとできないとかそういうこと?

MockのHttpSessionとかHttpServletRequestを用意すれば
簡単に単体テストできるというか俺はやったけど。

なんか変な共通処理とか環境に依存する部分を
Actionクラスに見せまくる作りだとやりにくいけどね。
ここはちゃんと設計すりゃ大丈夫でしょ。
334デフォルトの名無しさん:2007/10/03(水) 03:10:54
「Strutsの良さ」なんて、土方が集めやすいぐらいでしょ。
Wicketは良いよ。土方集められないけど。
335デフォルトの名無しさん:2007/10/03(水) 05:56:47
>>334
親方乙ですw
336デフォルトの名無しさん: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デフォルトの名無しさん:2007/10/03(水) 20:57:00
>>337
使ってるが、悪いか、ヴォケが!
339デフォルトの名無しさん:2007/10/03(水) 21:03:50
悪くはないが、ヴォケはお前だと思うよ
340デフォルトの名無しさん:2007/10/04(木) 21:49:24
>>339は趣味でしかプログラミングをしないヴォケ。
341デフォルトの名無しさん:2007/10/04(木) 22:00:40
仕事だったらもっとヤバいだろw
クソアーキテクトの下で働くのも大変だな。
342デフォルトの名無しさん:2007/10/05(金) 00:33:29
マイコミにStruts2載ってた。

依存性が、かなり排除されててテストしやすそう。
内部は、リフレクションバリバリっぽいな。

http://journal.mycom.co.jp/special/2007/struts2/index.html
343デフォルトの名無しさん:2007/10/05(金) 12:47:56
質問なんですが、
Actionを作った場合、ActionFormを使わない場合でも、
それに対応するActionFormクラスは、
絶対作らなければならないんでしょうか?
344デフォルトの名無しさん:2007/10/05(金) 12:54:59
そんなことはない
345デフォルトの名無しさん:2007/10/07(日) 01:15:04
Strutsの悪いところってなんですか?
346デフォルトの名無しさん:2007/10/07(日) 01:40:13
>>345
一度、WicketやTeedaなどに触ってみるといいと思うよ。
347デフォルトの名無しさん:2007/10/07(日) 03:13:34
teedaは触ってます
strutsより明らかに良いと思ってます
なのでstrutsを排除したいと考えています
部署で説得するためにネタください
348デフォルトの名無しさん:2007/10/07(日) 04:49:45
>>347
悪い所出そうとしてる時点で説得スキル足りない
より良い物として出さないと
349デフォルトの名無しさん:2007/10/07(日) 08:24:11
頭堅い奴は枯れてるとかいう理由で、いくら良いものがあってもなかなか既存技術捨てて新しいモノに移行しようとしない。
350デフォルトの名無しさん:2007/10/07(日) 08:31:24
>>345
XML
351デフォルトの名無しさん:2007/10/07(日) 11:53:19
>>347
どういう立場の人を説得したいの?
エンジニア?それともマネージャ?
352デフォルトの名無しさん:2007/10/07(日) 13:30:37
マネージャーです
353デフォルトの名無しさん:2007/10/07(日) 14:17:26
>>352
会社によって微妙に役柄変わるからあれだけどマネージャーレベルなら
適応によるプラスマイナス両方出して、大まかでも目に見える数値の話でないと食いつかないよ。
マイナス材料(Ex:初期教育コスト、リソース確保とか)がでて無いとちゃんと選定しているのか?と言う話になるし。

注意しないといけないのは「じゃあ次一つやってみて比較しよう」が出た場合、
実績あり(Struts)なし(Ex:Teeda)が初期教育コスト無視で比較される可能性がある。
プロジェクト完了後、技術者からちゃんと情報収集して判断してくれる人ならいいんだけどね・・・

あと技術者レベルでの根回しは必須だと思うよ。
354デフォルトの名無しさん:2007/10/07(日) 15:05:02
マネージャレベルだと、有償サポートって売りにならない?
355デフォルトの名無しさん:2007/10/07(日) 15:51:09
フレームワークの選定にマネージャーがでてくるの?
技術わかるマネージャー?
356デフォルトの名無しさん:2007/10/07(日) 16:14:35
土方が探しやすいとか丸投げしやすいとかそういう要素が重要
357352:2007/10/07(日) 16:15:26
古い組織だとマネージャー出てきます。
WEBと言えばstrutsしかなくてそれがあればWEBアプリができると信じています。


比較しようと思ったときにstrutsのマイナス面を考えたんだがなかなか決定的なのがなくて…



teedaって有償サポートあるんですか?
358デフォルトの名無しさん:2007/10/07(日) 16:22:04
>>357
1個人のいうマイナスと実績どっち信じる?
その後どう言ったってそのレベルの否定から入ったら終わり
359デフォルトの名無しさん:2007/10/07(日) 17:23:53
ISIDがサポートやってるよ。

JSPじゃなくって素のHTML使えるのも利点だね。
「HTMLだけが書ける安い人が使える」って言って。

あとは、東京三菱の実績ありってとこかなぁ。

技術的な話だと、Ajaxサポートとかは?
360デフォルトの名無しさん:2007/10/09(火) 06:32:47
すみませんスレ違いなのは多々承知しているのですが
Eclipse3.31用のTomcatプラグイン(Sysdeo)がほしいのですが
サーバがずっと落ちてて見つけれません
http://www.sysdeo.com/eclipse/tomcatplugin
http://www.eclipsetotale.com/tomcatPlugin.html
どなたか3.31で使える他のTomcatプラグインもしくは
Sysdeoの3.31対応のプラグインのダウンロードページ知ってる方
教えていただけませんでしょうか?
361デフォルトの名無しさん:2007/10/09(火) 08:48:48
WTPがまともになった今どき、Sysdeoなんて使ってる奴がいることに驚いた。
362360:2007/10/09(火) 09:37:12
すみません
これからJavaはじめようと思って解説サイトの手順通りに従おうと思ったので・・・
入れてるのがwtp-all-in-one-sdkなので知らないうちに開発環境整ってたんですね
WTPについて調べてきます
363デフォルトの名無しさん:2007/10/09(火) 20:22:53
WTPってまともになったんだ?
Tomcat Pluginと比べてどんなメリットがありますか?
364デフォルトの名無しさん:2007/10/09(火) 20:38:28
比べるものですらない
365デフォルトの名無しさん:2007/10/09(火) 23:25:31
eclipse純正という安心感
all in one
動的WEBプロジェクトのディレクトリが決まっててlibにjarいれたらひとまとまりになる
まん
366デフォルトの名無しさん:2007/10/10(水) 00:24:30
NetBeansの機能の一部やん>WTP
struts-configの編集にはまた別のプラグイン入れなあかんかった
367デフォルトの名無しさん:2007/10/10(水) 05:21:09
all-in-one入れたけどweb開発らしきプロジェクトが選択項目に出てきません
なんでだろう・・・
もしかしてtomcat入れないとだめ?
368デフォルトの名無しさん:2007/10/11(木) 21:10:59
久し振りにstrutsの開発をすることになった。
今日設定をしてたんだけどうまく動かない。。

URLたたいてもActionServletが呼び出されていない感じで404になる。
コンパイルは通るし、デプロイは成功、
デプロイ時にActionServletは読み込まれているので(デバックした)
ここら辺は問題ないと思うんだが・・・何か原因わからない?

ちなみにearの中にjar,warを含めて、
application.xmlにコンテキストは指定してある。
同じverのstrutsサンプルは動いたので
完全に設定の問題なんだが。。。
369デフォルトの名無しさん: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デフォルトの名無しさん:2007/10/12(金) 05:45:44
actionListener / onChange で「ー」が入ってたら「−」に変えてしまえ
372デフォルトの名無しさん:2007/10/20(土) 21:29:43
スレ違いかもしれないのですが、どこで聞いたらいいのかわからないので、、、

Actionを継承したクラスに入力チェックやSQLを投げる処理が書いてあるのって普通なのでしょうか。
いろいろな面で(熟練度とか)仕方ないのかもしれないのですが、
SQLの種類が大量になったり、入力の仕様が変わったりするたびに修正漏れなどがおきてどうしようもなくなっています。
もちろん未熟者の私が口をはさめる事ではないのですが、他社での経験がないので知っておきたいのです。
373デフォルトの名無しさん:2007/10/20(土) 22:10:20
>>372
そのレベルが集まって一番コスト低いのがその手法なら・・・それでもその手法は選択できないw
入力チェックは一概に言えんけど、DBアクセス周りはS2DaoとかiBATISとか触ってみるといいよ。
374デフォルトの名無しさん: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デフォルトの名無しさん:2007/10/21(日) 22:48:52
>>375
昔のEJBは確かにアレだったような希ガス。
とは言え今ならJSFとかにシフトすればいいのでは?
それかJava捨ててRoRとか。
378デフォルトの名無しさん:2007/10/22(月) 15:47:47
Tomcat6.0 + Struts1.3.8を使っているんですが、
FormFileを使ったファイルアップロード時にできる、
一時ファイルはどこに作成されるのでしょうか?

<controller>
<set-property property="tempDir" value="/TempDown/" />
</controller>

これで一時フォルダを指定して見てみると、
一時ファイルは処理後も消えずに溜まっていました。
一時フォルダを指定せずデフォルトでも動かしていたのですが、
そのときできた一時ファイルが残っているなら消したいです。
379デフォルトの名無しさん:2007/10/22(月) 16:06:43
FormFile#destroy()
380デフォルトの名無しさん:2007/10/22(月) 16:08:03
デフォルトの一時ディレクトリは、コンテナが割り当てるアプリケーションの一時作業ディレクトリ。
Tomcatなら%CATALINA_HOME%/work/Catalina/localhost/contextname以下。
381378:2007/10/22(月) 19:08:04
どうもありがとうございます。

>>379
一時ファイル消せるんですね。
根本的に解決しました。

>>380
Tomcatのserver.xmlのContextのworkDirに設定されてました。
382デフォルトの名無しさん:2007/10/26(金) 23:40:55
http://journal.mycom.co.jp/special/2007/struts2/index.html
今まで1.2系しか使ってなかったけど、これ読んだら
今度作るときはStruts2もいいかなと思ってきた。
1.x系よりけっこうシンプルそうじゃない?
2系使ってる人いる?
383デフォルトの名無しさん: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デフォルトの名無しさん:2007/10/30(火) 16:24:40
JSP を標準のビューから追い出してテンプレート志向を強めたら
Struts は生き残れたかもしれないが。もうダメだろう。
386デフォルトの名無しさん:2007/10/30(火) 17:12:41
最近上司に迫られてStrutsの勉強をしてみました。
それで簡単な社内システムを作ってみました。
せっかくなので、今どきっぽいやつをというわけでJSFも勉強してみようと思いました。
このスレでもJSFのスレでもJSFの評判はいまいちですね。
いまさらこんなことを聞かれてもとお思いでしょうが、結局今やるならどれ?

会社的にはわけのわからないツールを使っていて、
JSP/Servlet関係の仕事も去年数件やったくらいです。
387デフォルトの名無しさん:2007/10/30(火) 18:02:06
個人的にはSpringとかどうかなと思っている
388デフォルトの名無しさん:2007/10/30(火) 20:06:27
Springは層が違う
389デフォルトの名無しさん:2007/10/30(火) 22:16:27
Teeda, Wicket, Tapestry
個人的にはWicket
390デフォルトの名無しさん: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デフォルトの名無しさん:2007/10/30(火) 23:44:41
>>385
俺はしぶといと思う。struts。
過去の資産があるし、ググれば大抵のことが解決しちゃうから。これは
ある程度の生産性が保障されるしな。廃れるときは、Ajaxで生産性が飛躍的
にあがるフレームワークが広まったときじゃないかな。

AjaxとWicketってどんな感じなの?
392デフォルトの名無しさん:2007/10/31(水) 00:40:56
そうそう、素敵なものが流行るとは限らないのがこの業界の悲しいところでもある。
393デフォルトの名無しさん:2007/10/31(水) 15:58:37
Ajaxなんて面倒なもんやらずにFlex+Strutsでいいや
394384:2007/10/31(水) 16:48:36
>>390
どうもありがとうございます。

DynaActionFormClassのJavadocに、
「開発者はこのドキュメントを調べる必要ない」って書いてたんですが、
DynaActionFormを自分で作るのはあまりやらないことなんでしょうか。
395デフォルトの名無しさん:2007/10/31(水) 17:16:20
ないな
使い勝手いいもんじゃないし
396386:2007/10/31(水) 17:25:34
みなさんありがとうございます。

Strutsでっていっときます!
397デフォルトの名無しさん:2007/10/31(水) 18:26:15
EventDispatchActionを使うと、
submitボタンのpropertyによってメソッドを振分けられますが、
リンクタグにpropertyのようなものをつけて、
submitボタンと同じようにメソッドを振り分けることはできないでしょうか?

こんな感じでやってみたんですが、これでは無理でした。
<html:link action="/paging" property="next">次へ</html:link>

度々の質問で申し訳ありませんが、よろしくお願いします。
398デフォルトの名無しさん:2007/10/31(水) 22:41:58
>>397
やったことはないですが、html:linkにパラメータ渡せるんで、submitでわた
すような値をセットして見ては?
ex)
next=次へ

あと、html:linkへのパラメータの設定方法はぐぐれば出てくると思います。
399デフォルトの名無しさん:2007/10/31(水) 22:45:30
>>393
flexはえらい高かった。2になって多少安くなったかもしれんけど。
400デフォルトの名無しさん:2007/11/01(木) 09:52:59
>>398
昨日色々とググったんですが、なかなか上手くいかず…
パラメータ付けるだけならできるけど、
EventDispatchActionのメソッド振り分けができなかったり、
バージョンによってタグに使える属性が違ったり。

と思ったらできました。
Struts1.3.8でこんな感じです。
<html:link action="/paging" paramName="PagingForm" paramId="next">リンク</html:link>
これでpagingアクションのnextというメソッドに飛びます。
401デフォルトの名無しさん:2007/11/01(木) 10:07:53
>>391
Wicket+Ajax普通に使ってるよ…受託案件じゃないけどw
402デフォルトの名無しさん:2007/11/01(木) 14:31:37
>>399
Flexサーバ要らなくなって多少どころじゃないくらいに安くなった
ttp://www.atmarkit.co.jp/fjava/rensai3/eclipseplgn13/eclipseplgn13_1.html
403デフォルトの名無しさん:2007/11/01(木) 22:52:20
>>402
Flexデータサービスとかがなくても、サーバ側とのデータのやり取りできる
の?
404デフォルトの名無しさん:2007/11/02(金) 12:45:08
WebService 経由にしてしまえばどうとでもなる。
405JAVA初心者: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デフォルトの名無しさん:2007/11/02(金) 19:43:33
>>405
<html:text property="aBean.bBean.プロパティ名" />

誘導されたのなら、「○○から誘導されました」と一言沿えるのが礼儀だぞ。
それをしないとマルチポスト認定されるぞ。


>>406
Strutsのメリットでも何でもない。
Commons FileUpload使えば同じぐらい簡単。
408JAVA初心者:2007/11/02(金) 19:45:56
>407
あまりこちらの掲示板の使いこなせてなかったようで申し訳ありませんでした。
以降気をつけます。
また、ご教授してくださいましたやり方でやってみます。
ありがとうございました。
409デフォルトの名無しさん:2007/11/02(金) 22:08:38
どうでもいいんだけど、struts のサイトにあるドキュメントのなかで、
タグがエスケープされてしまって、ドキュメントの中に <p><strong>Note: Some of ..... のようにタグが表示されてしまっていて見にくい。

例:
http://struts.apache.org/1.3.8/struts-taglib/tagreference.html

なんでこんなことになっているんだ?
410デフォルトの名無しさん:2007/11/02(金) 22:45:31
Struts1.2ってこれからの仕事では使われていないのかな?
springって今でも使われてる?流行で終わったのかな。

数年前のOSSのフレームワークブームの頃のPGが出世して、
世代が変わったかな。
411デフォルトの名無しさん:2007/11/02(金) 23:17:01
>>410
うーん、JSFとかの方が1から作るなら生産性は高いんだろうけど
慣れたStrutsと慣れないJSFでどっちをとるか?というと今のところStrutsを選んでしまう

Springは…正直、Strutsで何十も画面を作ってからでないと、
Strutsの何が駄目なのか?なぜDIが登場したのか?DIだと何がうれしいのか?
があまり理解できないと思う。
そういう意味での流行は終わったのかもしれないが、使われてないことはないぜ
412デフォルトの名無しさん:2007/11/02(金) 23:42:17
>>411が一番SpringもStrutsもわかってないなw

なぜStrutsとSpringが同じレイヤーで語られるんだよwww
413デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/03(土) 13:15:11
xsltでも使えば?
416デフォルトの名無しさん:2007/11/03(土) 13:17:48
標準の方法でお願いします。
標準外のライブラリの追加は認められないので・・・
417デフォルトの名無しさん:2007/11/03(土) 14:00:21
javax.xml.transform.*を標準外と申したか
418デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/03(土) 17:54:50
>jdk1.5とstruts1.3.8に入っているもの意外原則駄目。
>唯一の例外はojdbc14.jar

アフォじゃねーか、と思う環境だな。
421デフォルトの名無しさん:2007/11/03(土) 18:45:37
>>420

なぜアフォなんだ?
ある程度縛りも必要と思うが。
422デフォルトの名無しさん:2007/11/03(土) 19:03:12
>>421
どこが「ある程度」なの?
423デフォルトの名無しさん:2007/11/03(土) 19:11:17
>>419
それ酷すぎないか?w
DBアクセス周りとかトランザクション管理とか全部自作?
424デフォルトの名無しさん:2007/11/03(土) 19:45:05
ojdbc14.jarは使うんだって
トランザクションはsqlで吐いてする予定。
DBアクセスの自作ライブラリ作るのはそんな苦にはならないし
※リクエストをまたがってのトランザクション制御が出来るかはまだ未検証(出来ますか?)

>>420
業務のシステム開発にはいろいろしがらみがあるんだよ
趣味みたいに好き勝手自分だけの裁量では出来ない。
新しいライブラリを使うためには、
その根拠などの諸々を上や客に説明し説得する必要がある。
正直めんどくさいから、標準で出来ることだけで済ましたいんだよ。
425デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/03(土) 22:12:39
>>433
んな出来ない言い訳で実装コスト増やしてどうすんだよ・・・
実装のほうが金かかるんだよ。
Struts通ってるんだからStrutsで使ってますのでとか適当に言っておけばいいのにw
435デフォルトの名無しさん:2007/11/03(土) 22:14:43
Not Invented Here症候群は、洋の東西を問わずSIerの宿痾だ。彼だけを責めることはできないな。
436デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/03(土) 22:33:21
けど、XML解釈は素のDOMかSAXなんで、もっと便利なものが欲しいとNDigesterが欲しくなったり、
ログ出力自作するのがメンドイと、Log4netに手を伸ばしたくなったり、
テスト駆動したいからとNUnitが手放せなかったりと、
そういうことはある。
439デフォルトの名無しさん:2007/11/03(土) 22:41:14
>>437
なんでもござれ。受け側のクラスの作りにも寄るけど、SetPropertiesRuleが使えるかな。
Digesterは、頑張ればCallMethodRuleで何でもできるよ。
そろそろスレ違いのような気がするけど、Commonsスレはdat落ちしたから他にいいスレもないね。
440デフォルトの名無しさん:2007/11/03(土) 23:00:15
OK ちょっと月曜日いっぱいくらいそっち方面の検証してみます。
ありがとうございました。

ただ>>425の情報は引き続きお待ちしておりますw
441デフォルトの名無しさん:2007/11/03(土) 23:40:40
xpathでとれるだろ。javax.xml.xpathだ。

でも、その環境なら、JDK1.4.2ってオチがありそうだな。
442デフォルトの名無しさん:2007/11/03(土) 23:41:50
まぁ >>424 の言う気持ちもわかる。
おれが今まで経験してきた案件でも、追加の jar を入れさせてくれないこともあったり、
入れさせてもらうために資料を作ったり、その検証のためにプログラムを大急ぎで作ったりしたもんだ。
ただ客は馬鹿だから、 >>434 のように適当に言っておいたり、
「OSSで世界中でテストされたプログラムと、これから一から作るプログラムと、どちらが信頼性があると思いますか?」
と言ったりすると納得してくれたりすることもある。
OSS = 品質が高いは、多少の相関はあってもイコールではないけどね。

ただむかつくのは、>>440 のように、待ちの姿勢であることだ。
いま土日だろ?
> 月曜に会社いくまでテスト環境はないので
チームが2日も止まってくれているんだから家でテストコード書いて試せばいいじゃん。
struts と commons 落としてきてごそごそやればいいだけじゃないか。
おまえそんなんだと今後成長しないぞ(伸び代ないぞ)

443デフォルトの名無しさん:2007/11/03(土) 23:57:27
>>438
.netならXML周りは読みXPath, 書きDataSetで十分
Log4net, NUnitは同意
StrutsConfigエディタもほんと楽に作れるしなw

スレチすまん
444デフォルトの名無しさん:2007/11/04(日) 00:14:06
ActionPathの一覧なんてActionConfigだっけか?そんなクラスから取れただろ。

つまり440はアフォでヘタレでカス
445デフォルトの名無しさん:2007/11/04(日) 01:35:32
org.apache.struts.util.ModuleUtilsあたりなら、Filterからでも取れるんじゃなかったっけ?
っていうか、昔似たようなことやった覚えがあるけど、Struts本に普通に書いてあったと思うけどな
446デフォルトの名無しさん:2007/11/04(日) 01:54:04
ActionConfig見た限りだと、pathはいけるけど、set-propertyの値取れる
ように見えないんだが。方法あるのかな?
447デフォルトの名無しさん:2007/11/04(日) 08:41:32
set-propertyってActionMappingの継承クラスにプロパティセットする為のものだっけ
キャストして取ればいいんじゃね?
それかBeanUtils使うとか
448デフォルトの名無しさん:2007/11/04(日) 10:00:26
doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
上のオブジェクトから
ActionConfig
ModuleUtils
これらって取れた?
449デフォルトの名無しさん:2007/11/04(日) 13:13:37
>>440
の状況は遭遇したことあるわ。ぶっちゃけ客や会社による。

俺?Strutsすら使わせてもらえない、いかれた設計思想の自社フレームワークつかって開発ですよ。
Strutsは実績が十分すぎるほどあるが、
俺の会社ではこのフレームワークがStrutsの実績よりも重視される。

それでもいつか、使うときのためにネットにつなぐたびこのスレをチェックしてるんだ。
いつか自分も悩むかもしれない問題の解決策があったなぁと思い出せるために。
ROMてるだけの俺だが、アフォだのCOBOLerを引きあいにだした書き込みはちょっと萎える。
仲良くStrutsの良さを教えてあげればいいジャマイカ
450デフォルトの名無しさん:2007/11/04(日) 16:08:20
つか、そんなに信頼性やら実績重視で使うライブラリに制限があるなら、
最初からIBMからWebSphereでも買ってその上でStrutsとかJSFで実装すればいいだろ。
IBMのパッケージならロガーやらUnitとか最初から全て入っているし
困ったらサポートに泣きつける。

それこそ趣味じゃなくて仕事だったら金出してサポート受けろよ、って希ガス。
451デフォルトの名無しさん:2007/11/04(日) 17:02:24
>>448
StrutsのJavaDoc嫁
452デフォルトの名無しさん:2007/11/04(日) 17:23:42
>>449
> 俺?Strutsすら使わせてもらえない、いかれた設計思想の自社フレームワークつかって開発ですよ。

どっかの電力会社でそんなのあったなぁ。
453デフォルトの名無しさん:2007/11/04(日) 17:28:53
>>449
>業務のシステム開発にはいろいろしがらみがあるんだよ
>趣味みたいに好き勝手自分だけの裁量では出来ない。

>もう少し世の中を知った方がいいと思う

>月曜に会社いくまでテスト環境はないので

こんな事言う質問者なんて2ch以外でも相手されないぞ?
2chと思えない位このスレの住人は優しすぎる

しかし、なんで>>414はこんなに上から目線なんだ?技術力も交渉力も質問力も無いのに・・・
454デフォルトの名無しさん:2007/11/04(日) 17:50:23
釣れますか?
455デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/05(月) 01:45:32
すまん。ActionCoofigはActionConfigsと読み替えてくれ。
457デフォルトの名無しさん:2007/11/05(月) 18:23:41
>>455
ありがとうございました。
おかげ様で希望の動作をさせることが出来ました。
458デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/05(月) 23:15:48
unspe何とかってメソッドが呼ばれるんじゃなかったか?
460デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/07(水) 00:07:07
JSF使えば1画面複数ボタンがチョーーーーーーーーー楽なのにね
463デフォルトの名無しさん:2007/11/08(木) 00:11:55
>>461
apacheのmime.types?
464461: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デフォルトの名無しさん:2007/11/09(金) 00:31:39
HTMLで、「あなたの年齢を入力してください」みたいな <html:text> のフィールドがあったとします。
数字での入力を期待しています。
ActionForm では、setAge(Integer age) みたいに Integer 型の属性としました。

ただしテキストボックスにはアルファベットも入力できるわけですが、数字以外を入力した場合、
NumberFormatException とか出ずに、ActionForm の age には 0 が代入されています。
未入力の場合も null ではなく、0 が代入されています。

しかしテキストボックスに未入力の場合と、0が明示的に入力された場合を区別したいです。

いろいろググって見ると、そういう場合は属性を String にするしかない(基本的にStringしか使えない)とありますが、
 例: http://blog.goo.ne.jp/glass-_-onion/e/cfc190c41d931bf3020719e7d724cf79
そういうものなのでしょうか?

>>465
Struts 2.0 はまだ出たばかり。1.x と 2.x は別物。
1.2 以前がほしければ、
http://struts.apache.org/ → Older Releases (Archive Site) → binaries/ とたどれば出てくるよ。
プロジェクト等でバージョンの指定がなければ、いまは 1.3 でよいのでは。
467デフォルトの名無しさん:2007/11/09(金) 00:46:41
>>466

この場合はStringにするしかないですね。多分
468465:2007/11/09(金) 00:49:56
>>466さん
ありがとうございます!助かりました。
1.3を落として、1.1の解説を読みながらやってたんですがバージョンの違いでつまずいてしまって・・・
かなりの初心者なんで、ちょっとした違いでも対応するのに時間がかかってしまう為、
古いバージョンで解説どおり動くかどうか確認したかった次第です。
469デフォルトの名無しさん:2007/11/09(金) 00:55:57
>>466
scriptで処理する以外はStringしかないかねぇ・・・
470466:2007/11/09(金) 01:09:56
レス下さった方、どうもありがとうございます。
5年前に 1.0.1b だったかな? を使っていたのですが、そのときの記憶がよみがえってきました。
String にするかどうか考えて見ます。

>>468
私も本を1冊買ってしまいました。(1行につなげてください)
http://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 の初学者の場合、ほかに入門の本があったほうがいいと思うが・・・



471465:2007/11/09(金) 01:17:02
>>470
重ねてご教示いただき、ありがとうございます。
やはり本は一冊買うべきですね。
明日にでも本屋行って見てみます。
472デフォルトの名無しさん:2007/11/09(金) 01:24:56
ActionFormにはStringかbooleanかそれらの配列ぐらいしか定義しないと思うんだが。
473デフォルトの名無しさん:2007/11/09(金) 02:13:35
formbeanをPOJOにして、プロパティエディタ自作するってのじゃうまくいかない?
474466: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 さんが言っているのは、ここら辺の話ですよね。
http://hidek.jugem.cc/?eid=110
475デフォルトの名無しさん:2007/11/09(金) 08:40:58
俺はFormは全部Stringにして、validatorメソッドでチェックしてる
Javascriptのチェックだけじゃ意味無いし
476デフォルトの名無しさん:2007/11/09(金) 09:23:32
strutsの重大な欠陥の一つ。
普通に考えりゃ、conversionよりvalidationが先だし、
実際に殆どのフレームワークがそうなってる。
477デフォルトの名無しさん:2007/11/09(金) 10:53:42
ほとんどってどれ?
JSFはそうじゃないよ。


入力値に対する変換とドメインオブジェクトに対する変換とじゃ意味が違うのを理解してね
478466:2007/11/09(金) 10:58:34
なるほど、どうもありがとうございます。
昨今 Struts に否定的な意見をよく聞きますが、
自分は5年前にStrutsを触っていたものの、それ以降は一次請けが作った独自フレームワークばかりだったので
あまりぴんとこなかったが、たしかにそういう意見もわかってきた。
Struts はいまいちアジャイルじゃないし、アプリ(業務要件)の本質じゃないところでハマる気がします。
(私のスキルがないだけだと思いますが)
479デフォルトの名無しさん:2007/11/09(金) 11:47:30
そうそう。本来は本質の部分に手間をかけたいところなんだが、
Strutsだとちょっと完成度が低くて本質以外の部分に手間をとられすぎてしまう。
480デフォルトの名無しさん:2007/11/09(金) 22:55:52
>>466
それどこのPerl?
481デフォルトの名無しさん:2007/11/11(日) 18:08:52
struts2でアップロードした画像や動画を圧縮しつつ保存するといった事は
可能ですか?
482デフォルトの名無しさん:2007/11/11(日) 19:35:09
失礼、この質問は忘れて
483デフォルトの名無しさん:2007/11/11(日) 22:30:30
そもそもインフラストラクチャだから、本質(ビジネスロジック)寄りに作ってないんじゃないの。
そうじゃなきゃここまで浸透しなかっただろうね。

大手ベンダーのフレームワークは、Strutsがベースで使われてて、
その上に○○標準とか、業務的な部分をラップしてあるのを見るね。
484デフォルトの名無しさん:2007/11/12(月) 01:45:33
混じりけなしの一般解'(フレームワーク)を求めれば求めるほど、
特殊解(アプリケーション)に落とし込むための手数がかかるようになるのは当たり前
完成度とはまた別の話だと思うが
485デフォルトの名無しさん:2007/11/12(月) 02:37:45
フレームワークのためのフレームワークというのは、
Avalon とか Turbin じゃないかな?(よく知らないけど)

Struts はどちらかというと理論より実践を目指したものだと思うが、
今日 POHP 指向のフレームワークなどが出てきて、
Struts はめんどくさいというか便利ではないという感覚は否めない。

ただ doGet() と doPost() しかなかった時代に Struts が出てきた意義は大きいと思うし、
今でもたまに使うし、自分では Struts なんか作れないので、否定するつもりはない。
486デフォルトの名無しさん:2007/11/12(月) 03:21:15
別に、めんどくささを解消するためのものじゃないし
Strutsは、独立して存在するモデルだとかビューの部品をつなぎ合わせるためだけの存在
つまり、めんどくさいかどうかは単に既存のコンポーネントがいくつ利用できるか、だけに依存する

更に、そこを起点として
・Strutsが、その上に乗っかるコンポーネントに対して十分に侵略的でないと言えるのか?
・そもそもフレームワークを差し替えるニーズなんてないのだから、コンポーネントに対して
侵略的であってもよいからもっと便利に使える方がいいのではないか?
などのアンチテーゼが発生し、Struts以降のフレームワーク登場に至る
487デフォルトの名無しさん:2007/11/13(火) 02:21:50
ひとつ、サーバOSのバージョンアップに強い
ふたつ、1.x系を使い続ける限り、根幹部分の変化が少ないので、ノウハウが溜まる
   (慣れた頃には別のアーキテクチャを覚えなきゃ・・・、がない)

慣れに勝る便利さなし
488デフォルトの名無しさん:2007/11/13(火) 23:09:56
慣れだけじゃなく、自前のカスタムタグなんかも
溜まってるし。
でも、Struts飽きた。
489デフォルトの名無しさん:2007/11/13(火) 23:27:58
で、struts作ったクレッグは今なにやってんだ?
490デフォルトの名無しさん:2007/11/14(水) 00:01:19
http://blogs.sun.com/craigmcc/

jMaki on Railsやってるのかな?
491デフォルトの名無しさん:2007/11/15(木) 10:36:24
strutsを上司に説明することになって、
実際にstruts使ってるwebアプリケーションの事例を
紹介しないといけないんだけど、どこかご存知ないでしょうか?
492デフォルトの名無しさん:2007/11/15(木) 11:39:18
JALとか、イートレード証券のモバイルサイトとか
493デフォルトの名無しさん:2007/11/15(木) 11:54:25
テレビ王国とか
494デフォルトの名無しさん:2007/11/15(木) 12:05:28
>>492
ありがとうございます。
他のスレも見てたら少しあったので追加。
JAL、ANA、三井住友のオンラインバンキング、イートレード証券のモバイルサイト

クラス名がまんま分かってしまうURLが多いですね・・・
もう少しだけ、事例ありましたら教えていただきたいです。
495デフォルトの名無しさん:2007/11/15(木) 12:14:52
>>493
ありがとうございます。リロードしてませんでした・・・
テレビ王国はStruts2なんですね。勉強になります。。
496デフォルトの名無しさん:2007/11/19(月) 02:01:37
struts2つかって、<s:textfield ... />とか書くと、
生成されたHTMLが<tr></tr>で囲まれるんだけど、
囲んでほしくないときは、
どうすればいいの??
497デフォルトの名無しさん:2007/11/19(月) 11:18:19
<bean:write>で文字列を出力しているのですが、改行コードを除去して
表示することは可能でしょうか?
498デフォルトの名無しさん:2007/11/19(月) 11:43:17
496ですが、自己解決しました。
コンフィグファイルでsimpleを設定したら、でなくなりました。
499デフォルトの名無しさん:2007/11/20(火) 09:10:05
>>497
jakartaのString taglib使うといいぜ
500デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/23(金) 00:55:32
SE=SexEngineerだったら・・・
504デフォルトの名無しさん:2007/11/23(金) 02:49:25
Sexマンドクセ
505デフォルトの名無しさん:2007/11/23(金) 04:42:35
>>504
見栄張るな
506デフォルトの名無しさん:2007/11/23(金) 05:31:15
Struts2てマンドクセじゃないの?
507デフォルトの名無しさん:2007/11/23(金) 10:28:01
どんなもの使っても、変なタグ呪縛から逃れることはできない。
逆に考えると、
変なタグ使うくらいなら、
ぱっと見、何してるか分かりやすいコードをJSPに書いた方がいい。
デザイナーの事なんて、シラネ。
508デフォルトの名無しさん:2007/11/23(金) 12:14:28
WicketやMayaaなら、タグ呪縛はないよ
509デフォルトの名無しさん:2007/11/23(金) 12:34:37
Teedaも忘れないでください
510デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/29(木) 23:54:33
A+B=!A*!B
512デフォルトの名無しさん:2007/11/30(金) 09:21:28
>>511
ちょwww
513デフォルトの名無しさん:2007/11/30(金) 10:55:23
普通はフラグの値を見てタグのほうで判断するんじゃなくて、
判断した値(true,false)を返してやるよな。
514510: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デフォルトの名無しさん:2007/12/02(日) 11:51:48
JSTLのc:ifならできんじゃないの?
JSPに書くことかなって気がするけど
516デフォルトの名無しさん:2007/12/02(日) 19:36:26
>>514
普通に認識されるので無問題。

>>515
たぶん使えると思うが使ったことがない。
<c:if test="${myBean.flag == 1 || myBean.flag == 3}">
って感じ?

そういえば、StrutsのTaglibで変数同士の比較ってできたっけ?
517510: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デフォルトの名無しさん: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デフォルトの名無しさん:2007/12/08(土) 18:59:35
Stringにして後から型変換する
521デフォルトの名無しさん: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デフォルトの名無しさん:2007/12/09(日) 22:46:08
1) 特に問題ないと思う。
ファイルダウンロードとか、ビューをJSP以外で実現する場合とか。

2) 特に問題ないと思う。
同じビジネスロジックを、StrutsのアクションとWebサービスの両方から呼び出すとか。

3) 特に問題ないと思う。
でも、ダウンロード用のサーブレットにフォワードするほうが見通しが良くなる気はする。
524デフォルトの名無しさん:2007/12/10(月) 06:06:28
>>523
ありがとうございます。
参考にさせていただきます。
525デフォルトの名無しさん:2007/12/25(火) 12:09:05
Struts2本だれか書けよ、読んでやるから。
526デフォルトの名無しさん:2007/12/25(火) 23:10:08
情報少なすぎだよな>struts2
527デフォルトの名無しさん:2007/12/26(水) 12:11:47
StrutsとJSFて、開発者同じ人?
528デフォルトの名無しさん:2008/01/03(木) 17:23:14
ところで、Shaleって普及すると思う?
529デフォルトの名無しさん: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に書いてあるんだけど、
http://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デフォルトの名無しさん:2008/01/06(日) 12:01:50
Struts2の情報が少ないて、あったけど
〜大全に、ちょっとStruts2のセクションがあったよ。
買ってないから、どんだけ詳しく解説されてるか、知らないけど。
536デフォルトの名無しさん: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デフォルトの名無しさん:2008/01/13(日) 07:41:16
結局のとこ、
使える奴が、ほとんどいない。
て事なんじゃないの?
541デフォルトの名無しさん: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デフォルトの名無しさん:2008/01/22(火) 12:14:15
httpd.conf
548546:2008/01/22(火) 13:11:05
すみません。
getFileSize()の前にdestroy()してました。
549デフォルトの名無しさん:2008/01/22(火) 13:34:13
ちょw
550デフォルトの名無しさん:2008/01/22(火) 14:44:19
スレ盛り上げようと、気使いすぎ。
551デフォルトの名無しさん:2008/01/23(水) 13:13:15
フレームの中からバリデートを実行してhtml:errosで表示する方法を教えて下さい
552デフォルトの名無しさん:2008/01/27(日) 21:15:37
struts2+spring2.5+hibernateを使って開発した
生産性が高いから少数精鋭でやってける
高いスキルと英語力が必須条件だけどね
javaの開発者は、これからは淘汰されてくんじゃねーの?
インド人がより有利になってく気がする
553デフォルトの名無しさん:2008/01/27(日) 21:33:48
struts+spring+hibernateの組み合わせは数年前からあるが
現在淘汰されたのだろうか。
554デフォルトの名無しさん:2008/01/27(日) 23:40:48
>>553
struts2とstruts1.xは別物
555デフォルトの名無しさん:2008/01/28(月) 05:58:41
>>553
spring、hibernateが必要なシステムも少ないでしょ。
逆にコストがかさむだけ。

>>554
だから「淘汰されたのだろうか」じゃねーの?
556デフォルトの名無しさん:2008/01/28(月) 06:27:25
>>555
どうコストがかさむん?
557デフォルトの名無しさん:2008/01/28(月) 07:07:41
>>556
提供機能が多いほど設定記述が多く発生する。
558デフォルトの名無しさん:2008/01/28(月) 07:14:52
どんな設定記述が?
で、設定でできなければ、コード書かないといけないんじゃないの?
559552: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デフォルトの名無しさん:2008/01/29(火) 01:06:55
>559
ほかのFWはなにを使ったことありますか?
なぜその組み合わせが良いのか説明してもらえんかな?
S2は設定ファイル無しですが?
561デフォルトの名無しさん:2008/01/29(火) 01:54:47
> DBアクセスはジェネリックを使ったクラスを作ったら半分位はそれで用足りた。

こういう物言いをする人に何言っても無駄。
562552:2008/01/29(火) 02:08:07
>>560
springの替りにs2でも良いと思うよ
hibernateの替りにiBatisでも良いと思う
組み合わせ方は人それぞれ

自分の場合は海外サイトから情報を得てるので、どうしても洋物になりがちなのかも
http://www.theserverside.com/
http://www.javaworld.com/
563デフォルトの名無しさん:2008/01/29(火) 02:08:27
ジェネリック医薬品でばっちりキメてるんじゃね?
564デフォルトの名無しさん:2008/01/29(火) 02:09:23
>>560-561
もう少しやさしくするかスルーしないか?
大人気ないぞw
565552:2008/01/29(火) 02:11:21
>>561
実は、開発スピード重視の苦渋の選択でした
ホントはiBatisとかでノンビリ作り込みたかった
566552:2008/01/29(火) 02:19:45
盛り上がってきましたw
まあ、ただ単にstruts2は良いよ、ってことが言いたいだけだよ
ただstruts2単体で使うってケースは考え難く
複数のフレームワークは組み合わせて使うのがベターかなって
567デフォルトの名無しさん:2008/01/29(火) 11:27:30
Strut2の書籍を探してて、こんなのをみつけました。
ttp://dream.mods.jp/struts2/index.html

購入を検討しているのですが、既に使っている方いらっしゃいましたら
感想を教えてください。
568デフォルトの名無しさん:2008/01/29(火) 12:42:18
>552が一人で盛り上がってるだけじゃん


Struts2の何がいいか具体的に言ってくれ。
ぜんぜん伝わらない。
他のFWのことあんまり知らなさそう。
569デフォルトの名無しさん:2008/01/29(火) 14:05:05
Struts 1.x はもううんざりだが、Struts2 は、web の記事しか読んでないけど(自分で試してないけど)
気になっている。別に >>560 みたいに煽るつもりは全然ない。

だから >>552 には思ったことをもっと書いてほしい。正しいかどうかは関係ない。
どれが Best Practice かどうかは興味があるが、プロジェクトによって状況が違うから一概には言えないし、むしろ
・どういう理由で Best Practice と思ったか
・どういう理由でクソだと思ったか
という意見が重要。

ただ >>568 のように、「何がいいか」(どういう理由か)を書いてくれないと、こちらには伝わらない。

湾岸ミッドナイトでも言ってるだろ。
結果を求めるな。
結果だけを知ろうとするな。
なぜその結果が正しいかなのではなく、どういうプロセスでその結果にたどり着いたのか。

# 自分で試す前に人の意見を聞きたがるオレも、あまりえらそうなこと言えないけどw
570552:2008/01/29(火) 23:45:09
struts2 + spring2.5 + hibernate or iBatis のフレームワークの組合せは、
企業向けシステムのあらゆるパターンに対応可能
単なるWeb applicationだけじゃ無くて、メインフレーム・マイグレーションさえ可能だと思う
とは云え、そんな重量級システムだけじゃ無く、手軽な短期開発にも対応可能なのが良いとこさ
間違いなくデファクトになるよ

struts1.xとstruts2の違いは、自転車とオートバイくらい違う
じっくり時間をかけながら汗をかきたい人はstruts1.x
さっーっと楽したい人はstruts2を使うと良いでしょう
ネチネチ時間をかけながらSQLにビジネスロジックを実装させたい人はiBatis
多少パフォーマンスが悪くてもサクサク開発したい人はhibernateって感じでしょ
ケースに応じて選べば良いんじゃな〜い
571デフォルトの名無しさん:2008/01/30(水) 00:11:30
空気読めないかなぁ・・・
572デフォルトの名無しさん:2008/01/30(水) 00:57:20
自転車とオートバイ
573デフォルトの名無しさん: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デフォルトの名無しさん:2008/01/30(水) 01:14:51
せんせーSturts2のどこが良いんですか?
ほかに比較したFWはなにがありますか?
どう違いますか?
Seasar教の自分から見たらStruts+Spring+Hibernateなんて超めんどくさいんですが〜
575デフォルトの名無しさん:2008/01/30(水) 01:35:12
結局Struts2の何が良いのかわからないままか・・・

>>573
TeedaとS2JDBCは相性悪いって本人が言ってるよね。
576デフォルトの名無しさん:2008/01/30(水) 07:51:08
Seasarって、沖縄人の使ってるローカル・ツールでしょ?
577デフォルトの名無しさん:2008/01/30(水) 09:02:41
>575
ソースは?
578デフォルトの名無しさん:2008/01/30(水) 22:52:20
579デフォルトの名無しさん:2008/01/31(木) 00:42:24
激しくすれ違いなので申し訳ない。
>575
S2Dxoを使わなければそうかもしれんが、使えば差は無いと思うが。
580デフォルトの名無しさん:2008/01/31(木) 07:48:47
Seasar派はspringに勝ってると勘違いしてんだろーな...
581デフォルトの名無しさん: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デフォルトの名無しさん:2008/01/31(木) 23:51:00
>>581
たぶんspring派が勝手に勝ったと勘違いしてるんだよ。
勝ち負けつけようなんてことが馬鹿馬鹿しい。
585デフォルトの名無しさん:2008/02/01(金) 23:22:28
どれも.netにはかなわない
586デフォルトの名無しさん:2008/02/01(金) 23:48:24
おー 新説登場 kwsk
587デフォルトの名無しさん:2008/02/02(土) 01:17:04
>>585
低レベルの開発要員しか集められない場合は、最高の選択肢かもな
588デフォルトの名無しさん:2008/02/02(土) 01:54:21
>>587
strutsすれでよく言えるなw
589デフォルトの名無しさん:2008/02/02(土) 17:24:37
.Net(C#)って、扱うのはそれなりに難しいと思うぞ。

C#の言語仕様も、Java よりも優れているという意見もいっぱいある(詳細はム板の言語関係のスレで。ここでは省く)

VB を「低レベル開発要員」と位置づけるなら、Struts もその位置にだんだん当てはまってきていると思うけど。

あと、Spring.NET、Hibernate.NET、iBatis.NET なんてのもあるし。
豆○の中の人とこの前はなしていたが、いまは .NET での案件が Java と同じくらいあるんだって。
590デフォルトの名無しさん:2008/02/02(土) 19:07:09
中規模以下案件は.NETでも充分でしょ
591デフォルトの名無しさん:2008/02/02(土) 19:12:30
どれくらいから大規模?
592デフォルトの名無しさん:2008/02/02(土) 19:14:19
>C#の言語仕様も、Java よりも優れているという意見

そりゃ、後発で先駆者のいいトコ取りしてるんだから当たり前って言えば当たり前なのだが、
どーも仕事でWin鯖の不安定っぷりを見せ付けられると微妙なんだよな。
593デフォルトの名無しさん:2008/02/02(土) 19:41:06
どのへんが不安定?
594デフォルトの名無しさん:2008/02/02(土) 20:11:18
不安定はWin鯖のせいなの?
595592:2008/02/03(日) 00:08:38
安定度の比較対象として同部署で管理しているiSeriesと言う鯖があるが、
これに比べればネットワークは不安定だわ、負荷が高い時のレスポンスやらな・・・。

購入時の価格がちがうので比較は無意味なんだろうけど、
障害発生時の対応・対策を見ていると「安物買いの銭失い」と言う印象が強いので。
596デフォルトの名無しさん:2008/02/03(日) 00:14:27
iSeriesと比べちゃうの?w
597デフォルトの名無しさん:2008/02/03(日) 00:16:26
ちょw
いや、この間Win鯖の障害に繰り出されサ。
なんつーか、エラーハンドリングというかモニター機能の貧弱さになけてきたり、
自己診断機能のいい加減サに辟易したり、対応策に「とりあえずリブート汁」とかサ・・・。
タスクマネージャーを目視して「ここが○○になったらこのウインドウのココをメモして」とか
ずいぶんと前時代な対応させられたりしてサ。
で後日の対策会議とかでエロい人が5・6人あつまってあーだこーだと。
なんじゃコリャと思いましたです。

おそらくはWin鯖でも本当は自動化とか柔軟な運用・保守・管理が出来る様な気がするし、
扱う人間のレベルによって安定度も変わってくるんだろうけど、
今はITドカタな時代で優秀なエンジニア少ないんだから、せめて機械はiSeriesみたいな
「ヴァカが扱ってもなかなか壊れない鯖」とか買ってくれとおもうのよ。w
599デフォルトの名無しさん:2008/02/03(日) 00:41:49
まあ、俺が作ったアプリケーションならWin鯖でも
超安定だぜ。5年くらい余裕でノンストップだ。
600デフォルトの名無しさん:2008/02/03(日) 02:03:14
Windowsが不安定と言われるのは、無駄にサーバに接触できる環境が多いからじゃないかな
以前リモート・デスクトップで繋いだら、始めてブルースクリーンに遭遇したよ・・・
601デフォルトの名無しさん:2008/02/03(日) 04:35:00
>>598
それはなんちゃって一応はiSeriesメインのエンジニアのお前がWMI知らないだけで馬鹿
602デフォルトの名無しさん:2008/02/03(日) 04:37:26
>>598
iSeriesは特定のモデルでコンデンサあぽん続出ですよ
不安定なのはOSのせいじゃなくてハードのせいだから
603デフォルトの名無しさん:2008/02/03(日) 07:18:34
Win鯖は不特定モデルでまんべんなく不安定だろ。w

ただ、引き合いにiSeries出すのは卑怯だ罠。
今は絶滅したジャンル(?)で唯一のオフコン機だし。

しかしiSeriesとタメはれる安定性のWin鯖のハードってあんの?
あるなら会社の基幹業務からiSeriesは消えてなくなっているはずだが。
604デフォルトの名無しさん:2008/02/03(日) 09:16:46
ES7000とかはどう?
地元の地銀では使っているよ。
605デフォルトの名無しさん:2008/02/03(日) 11:48:34
うちにもiSeriesが4台あるんだけど(同じモデルじゃなくてピンキリで色々)
NIC不良とかCPU不良とか4台ともハード的に不具合出てるぞw
606デフォルトの名無しさん:2008/02/03(日) 13:12:27
おいおまえら激しくすれ違い
607デフォルトの名無しさん:2008/02/10(日) 23:29:42
保守age
608デフォルトの名無しさん:2008/02/13(水) 09:48:25
struts2でおすすめの書籍ありますか?
609デフォルトの名無しさん:2008/02/13(水) 10:09:28
オヌヌメサイトも
610デフォルトの名無しさん: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デフォルトの名無しさん:2008/02/13(水) 21:47:04
struts2でstruts.xmlを使わずにアノテーションだけでInterceptorって実現できるもんですかね?
会員サイトでログインチェックをすべてのメソッドに書くのは格好悪いし、
かといってstruts.xmlには何も書かない方針だし、どうしたらいいんでしょうか。
612デフォルトの名無しさん:2008/02/14(木) 09:17:42
Filter
613デフォルトの名無しさん:2008/02/14(木) 09:54:06
>>612
thx!
でも具体的にどういう実装するのがいいのかわからんorz
614デフォルトの名無しさん:2008/02/14(木) 21:40:10
javax.servlet.Filterの具体クラスをweb.xmlに登録すればいい。
doFilterのServletRequestをHttpServletRequestを取得、
request.getSession(false)でHttpSessionを取得、後はお好きにどうぞ。


ログインといえば、JAAS使ってる人ってどのくらいいるんだろう。
次の案件で長いお付き合いになるパッケージ製品作るから採用するけど。
615デフォルトの名無しさん: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デフォルトの名無しさん:2008/02/14(木) 22:39:10
>>615
大体そんな感じでいいと思うけど、セッション乗っ取り攻撃には気をつけなされ。

>>616
貴重な情報 thx、調べてみるよん。
618デフォルトの名無しさん:2008/02/15(金) 13:04:25
>>609
オヌヌメかどうかわからんけど、まだ触り始めたばかりなら、以下を読むといいかも
(DLする前に読むものか)
http://journal.mycom.co.jp/special/2007/struts2/index.html
619デフォルトの名無しさん:2008/02/19(火) 00:05:30
>>615
さすがにlogin.actionだけを文字列チェックして回避ってのはダサくね?
ビジター画面増えたら困るし。まあそこは設定ファイルに外だしするとしてもだ。

今思いついただけなんだけど、jspへの遷移をアノテーション等で実現する場合、
struts.xmlにはビジターとメンバーのpackageだけ記述しておいて、各Actionクラスでは
@ParentPackageで所属するパッケージを指定する。
メンバーパッケージではセッションチェックのインターセプターを定義する。
っていうのがstruts2流なんじゃないかな。

うちがやった時はそこまで頭まわらなかったので、こんな感じにしてたけど
BaseAction ..... getRequest()とか実装しとく
 |
 +-------------+
LoginAction  BaseMeberAction ... セッションチェック
           |
           +----+-----+
          MenuAction ... ...
620デフォルトの名無しさん:2008/02/19(火) 00:10:29
でもってインターセプターの定義は呼び出される順序とか大事だから、
struts.xmlにはインターセプターの定義がずらずらと並んで
Zero-configからはどんどん離れていくと。

ヤレヤレだぜ
621デフォルトの名無しさん:2008/02/19(火) 00:22:18
>>619
>ビジター画面増えたら困るし。まあそこは設定ファイルに外だしするとしてもだ。
具体的にどうやって実現するのがベターかね?

>>620
extendすれば多少は抑えられるかと。
完全なゼロコンフィグはむりぽいけど。
622デフォルトの名無しさん: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デフォルトの名無しさん:2008/02/19(火) 09:29:45
で、次は一つのファイルが肥大化するとか、
プロジェクトメンバー全員で一つのファイルをメンテウザスとか
Struts1.xの頃の不満を繰り返す・・・

おまいら学習能力まるで無しだなw
626デフォルトの名無しさん:2008/02/19(火) 09:49:10
画面遷移の定義ってあまりころころ変わるものじゃないから
集中管理してもメリット少ないよね。
627デフォルトの名無しさん: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デフォルトの名無しさん:2008/02/19(火) 11:54:45
>>625
それなら分割すれば済む話だろ。いったいいつの話をしているんだ?
629デフォルトの名無しさん:2008/02/19(火) 12:15:29
>>628
そういう意味じゃなくてXMLに集中させるメリット少ないなって意味。
一度XMLに書いてそれっきり変えないようなものはソースに書いてもいいんじゃねーのと。
開発中や運用中に頻繁に変えるならXMLでもいいと思うけど。
画面遷移ってそんなに頻繁に変更するか?
630デフォルトの名無しさん:2008/02/19(火) 21:08:40
変更の度合いよりも、
どうせプログラムも変更しなきゃ動かなくなるんだから
XMLあるだけジャマじゃね
ってことじゃないのか。
631デフォルトの名無しさん:2008/02/19(火) 22:04:12
>>629
何を言ってるんだ??
この画面のシステムをメンテしているときに、別の画面に切り替えておくとか、
運用の切り替えはファイルの方が圧倒的に有利だろ
運用状態を切り替えるのに、いちいちコンパイルするのかよ
632デフォルトの名無しさん:2008/02/19(火) 22:17:36
strutsってホットデプロイできるの?
633デフォルトの名無しさん:2008/02/19(火) 23:43:49
レス読んで日本語が難しいって事がわかったw
まぁうちは今のレベルの人員(運用も含め)じゃ集中管理の方がメリット高いな
634デフォルトの名無しさん:2008/02/19(火) 23:45:21
>>627
interceptor-refにはインターセプター単体でもスタックでも指定できるのね。
なるほど。デフォルトのparamとvalidatorの間に入れたい、みたいな場合も
全部書かないでいけるの?
635デフォルトの名無しさん:2008/02/19(火) 23:56:28
>>629
一度きりで変更しないならxmlでもアノテーションでもどっちでもいいと思うけど。
むしろ変更があるからこそ、作業対象が分散しないようにアノテーションがいい。

>>631
運用状態を切り替えるのにstruts.xml修正して再起動するの?
tomcat自体は立ち上げておく必要があるのなら
管理画面から動的に切り替えられるようにしとかないと怖くない?
webサーバーの台数増えたらめんどいし。
636デフォルトの名無しさん:2008/02/20(水) 01:26:26
再起動する必要ないよ
tomcatは知らないけど、WebLogicはアプリケーションごとにデプロイできる
まぁこれとは別にHTTPサーバがあったりすると、切り替え中はそっちで抑止かけるなりすればいいし
637デフォルトの名無しさん:2008/02/20(水) 01:33:11
>>636
tomcatもホットデプロイはできるけど
static領域とか初期化し直しになるじゃん。
初期化するからstruts.xmlも再読込されるんだけど。
classに変更があるとセッションも保持されないし。
アプリの再起動って意味で書いたんだけど。

ユーザーからのアクセスがほとんど無い時間帯がある
システムならそれでもいいけど
638デフォルトの名無しさん:2008/02/20(水) 01:52:08
WARでデプロイしてるなら
コンパイルし直すのもWAR作り直すのも手間は変わらないんじゃないか?
639デフォルトの名無しさん:2008/02/20(水) 02:21:44
>>636
新人君よ。アプリケーションサーバを複数台用意して1台づつ止めてデプロイしなおすということもあるんだよ。


tomcatもweblogicもホットデプロイというより、自動デプロイという表現の方がええと思うぞ
640デフォルトの名無しさん:2008/02/20(水) 03:47:38
ダイナミックなモジュールのロード・アンロードでSpring OSGi に期待してるんだけど、SpringDMってそういうもんだよね?
641デフォルトの名無しさん:2008/02/20(水) 20:46:18
>>639
複数台あっても、抑止かけるんだから結局同じことなんじゃ?
642デフォルトの名無しさん:2008/02/21(木) 00:01:10
>641
かけません。
最低1台稼動させたまま入れ替えます。
643デフォルトの名無しさん:2008/02/21(木) 00:39:15
>>642
うん、それそれ
例えば10台あって、2台ごとにグルーピングされているとして、
Aグループを停止している間、グループB・C・D・Eが起動していて、Aグループへのアクセスは抑止しておく
うちは、これをアプリケーション(業務処理)単位でやってるリリースパターンがあるんだけど、
はて、実際どうやってんだろ
この2台の組がなんちゃってデュアル構成なんだけど、これをうまくどうにかして、どうにかしちゃってるんだろうか
644デフォルトの名無しさん:2008/02/21(木) 00:46:24
定義ファイルだろうがアノテーションだろうが関係無い話だな。
645デフォルトの名無しさん:2008/02/21(木) 01:06:58
アノテーションだとコンパイルしなきゃいけないじゃない
リリース中はこの画面に遷移するように、って一時的な変更をコンパイルでやってたら、永遠に終わらなくない?
Aグループに属するαサーバとβサーバを、それぞれ交代でアップデートするときに、
βへのアクセスを抑止させて、定義ファイルを更新して、
次にαを抑止させて、βを解放して、その間αをアップデートさせて、αを通常運転に戻して、βをアップデートして、
βも通常運転に戻す・・・だったかな?よく覚えてないけど、そんな感じ

ってのを、コンパイルでやろうとすると
βへのアクセスを抑止させて、コンパイルして、デプロイして、・・・あ、出来なくもないね

ただ、ソースをいちいちいじらないといけないから、混乱しそうだわな
リリース用に、遷移ロジックのあるソースをいじる、うーん、ないな
やっぱリリース運用はファイル中心だなぁ
646デフォルトの名無しさん:2008/02/21(木) 01:35:54
warでデプロイするならeclipse上で設定ファイル書き換えてwar固めてデプロイでも
アノテーション書き換えてwar固めてデプロイでも変わらない。
あと通常モードと停止モードの二つのモジュールを事前に用意しておくのが
当然だと思う。別にβへのアクセスを止めてからコンパイルする必要なんてない。

つーかコンテナの話はもういいからstrutsの話しようぜ
647デフォルトの名無しさん:2008/02/21(木) 16:41:15
こういうコンテナの話ってどこですればいいんだろう?
昔は
「JAVA+JSP+Strugs+Tomcat」スレなんてものがあったが、
JavaServlet全般とか Servletコンテナ全般のスレがほしい。
648デフォルトの名無しさん:2008/02/22(金) 01:02:49
>>647
スレタイを変えた後継スレがあります。
コンテナの話はこのスレならスレ違いにならないと思います。

Java+Webフレームワーク
http://pc11.2ch.net/test/read.cgi/tech/1181063688/
649647:2008/02/22(金) 03:43:27
>>648
どうもありがとう、巡回先に入れました。
でもあまりにぎわってないな・・・・・
話題提供するようにします
650デフォルトの名無しさん: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時間くらいやるとやってる途中にhttp://imepita.jp/20080301/780070のようなエラーがでて
強制終了されます。どうしたらよいのでしょう。
厨房なので、ぐぐっても全くわかりません。
どなたかご存知の方教えてください
653デフォルトの名無しさん:2008/03/02(日) 20:46:19
スレ違い
654デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2008/03/23(日) 11:48:40
bがrequestにもsessionにもいないんでしょ。
661デフォルトの名無しさん:2008/03/24(月) 13:14:43
JavaAppletとStruts2のアクション間で非同期通信したいんだけど、
フレームワーク内部でInputStreamが読まれており、アクションで取得できません。
なんかいい方法ない?
662デフォルトの名無しさん:2008/03/24(月) 20:52:21
これまた理解力を発揮しがいのある質問文ですねage
663デフォルトの名無しさん:2008/03/24(月) 22:58:48
文字列化してリクエストパラメータの一つに
してしまえば良いんじゃね?
664デフォルトの名無しさん:2008/03/25(火) 04:41:48
Appletはyesterdayの技術だけど、セキュリティ絡みでAppletに逃げる奴多いな
665デフォルトの名無しさん:2008/03/25(火) 09:24:48
FlexとかSilverlightには逃げないのですか?
666デフォルトの名無しさん:2008/03/25(火) 12:04:28
既存スキルを生かせるのは強いよな。
あとシリアライズしてオブジェクトの受け渡しができるってのも強みか。
667デフォルトの名無しさん:2008/03/29(土) 05:12:06
Java Web Startでええやん
668デフォルトの名無しさん:2008/04/07(月) 01:16:15
>>666
日本語でおk
669デフォルトの名無しさん:2008/04/07(月) 06:30:34
シュワシュワワワシュワワシュワ?
670デフォルトの名無しさん:2008/04/14(月) 20:31:00
Struts2で、struts.xmlの一部をこんな感じ可変にできますか?
<result name="success">/○○.jsp(login.jsp等)</result>
可能であれば、どうやって値をセットすれば良いかご教授ください。
671デフォルトの名無しさん:2008/04/14(月) 22:31:19
<result name="success">${ '/' + page + '.jsp' }</result>

getPageって言うメソッドをアクションに作ってそこで適当な "login" とか返してあげればOKだよ

まあ、login とかを処理したいのならアプローチが間違ってるけどね
672デフォルトの名無しさん:2008/04/14(月) 23:28:16
>>671
ありがとうございます!
確かにloginは処理しないです;
本当に助かりました。明日早速試してみます。
673671:2008/04/14(月) 23:37:09
いえいえ。

差し支えない範囲でどんな使い方をするのか教えて!
674デフォルトの名無しさん:2008/04/14(月) 23:50:48
>>671,673
うーん、きっとまたアプローチが違うって突っ込まれそうですが・・・
帳票をPDF形式で出力させます。
PDF名が固定だと、複数ユーザが同時に出力しようとした場合に
不具合が起きるんじゃないかな?と考えて、PDF名+時間とかをくっつけて
出力しようとしていました。
675デフォルトの名無しさん:2008/04/14(月) 23:56:07
そんなことできるの?
676671:2008/04/15(火) 00:02:23
むむむ。resultのDispatch先の名前はURLに出てこないから関係ないのでは?
たしかに突っ込みたいです ^ ^

まあガンバッテ。 ${ } の中に書いてあるのはJSPに書くのと同じOGNLでValueStackも同じだから色々できるよ
677674:2008/04/15(火) 00:02:34
PDF作成とresult部分は固定でなら実現してます
(PDF作成にはbirtを使用)
なので、多分出来ると思います。

ただ、このままだとPDFがサーバにわんさか作成されちゃうんですよね。。
タイミングを計って、PDFを削除しなくてはならなくなっちゃいますね。。
ダウンロードではなく、ブラウザにPDF表示させなくちゃいけないので
こんな面倒なことやってます。
678674:2008/04/15(火) 00:05:44
追記で・・・
PDFは、画面の選択条件から動的に作成しています。

突っ込み大歓迎です!もっとスマートなやり方があれば
是非乗り換えたいです!
679671:2008/04/15(火) 00:17:36
application/pdf のコンテンツタイプのhttpヘッダーでpdf内容そのまま出力すればいいんでないの?

一時ファイルはいらないと思うんだけど。birtも知らないし勘違いだったら失礼。
680674: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デフォルトの名無しさん:2008/04/16(水) 19:35:05
よろしくお願いします。

Struts2のインターセプターで、RequestAware、ApplicationAwareというのは
どんな時に使えば便利なのでしょうか?
683682:2008/04/16(水) 19:40:01
すいません、スコープというものを分かっていませんでした。
というか、スコープの説明を見てもピンときません。。
684デフォルトの名無しさん: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デフォルトの名無しさん:2008/04/24(木) 18:25:42
Struts2のプロパティファイルをpropertiesではなく、
XML形式で記述できますか?

やり方がわからなかったんですが、できそうな気がするので。。
今は自分でjava.util.PropertiesのloadFromXML使って
XMLを読んでますが、もっと簡単にできないものかなと。。
687デフォルトの名無しさん: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、キャンセルどちらのボタンを押しても
次の画面に飛んでしまいます。。どうすればよいのでしょうか?
689688:2008/05/13(火) 11:04:20
自己解決しました。お騒がせしました。
690デフォルトの名無しさん:2008/05/13(火) 22:40:26
>>689
情報量がゼロの書き込みはしなくていいよ。
首くくって死ね。
691デフォルトの名無しさん:2008/05/13(火) 22:40:51
今日の恥ずかしい体験を心に刻め
その気持ちが貴方を育ててくれるハズ...
692デフォルトの名無しさん:2008/05/14(水) 03:27:41
>>690
ところで、おまえのその書き込みは情報量がゼロじゃないのか?
首くくって死ね
693デフォルトの名無しさん: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

よろしくお願いします。
http://ml.seasar.org/archives/operation/2008-March/003758.html
695デフォルトの名無しさん:2008/05/17(土) 13:12:48
>694
スレ違い
696デフォルトの名無しさん:2008/05/17(土) 13:46:12
strutsをベースに業務フレームワークを作る仕事を担当する
かもしれません。オススメな書籍って何かありますか?

697デフォルトの名無しさん:2008/05/17(土) 14:20:54
今頃そんなことする会社は辞める
698デフォルトの名無しさん: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デフォルトの名無しさん:2008/05/20(火) 01:09:13
struts2で<s:textfield...に属性を追加しようとしています。
struts2のTextFieldを派生したクラスを作って、
独自のTextFieldTagから呼び出してaddParameter()を呼び出してるのですが、
生成されたhtmlにこの属性が反映されていません。

デバッガで追って、Component#addParameter()で拡張属性が
parameterにputされてるのは確認したんですが、なにがいけないんですかねえ。
ちなみに追加しようとしているのはistlyle等です。

今更ながらstruts2を使ったことを後悔
701デフォルトの名無しさん:2008/05/20(火) 01:21:19
ftlのテンプレートに書かれていないんじゃないの?

てか componentタグでスクラッチから出力した方が面倒なくね?
702デフォルトの名無しさん:2008/05/20(火) 01:34:25
一応TextFieldの派生はやめてUIBeanの派生でやってみたんだけど
同じ結果だった。Componentからスクラッチだと属性多すぎない?

今ftlをググリ中
703デフォルトの名無しさん:2008/05/20(火) 01:40:43
全部の属性インプリする必要あるの?

ftlは出力テンプレートの拡張子ね
多分 templates/simple/text.ftl
704デフォルトの名無しさん:2008/05/20(火) 01:46:20
それは見つけたんだけど、
自分で属性を追加したい場合に参考になるURLとかある?
とりあえずクラスパスにおいてみたんだけどどうにもならん。

そりゃあ全部の属性は必要ないんだけど、後でcssStyleとか
必要になってから困るのも嫌だし。textfieldかUIBeanの派生にしたい。
というか、s2タグやめたい
705デフォルトの名無しさん:2008/05/20(火) 01:49:47
よくみんなこんな設定ファイルやアノテーションの海を泳いでいられるな
なんかまだスパゲッティコードの方が順番に処理が負えるだけマシな気がしてきた
706デフォルトの名無しさん:2008/05/20(火) 01:52:07
判っちまえば、こんなパラダイスねーけどな
707デフォルトの名無しさん:2008/05/20(火) 02:00:38
俺には無理っぽいからComponentから自作することにする。
自作するときはページレンダリングなんて一種類しか使わないし、
ComponentTagSupportとComponentに分かれてるより、
JSTLのdoStartTag()でゴリゴリ書く方が楽じゃね?
708701:2008/05/20(火) 02:11:40
Componentを拡張して。。って話じゃないよ
それなら textfield拡張したほうがいいでしょ

俺のは s:component タグの話ね、念のため
709デフォルトの名無しさん:2008/05/20(火) 02:17:53
どっちもorg.apache.struts2.components.Componentじゃないの?
とりあえずそこから最低限の機能で作って行ってるんだけどmaxlengthとか
labelとかやっぱりいろいろ要りそうだなあ。

onXXX系を除いて、ftlを使わない方法で実装し直してる感じ。
すごおおおおおく無駄な気がする。
710デフォルトの名無しさん:2008/05/20(火) 02:44:52
>>706
パラダイスっていうならftlの追加方法教えてくれよ(泣

>>708
そのtextfieldの拡張の仕方がわからんのでつまづいとるんだわ
711デフォルトの名無しさん:2008/05/21(水) 13:08:19
そうそう、画面遷移の変更はそんなにないだろうし、
Actionのアノテーションに遷移書くようにすれば
ソース変更もそのActionだけにすることが可能で、わざわざ設定ファイルをいじらんでも。。ということだよね。

しかし未だにアノテーションで記述できずに、struts.xmlに書かないと動かないのもある。

そういえば、この前小規模案件のキット作り頼まれて、
「Strutsって設定ファイルの競合とか大変なんですよー」と泣きつかれたのを受けて、
可能な限り設定ファイルを分割+SubVersion管理にして競合起こさないようにしたら
今度は「ファイル多すぎですよー」とかくらいしか文句出なかった。
小規模でも分割大事だね。
712デフォルトの名無しさん:2008/05/21(水) 23:12:02
iFitって使ってる人居る?
713デフォルトの名無しさん:2008/05/22(木) 00:51:45
何だっけ?
東京方面で使わされるヤツだっけ?
714デフォルトの名無しさん:2008/05/22(木) 01:01:13
struts2で<a href="...にactionのURLを入れたい時ってどうするの?
<a href="<s:url action="input" />">aaa</a>
こんな風にHTML属性の値の中にsタグ入れるのはかっこわるすぎるよね。
<s:a>タグをみててもわからないんだけど
715デフォルトの名無しさん:2008/05/22(木) 09:01:31
http://struts.apache.org/2.x/docs/a.html

<s:url id="url1" …>で遷移先つくって
<s:a href="%{url1}">

JSP2.1使ってたら無理。
716デフォルトの名無しさん:2008/05/22(木) 09:41:53
>>700
ちょっと時間があったのでやってみたんだけど

ftlを変更、tld追加したら、今度は追加した属性のsetterが見つかりません、、と嫌になるねぇ。

717デフォルトの名無しさん:2008/05/22(木) 14:04:37
さんくす

英語のドキュメントも最後まで読まないといかんな
718デフォルトの名無しさん:2008/05/22(木) 14:06:34
>>716
そこまで来たらTextFieldの派生クラスにその属性のsetter/getter
用意するだけじゃないの?

ftlを変更ってstruts2のjarの中のファイル?
自プロジェクトで新規にftlファイルを作って、
それを読み込ませる方法がわからないんだけど
719デフォルトの名無しさん:2008/05/22(木) 16:07:28
struts2を使っています。
画像表示とかのアクションで、使用してるライブラリの関係上
responceに対して直接書き込んじゃうのでjspに
遷移したくないんだけど、こういう時はどうするのがstrutsらしいの?
とりあえずアノテーションで
@Result(name = "success", value = "")
としておいて、
return SUCCESS;
してみようかと思うんだけど。

アクションにしないで直接サーブレットにすべきなのかな。
720デフォルトの名無しさん:2008/05/23(金) 06:19:37
return NONE;
にしたらできた。
Actionインターフェースみたらわかった
721716: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(属性))を記述
つづく
722716: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2008/05/24(土) 20:25:05
>>724
というかまだ過渡期だから、進化の方向がちょっと間違ってると思うよ。
暗黙の了解が多すぎるのはグローバル変数多用と同じ害がある。
あれだって、どんなグローバル変数があるか、値を変更するときの
ルールはなにかっていうのが明確になってれば問題は無いわけだけど、
変数が多くなってくるとそうもいかない。

struts2ではWorkflowInterceptorでexclude宣言したメソッドなら
validate()が呼ばれないからinput()では呼ばれないけどexecute()では
呼ばれる。ほぼすべてのActionでの共通機能だから一カ所に
定義できて確かに便利。でもValidateInterceptorとの関連はどうで、
doExecuteValidate()を実装したらexecute()専用のvalidate処理が定義できて、
execute()直前のアノテーションでも定義できて、各フィールドでも定義できて・・・
っていうルールをすべてのアクションの開発者が知っていないと
ソースの解読すら大変、っていうのはちょっとね。

Java経験豊富でもstruts2経験の無い人に、このアクション修正してって
頼む前に教えないといけないことが多すぎる。
728デフォルトの名無しさん:2008/05/24(土) 20:52:35
>>726
俺はWTP捨ててノーマルEclipseとMaven2でやってるよ。
普通にデバッグもできるしな。
WTPって長い歴史の割には未だになんかいまいちだし。
729デフォルトの名無しさん:2008/05/25(日) 04:11:26
>>715
auのケータイがCacheコントロールを無視するので、毎回アクセスするURLが
変わるように<s:url>を拡張してdoEndTag()で毎回ユニークなURLに
なるようにパラメータつけてたんだわ。これなら戻るボタンの時に
通信発生しないで快適だし。

でもその独自パラメータもidに含めるためには、textareaみたいに
テンプレートから拡張しないといけないのかなあ
730716:2008/05/25(日) 10:18:52
>>728
こういう手もある。

Maven2でWebキット作成→さらにmaven2でWTP用プロジェクトを生成する。
デバッグ作業や稼働確認が簡単にできるのでウチではWTPは重宝してる。

>>729
一回作ってしまえば、後は悩まず作れる…調べるのが面倒なんだよね。
修正箇所が多いのがめんどいだけ。

しかしsタグ(sxタグ)拡張して便利になるのを作ろうとすると大変だねー
慣れなのかな、やはり。

ちなみに、ウチでは、JSTLとStruts1タグ、JSP2.0をごっちゃにしちゃってる人がかなり多い。
その上、Struts2タグ+OGNLなんか出てくると、
「今度は一体どれで書くのが正しいんだ!」ってなってる人多いよ…
731デフォルトの名無しさん:2008/05/25(日) 16:13:09
今、プロジェクトでstruts2+springを提案されてて、
試しに作ってみたんだが、どうみてもseam(JSF+Ejb)の方が使いやすいんだが
seamと比べてstruts2のメリットってなんだ?
732デフォルトの名無しさん:2008/05/25(日) 16:23:31
Strutsという名前
733デフォルトの名無しさん:2008/05/25(日) 16:25:12
まあ、名前だろうだろうな。
seamの方が使いやすいとは漏れも思うよ。
734デフォルトの名無しさん:2008/05/25(日) 16:42:03
>>732 >>733

名前だけかORZ...
735デフォルトの名無しさん:2008/05/25(日) 21:07:39
新規開発案件でもまだStruts?
ポストStrutsの決め手がない現状では仕方ないのかな・・・
736デフォルトの名無しさん:2008/05/26(月) 11:05:06
>>730
OGNLやValueStackで任意の変数にアクセスして、
<s:property id="">で埋め込んだりするくらいなら
スクリプトレットでよくね?JSTLで基本的な整形をして、
拡張が必要なときだけスクリプトレットで値をいじってから
JSTLに渡す、みたいな。

taglibに限定するメリットって
1.ソースが見やすくなる
2.ビジネスロジックが紛れ込むのを排除できる
っていう2点だと思うんだけど、教育コストに見合わないよ。
へぼいPGの場合は2に限らずコードレビューしてプロジェクトの
ルールに則ってない場合は手直しさせるから、jspだけそういう
制限があったところで大差無いし。

737デフォルトの名無しさん:2008/05/26(月) 11:06:47
>>731
「どうみても」なのはseamに慣れてるからじゃないの?
WebサーバーとAPサーバーが分かれてるプロジェクトで
seam導入しようとしたとき、アノテーション地獄でなかなか
理解できなかったよ。便利そうとは思ったけど。
738デフォルトの名無しさん:2008/05/26(月) 11:36:10
JSP&Servletが最強です。
739デフォルトの名無しさん:2008/05/27(火) 03:13:47
struts2のタグで、値をDoubleで持っていてjspで
DecimalFormatでフォーマットして出力するのはどうするの?
<s:property id="">で代入して表示?
みんなはActionで文字整形までやってるわけ?
740デフォルトの名無しさん:2008/05/27(火) 13:06:10
jstlで
741デフォルトの名無しさん:2008/05/27(火) 19:31:29
こんなのを見つけた
ttp://www.toshiki.net/x/modules/wordpress/index.php?p=81

後々のメンテを考えたらJSTLの方がいいと思った
742デフォルトの名無しさん:2008/05/27(火) 23:00:37
>>737
確かにseamには慣れてるけど、比較対処が簡単なlogin画面で明らかにコーディング量が違っていたよ。DBアクセスの為のBean作成やログイン後の情報を保持する部分とか。
struts2に慣れればもっと良い書き方が出来るのかもしれないが
アノテーションはXML地獄よりは確実にましだと思うんだけどな
確かにおっちゃん連中はついて来るのが大変そうだった
743デフォルトの名無しさん: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デフォルトの名無しさん:2008/05/28(水) 01:44:58
Strutsと直には関係ないだろうけど、オマイらメールのテンプレート処理とかなに使ってやってんの?
746デフォルトの名無しさん:2008/05/28(水) 01:54:25
>>745
自前でstr.replaceAll(key,value)
747デフォルトの名無しさん:2008/05/28(水) 01:55:22
駄目だ。struts2のタグは応用効かなさすぎ。
俺はstruts2をやめるぞジョジョォォォオオオオオ
748デフォルトの名無しさん:2008/05/28(水) 01:59:03
>>747 そ、、、、そうかー???

使う側の応用力の問題ジェネーーーーーーーーノーーーーオオオ
749デフォルトの名無しさん:2008/05/28(水) 02:00:39
てかOGNLって何でも出来すぎてあとでメンテで困るんじゃねーー
って感じなんだけど。
750747:2008/05/28(水) 02:51:58
ValueStackはうまくいってるときは便利で強力だけど、
「望みの値が出ない」ときにどこが間違ってるのか検証するのが面倒。
struts2のComponentTagSupport系のタグだと処理が追えない。
751デフォルトの名無しさん:2008/05/28(水) 20:36:17
ajaxとstrutsの相性ってどうなんですかね。
styleId属性使うんだろうけど。
752デフォルトの名無しさん:2008/05/28(水) 22:24:38
名前忘れたけど、選択リストが複数出てくるGUI部品は内部でAJAX使ってたよ
753デフォルトの名無しさん:2008/05/29(木) 22:08:43
EventDispatchActionってボタンによってjavascriptのvalidation切り替えたりできない?
754デフォルトの名無しさん: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デフォルトの名無しさん:2008/05/30(金) 03:04:08
>>753
EventDispatchActionは知らんけど、
Struts1.1でやったよ。
756デフォルトの名無しさん:2008/05/30(金) 05:14:42
ELでMap#get()を呼び出したいときはどうしたらいいでしょうか。
${map.get(key)}だと
「デフォルトの名前空間が指定されていない時には、関数 get はプリフィクス付きで使用しなければいけません」と出ます。

OGNLなら%{map.get(key)}で取り出せるんだけど。
s2のタグにformatNumberがあればEL式と併用しないでいいのになあ
757デフォルトの名無しさん:2008/05/30(金) 06:46:53
${map['key']}
keyが変数なら ${map[key]}
ちなみに、「key」が実際のkey名でプロパティ名として使える場合は
${map.key}でもOK
JavaScriptの連想配列アクセスに似ている
758デフォルトの名無しさん:2008/05/30(金) 10:10:56
>>753
form分けろ
759デフォルトの名無しさん:2008/05/30(金) 10:31:52
>>756 S2タグとELの混在利用なんてとんでもない間違い
760デフォルトの名無しさん:2008/05/30(金) 14:38:00
>>759
じゃあ数値フォーマットはどうやんのさ?
いちいち>>741みたいにフォーマット外だしにして
メッセージフォーマット使うの?
761デフォルトの名無しさん:2008/05/30(金) 14:46:08
>>757
ありがっとさん。
ママ、僕にも出来たよ
762デフォルトの名無しさん:2008/05/30(金) 15:20:34
struts2のタグが生成するxhtmlをhtmlにする方法ありますか?
<constant name="struts.ui.theme" value="simple" />
としてもxhtmlみたいなのですが。

古い携帯にも対応したいのでhtmlにしたいんです。
763デフォルトの名無しさん:2008/05/30(金) 16:47:48
s:iteratorで見てるカレントオブジェクトとその上のactionとか
requestで同じ変数名を使ってるときに、上の方を参照するには
どうするんだっけ?

どこかのwebサイトで見かけたんだけどなあ。どこだったっけなあ
764デフォルトの名無しさん:2008/05/31(土) 19:27:17
>>760
数値フォーマットはJSTLでいいんじゃない?
S2タグにあっても良さそうなんだけど、fmtないんだよね〜
765デフォルトの名無しさん:2008/05/31(土) 23:10:37
>>764 JSPファイルはきっとぐちゃぐちゃだなww
766デフォルトの名無しさん:2008/06/01(日) 03:18:28
>>761
ボク、りっぱになったわね
大き過ぎて口に入らないわ
767デフォルトの名無しさん:2008/06/01(日) 09:48:32
>>765
どうやったらそこまでぐちゃぐちゃになるんだ…?
768デフォルトの名無しさん:2008/06/03(火) 00:04:36
>>728
お前は俺か。Maven最高。pomがちょいアレだけど。
WTPマジうんこ。
769デフォルトの名無しさん:2008/06/03(火) 00:22:06
MavenもWTPも両方使うだろJK
770デフォルトの名無しさん:2008/06/03(火) 08:18:22
struts2で
■■■■■
上記の様に複数の画像をサブミットボタンとして並べると画像間に隙間が空いてしまいます。
調べてみたのですが回避する方法見当たりませんでした。
隙間を開けずに画像を並べる方法ありましたら教えて下さい。

771デフォルトの名無しさん:2008/06/03(火) 14:18:34
>>769
WTPは別に無くてもいいだろう。
デバッグもこの方法ならWTPじゃなくても問題ないよ
http://goodjob.boy.jp/chirashinoura/id/179.html
772デフォルトの名無しさん:2008/06/03(火) 15:29:17
>>768
maven スレは過疎っているので、暇なときに遊びに来てください。
自分は maven はそれほど万せーでもないけど(微妙にめんどう)
773デフォルトの名無しさん:2008/06/03(火) 15:32:18
>>771
jetty って jsp 動かせるの?
774デフォルトの名無しさん:2008/06/04(水) 00:13:43
>>771
Maven Eclipse PluginでWTPプロジェクト作成した方が楽だと思うw
775デフォルトの名無しさん:2008/06/04(水) 00:22:32
今ならQ4Eだろ
776デフォルトの名無しさん:2008/06/04(水) 17:47:46
NetBeans使えばいいだけじゃねぇの?
777デフォルトの名無しさん:2008/06/04(水) 18:17:11
それはない
778デフォルトの名無しさん:2008/06/04(水) 20:42:18
WTPとは比べ物にならないよ。
779デフォルトの名無しさん:2008/06/04(水) 22:39:24
>>770
無理。
780デフォルトの名無しさん:2008/06/05(木) 11:44:42
あれ、JSTLのfmtタグってリクエストヘッダみて挙動変えるのか。
DoCoMoだとformatNumberがきかない。つかえね。auは大丈夫なのに。
fmt:setLocaleしても駄目だなあ。なにが足りないんだろ。結局カスタムタグか。

リクエストヘッダからfmt:messageでとってくるプロパティファイルは
setLocaleで変えられるんだよね?
781デフォルトの名無しさん:2008/06/05(木) 17:09:53
>>780
それはDocomoだとロケール情報をHTTPヘッダに持ってないってことなのか?

実際に取得したロケールの値と、プロパティファイルの接尾名が合致してないというオチは結構ある。
例えば、言語コードと国コード両方だと思ったら、片方しかないとか。
782デフォルトの名無しさん:2008/06/05(木) 18:51:17
>>781
うん、GETだとhostとuser-agentしか入ってない。機種はSO902i。
他の人のDoCoMoでも駄目だった
783デフォルトの名無しさん:2008/06/06(金) 00:41:40
>>782
だったらもう、Action側でロケール上書きで付けるしかないのかな。
784デフォルトの名無しさん:2008/06/06(金) 00:48:46
web.xmlのcontext-paramにjavax.servlet.jsp.jstl.fmt.fallbackLocaleとかはセットしてる?
785デフォルトの名無しさん:2008/06/06(金) 03:27:02
してない。
<fmt:setLocale value="ja_JP"/>を入れて駄目だった時点で
これ以上時間を浪費したくないからカスタムタグ書いた。
786デフォルトの名無しさん: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デフォルトの名無しさん:2008/06/06(金) 11:32:58
えー
それを開発環境に入れるのは楽だけど
カスタムタグに変えたところを戻して
外からアクセスできるところにデプロイしなおすのは面倒

と思ったけど手元にエミュレータがあったのでやってみた。
ちゃんとフォーマットされたよ。ちなみにauは"ja-jp"で送る
みたいだね
788デフォルトの名無しさん:2008/06/06(金) 21:12:05
ありがとう
携帯用画面の開発では結構ありそうなパターンだったから確認しておきたかったんだ
参考になったよ
789デフォルトの名無しさん:2008/06/07(土) 09:29:18
カスタムタグにすればOGNLに統一できるし悩ましいところだな
790デフォルトの名無しさん:2008/06/07(土) 14:21:32
しかしこれはいい事例だね。俺も作ってみるか…
791デフォルトの名無しさん:2008/06/11(水) 22:06:57
struts2で、session.invalidate()を読んだ後ちゃんとrequest.getSession(true)で新しいセッションを作らせてから、
ActionChainResultで別画面に遷移させると「セッションが無効」の
エラーがでます。おそらくInterceptorでセッションインスタンスを
キャッシュしてるせいだと思うのですが、追い切れていません。
logout時のinvalidate()は普通に成功しています。

login時にはsessionIdを発行し直して、かつリロードで
再度ログイン処理が走らないようにリダイレクトさせたいと
思っているのですが、なにか回避策はあるでしょうか。

sessionIdの発行し直しはセキュリティ会社に指摘されたことが
あって、ログイン前の無防備な状態でid盗聴されたらログイン後に
乗っ取られる可能性があると。今回の案件では始めから
httpsなのでやらなくてもいいかなとは思っているのですが、
できたらやっておきたいなあと。
792デフォルトの名無しさん:2008/06/14(土) 18:39:32
>>791
答えではないけれど、
Struts2ではsession.invalidate()は避けてほしいらしい。
http://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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2008/06/22(日) 15:37:40
えー、マジTomcat4?今時許されない
798デフォルトの名無しさん:2008/06/22(日) 15:49:56
なんかの保守じゃねえの?
799796:2008/06/22(日) 17:30:06
>>796

name="hogelist.hoge"でいいんだぜ
800796:2008/06/22(日) 17:47:08
>>796
ごめん、嘘ついた。
データは取得できるけど、名前が重複して変になる。
801デフォルトの名無しさん:2008/06/23(月) 16:42:05
>>794
エラー画面だされても意味がわからんので、リクエストしてるURLとエラーが出てるログファイルから判断しろ。
話はそれからだ。

>>796
<s:iterator value="hogelist" status="idx">
と、イテレーションのループ変数を宣言、

<s:textfield name="hogelist[idx]" />
でいいんじゃないのかね。

ただ、そのままだとValidatorを使ったときに困ると思う。
802796: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デフォルトの名無しさん:2008/06/25(水) 16:27:56
>>801
有難う御座います。また出直します。
804デフォルトの名無しさん:2008/06/26(木) 18:34:46
strutsにも飽きてきた。

strutsに代わるフレームワークってないの?
個人的にはwicket辺りに注目してるんだけどあんまり流行ってない?
805デフォルトの名無しさん:2008/06/26(木) 19:03:04
>>804
作っちゃおうぜ
806デフォルトの名無しさん:2008/06/26(木) 20:20:56
飽きたらカスタマイズか新作なんかね、wicketは日本で人気っぽいけど。
または自動生成ツールを作るとか、RIA側に手を出すか。

ちなみに、Struts2.2と2.5出るのって本気なのかね。
807デフォルトの名無しさん:2008/06/26(木) 20:32:23
>>804
dolteng入れてTeeda使うと笑えるよ
808デフォルトの名無しさん:2008/06/27(金) 01:50:54
>>806
2.2と2.5でどうなるの?
809デフォルトの名無しさん:2008/06/27(金) 21:08:28
http://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デフォルトの名無しさん:2008/06/28(土) 10:57:13
2.0だとdojoプラグイン(でも0.4)が既にバンドルされている。
dojo1.0に対応するのか、それとも他も使えるといいんだが…

2.2以降が出るのを待つかなぁ。
813794:2008/06/28(土) 14:17:11
リクエストしているURLは
http://localhost:8080/example/chap02/login.do?id=&password=
です。
http://www1.axfc.net/uploader/Img/so/14922.jpg
にアップロードした画面からリクエストされます。

ログファイルはC:\tomcat\logsにありますが、どれを挙げれば
よろしいでしょうか?

独学で聞ける人もいないので、このスレが頼りです。ご返信
いただければ幸いです。
814デフォルトの名無しさん: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形式で書くと、日本語をツールなしに使えると伺いました。
書き方等教えていただけないでしょうか。よろしくお願いします。
817794: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" "http://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>
818794:2008/06/28(土) 15:30:36
間違えました。↑はstruts-config.xmlでした。
web.xmlは下記のとおりです。

<?xml version="1.0" encoding="Shift_JIS"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://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>

何かご指摘いただければ幸いです。よろしくお願いします。
819794: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
820794:2008/06/28(土) 16:57:28
うまくいきました!

原因ですが、やはりWEB-INF\libに直接コピペしたのがよかったようです。
上記のエラーからは、struts-config.xmlのミスで、やっとうまくいきました!!!

本当に有難う御座いました!
またお世話になることがあると思いますが、その際はどうかよろしくお願いします!!
821デフォルトの名無しさん:2008/06/28(土) 17:09:02
>>819
遷移先のパスは<forward name="success" path="/jsp/chap02/success.jsp"/>でいいんじゃないのか?
822デフォルトの名無しさん:2008/06/28(土) 17:09:50
おっと、自己解決してたw
823794:2008/06/28(土) 17:10:25
>>821

はい、そこを直したら無事動きました!!ありがとうございました!!!!
824794: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
初心者スレかと思た
面倒見の良い人がいて良かったな
826794:2008/06/29(日) 07:15:25
>>825
そうですね、本当にありがたいです!!!
827デフォルトの名無しさん:2008/06/29(日) 12:06:05
>>824
・struts-config.xml に正しくActionクラス、Beanクラス等を定義できているか
・JSP内のパスは、struts-config.xmlに定義した名前になっているか
828デフォルトの名無しさん:2008/06/29(日) 12:37:03
MappingDispatchActionをぐぐると思いっきり出てくるんだが。
MappingDispatchActionを使う場合の必須事項はちゃんとやってるんだろうな…
829デフォルトの名無しさん:2008/06/29(日) 13:04:52
>>816
Eclipseプラグインのプロパティエディタ使えば、プロパティファイルをマルチバイトでそのまま編集できるぞ。

逆に
>XML形式で書くと、日本語をツールなしに使えると伺いました。
の出所を知りたい。
830794:2008/06/29(日) 13:18:03
>>827
>>828

ありがとうございます!また試行錯誤してみます!
831816:2008/06/29(日) 15:44:07
>>829
知り合いがどこかで見たことがあるという、とても曖昧なソースです。。

以前eclipseプラグインをいれようとしましたが、相性が悪かったのか
プラグインが認識できず、スタンドアロン版を使用していました。

PCも変わったので、eclipseプラグインを再度入れてみたら
すんなり入れることができました。お騒がせしました。
832デフォルトの名無しさん:2008/06/29(日) 16:28:54
Properties#loadFromXML
を使えばってことでしょ。
struts2では、xml形式かどうかなんか判断してないと思うので使えないと思うけど。
833794:2008/06/30(月) 01:08:09
さきほど、エラーが通りました!むちゃくちゃうれしいです!
皆様、本当に有難う御座います!
834デフォルトの名無しさん:2008/06/30(月) 01:19:54
>>833
偉いね
835デフォルトの名無しさん:2008/06/30(月) 16:04:57
偉くねーよ。
お礼の前に「なにを直したら動くようになったのか」を
書かないと情報量0じゃねーか。
836794:2008/06/30(月) 17:54:24
>>835
すみませんでした。
一からすべて書き直したら、エラーが通りました。どこが悪かったのかは
わからないままでした。
837デフォルトの名無しさん: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デフォルトの名無しさん:2008/07/01(火) 10:27:39
>>837
struts.xmlのpackage name=visitorの部分晒してみ?
839デフォルトの名無しさん: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デフォルトの名無しさん:2008/07/01(火) 16:30:41
前にも質問したのですが、struts2のformタグで生成されるタグを
xhtmlではなくhtmlにする設定は無いのでしょうか?
template/*.ftlを一式全部つくらないと無理でしょうか。
841デフォルトの名無しさん:2008/07/01(火) 22:15:36
>>837
それぞれのActionに
@Namespace("/")
て書けば期待したような動きになると思う
842デフォルトの名無しさん:2008/07/02(水) 00:45:58
>>837
継承元となるpackage要素には、次の決まりがあるみたい。
・abstract="true"をつける
・abstractのパッケージは、ネームスペースを持ってはいけない。
→他のパッケージ要素たちも、きちんとネームスペースを割り当ててあげないと誤動作する現象がある。

>>840
それって、theme=simpleでもダメなんだっけ。
843デフォルトの名無しさん: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デフォルトの名無しさん:2008/07/02(水) 08:04:16
>>843
イエス。
で、その中にtheme.properties置いて、parent=(継承テンプレート名)でいける。
使いにくい!と感じたら、ポリシーもって「使わないもの宣言」するのもありかね。

まぁ、あくまであの初期テンプレートたちはサンプル実装らしいが…
845デフォルトの名無しさん:2008/07/02(水) 17:17:17
Struts2のアクションのテストケースって、どういう風に書くのが一般的?
846843:2008/07/02(水) 20:16:36
不具合報告者の日本語がおかしくて、ログインボタンが無いっていうから
てっきりsubmitボタンだけ表示されないのかと思ってxhtmlが
駄目なのかと判断したんだけど、どうも全然違うURLを開いていたようだ。
とりあえず今のところ<input ... />となっていても不具合のある携帯は
なさそう。でもなあ、DOCTYPEでHTML宣言してるのにxhtmlが混じってるのは
気持ち悪いっていうか、お客に出すシステムとしては恥ずかしいなあ。
847デフォルトの名無しさん: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
初心者は既に動いてるサンプルプログラムをダウンロードしていろいろ試した方が良いと思うよ。
まずは知ることから始めなさい、だ。
849847:2008/07/03(木) 06:35:21
>>848
Struts付属のサンプルプログラムをポチポチといじってみたのですが良くわからず、
もっと基礎的な部分からやってみたほうがいいのかと上記サイトに行き着いた次第です。

サイトでは使用するソースをダウンロードできるのですが、
そこからプロジェクトを丸々落としてきても404なので首を捻っていた次第です。

もう少し付属のサンプルのxmlファイルとにらめっこしてみます。
850デフォルトの名無しさん:2008/07/03(木) 23:44:14
>>847
struts.xml.txtでどきどきしてしまった俺がいる。
拡張子はtxtじゃないよな…?

そうだなぁ…日本語でサンプル公開してる所ではmaven2利用してるものも結構ある。
あとは>>848の通り、Struts2以外で覚えるの多いかなー。超頑張れ。

ウチもサンプルとか公開してるので、ぐぐった履歴とかもついでに集計してるんだけど
結構みんな色んなので悩んでるね。
多いのはValidator(Validation)、Annotation、ModelDriven、Uploadとか。
851デフォルトの名無しさん:2008/07/04(金) 22:47:59
いあいあ、それは大丈夫です。.xml.txtになっているのはサイトのアドレスがそうなっているからでして。

来週からプロジェクトに参加することになったのでstruts2とは暫しお別れです。
まぁプロジェクトではたぶんstruts+spring+もう一個DB系のフレームワーク?でやるらしいんで
これからよろしくねstruts1。

struts1のことで判らなくなったらまたお世話になります。
852794: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"
"http://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>
(以下略)

853794: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\\ |
+--------------------------+---------------------------------------------------------+

854794: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 */ |
+----------+----------------------------------------------------------------+

855794: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デフォルトの名無しさん:2008/07/05(土) 01:09:09
JSPがUTF-8じゃないとか
857デフォルトの名無しさん:2008/07/05(土) 01:31:53
切り分けるためにDBに入れる前にアクションで
ログ吐いた方がいい
SetEncodingFilterでUTF指定してるなら俺も>>856に一票
858デフォルトの名無しさん:2008/07/05(土) 01:46:07
FORMをGETで送っていて、Tomcatのserver.xmlの設定をしてないとか
859794: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デフォルトの名無しさん:2008/07/05(土) 04:40:05
SET NAMES UTF8 な予感
861デフォルトの名無しさん:2008/07/05(土) 05:24:36
今回は、レベル低過ぎだな
862794:2008/07/05(土) 10:03:40
>>860
SET NAMES UTF8 というコマンドは知りませんでした!ありがとうございます!

>>861
低レベルで申し訳ないです・・・ orz
863デフォルトの名無しさん: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デフォルトの名無しさん:2008/07/05(土) 12:24:55
だいたいmysql文字化けのほとんどは>>860だな。
set names するのがイヤならjdbcのurlは

jdbc:mysql://ほげほげ&useUnicode=true&characterEncoding=utf8
でよいな
865デフォルトの名無しさん:2008/07/05(土) 12:33:47
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

これでSET NAMESは要らなくなる
794のstatus見る限り、ここはクリア出来ているように見える
866デフォルトの名無しさん:2008/07/05(土) 12:58:44
まぁ、JSPがUTF-8なら大丈夫だと思うけど、
その送信元ページにメタ要らなかったっけ。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

あとは皆の言ってくれた通り、
Actionなどでログ吐いてみて、どこで化けてるかを切り分ければいいんじゃないかね。
867デフォルトの名無しさん:2008/07/05(土) 13:03:37
あ、あとWin版のMySQL5.0だと、
UTF-8設定はインストール時にがっつりやってしまってくれるので
悩まなくなったかな。

余談だけどStruts2だとEncodingFilterなんか設定しないから
昔の苦労なんかしなくなった感じだよなぁ。。
「ウェーブダッシュが化けます」とかさ…

今もたまに頼まれるんだけど
868デフォルトの名無しさん:2008/07/05(土) 13:49:44
まぁそれでも文字化けするのがmysqlなんだけどな
869デフォルトの名無しさん:2008/07/05(土) 15:11:53
男は黙ってpostgres
870デフォルトの名無しさん:2008/07/05(土) 16:49:02
ポスグレって、Oracle互換にするんだっけ。
871794:2008/07/05(土) 19:57:42
おお、みなさん、たくさんのレス有難う御座います!!
いろいろ試行錯誤してみますね!

また来ます!!!
872デフォルトの名無しさん:2008/07/06(日) 01:21:54
>>871
おー、頑張れ。
おまいさんの今やってることは皆通ってきた道で、
同じように同じようなところでつまづいて、
でも切り抜けた連中ばかりがここにいる。

まずは自分で稼働できるようになれば、二度と忘れることはないだろう。
似たようなトラブルがあったとしても、切り抜けるヒントにもなる。

動くようになって、それで終わるのでもいいが、動いたら動いたで
「なんで動かなくなったんだろう?」を調べることが大事。
873デフォルトの名無しさん:2008/07/06(日) 01:26:17
>>872
つーか、mysqlのトラブルは経験値というより、
時間の無駄タイプが多かったからのぅ・・・
874デフォルトの名無しさん:2008/07/06(日) 02:44:17
というかmysql4.1のときは本当に解決手段なかったからなぁ
4.1.6だったっけ?あのあたりからマルチバイトがまともに動かなくなって
直るまでには1年以上放置

その間にWindowsネイティブ対応したPostgreSQL8にもっていかれたという感が強い
875デフォルトの名無しさん:2008/07/06(日) 06:17:49
すれ違いな話題を引っ張ってすまん。
前は日本ではmysqlとpostgresのシェアが半々くらい、
海外ではmysqlの方が断然多いと聞いていた。
実際オープンソースプロジェクトで標準DBがmysqlの物が
一番多いようにみえる。postgresも次点くらいに多いけど。

20年ほど前、LinuxとFreeBSDのシェアが日本では半々だけど
海外ではLinuxが圧倒的に多かった。結局LinuxがUNIX互換OSの
デファクトになった。DBではpostgresが逆転するかもってこと?
だと嬉しいんだけどなあ
876794:2008/07/06(日) 10:05:46
>>872

本当にありがとうございます!このスレ、いい方ばかりです。

まずは今、まずは今アクションフォームから受け取った文字を出してみる
ことを頑張っています。
877デフォルトの名無しさん:2008/07/06(日) 12:02:57
結局Strutsで作るってなると、オープンソースのDB使うこと多いから
あながちスレ違いでもなさそうだけどね。

先月どっかのセミナー聴講したときに、ポスグレのおっさんが言ってたけど
未だにMySQLの方がシェア高く、ポスグレは次点だけど、新製品でどんどんシェア伸ばす予定だそうな。

>>873-874
そうだったねぇ…5.0になってようやくマシになった感じ。
まぁ、MySQLのGUIツールの方が優秀に見えるけど
マルチバイトを入力するとハングするのはいただけない。
878デフォルトの名無しさん:2008/07/06(日) 13:40:43
>>877
> 結局Strutsで作るってなると、オープンソースのDB使うこと多いから

え・・・?
879デフォルトの名無しさん:2008/07/06(日) 14:33:06
>>877
> 結局Strutsで作るってなると、オープンソースのDB使うこと多い
うーん。おれもこの考えには同調できないな。

struts(J2EE)を利用できるという時点で、共用レンサバユーザとか
LAMP層顧客は除外されるから、Oracleだったり、DB2だったり
という機会が増える。寧ろSIerがOracleパートナーだったりすると尚更だな。
ただ>>877が言いたかったのは、OSSなstrutsを選択する時点で
MySQLやPostgresを使おうとするプロダクトに当たる可能性が増えるが、
既存システムを有償DBで構築してしまうとわざわざそれを変えようと
することも少ないと稚拙な経験から思う。
880デフォルトの名無しさん:2008/07/06(日) 14:49:44
>>877
>新製品でどんどんシェア伸ばす予定だそうな。

それは予定っつーか願望でしょw
キャッシュ割り当ての設定とかSQLの癖とか
ダンプ・リストアスクリプトの組み方とか両方覚えるのかったるいから
ポスグレにデファクトまで登り詰めて欲しいんだけど
881デフォルトの名無しさん:2008/07/06(日) 15:12:02
PostgreSQLってもうOracleの性能、品質ともに超えてるんでしょ?
882デフォルトの名無しさん:2008/07/06(日) 15:15:47
>>878
OracleやDB2って、ウチではそんなに使わないから、ってこと。
あとは>>879の言ってくれた通り、SIerがOracleパートナだとOracle一択になる。
すまんね。
883デフォルトの名無しさん:2008/07/06(日) 15:27:46
>>877
>まぁ、MySQLのGUIツールの方が優秀に見えるけど
>マルチバイトを入力するとハングするのはいただけない。
あの出来で金取るとかいってんだぜ?失笑だよ
バグの為に金払うかっての
884デフォルトの名無しさん:2008/07/06(日) 15:59:01
>>881
どんな妄想
885デフォルトの名無しさん:2008/07/06(日) 16:41:24
MySQLがGPLだから通常の業務で使おうとすると金がかかるというのが面倒かな
昔はpostgreSQLだけのためにLinuxいれてたところおおかったね
886デフォルトの名無しさん:2008/07/06(日) 20:45:53
もう夏休みだっけ?
887デフォルトの名無しさん:2008/07/07(月) 18:57:42
このスレに夏休み取れる奴がいるのか…?
888デフォルトの名無しさん:2008/07/08(火) 02:15:21
881と885は・・・
889デフォルトの名無しさん:2008/07/08(火) 10:39:15
MySQLがGPLで請負だと金かかるのは常識かと
890デフォルトの名無しさん:2008/07/08(火) 11:02:23
そなの?
GPLなら顧客に対してソースを開示すればいいだけ、
いやなら商用ライセンスにできるししたところで数万円だから
開発全体のバジェットから見たら誤差だと思ってたんだけど、
どうも前者の前提が違うみたいだね。わかるように説明してもらえないか?
891デフォルトの名無しさん:2008/07/08(火) 12:43:32
やるならその通りだけど、単に手間が面倒ってだけじゃね?
事務仕事とか経理処理とかそういうの。

で、金払いや事務仕事を実際にする人から
「どうせ同じOSSのDBなんだし、どっちでも同じでしょ」
と言われて、簡単な方に流れるというのはある。
892デフォルトの名無しさん:2008/07/08(火) 13:26:26
いや、GPLで請負だと「金がかかる」って言ってることから
そういうちょっとした手間の話じゃないだろう。
請負ならGPLじゃなくソース渡すこともあるしな。
ASPサービスなら渡さないけど。
893デフォルトの名無しさん:2008/07/08(火) 13:55:59
Struts1.2で勉強中なんですが、
どのサンプルを見ても、まずトップ画面でフォームを置いて
入力された値をsubmitタグのactionでstruts-configに飛ばし、
そこでaction-mappingを参照して指定されたpathの通りにアクションクラスを実行、ロジックで内部処理。
返却された「success」等の文字列によってforwardで次のjspページへ飛ばすって感じです。

この場合最初にフォームを利用してactionを呼び出していますが、
フォーム入力無しに、ロジックでの処理やアクションフォームへの値設定を内部で行い、
最後に表示されるjspをいきなり呼び出したい場合はどうすればいいんでしょうか?

strutsにはページを開いた時に強制的にアクションを実行するといったhtmlタグはないようなのですが。
894デフォルトの名無しさん:2008/07/08(火) 14:41:35
自己解決です。
<logic:foward />すればいいんですね。
ありがとうございました。
895デフォルトの名無しさん:2008/07/08(火) 17:33:35
まぁ他にもいろいろ手段はあるがな。
896デフォルトの名無しさん:2008/07/08(火) 17:41:55
アクションに飛ぶと見て勘違いしました。
forwardだとページ遷移するだけでaction-mappingは実行出来ませんね・・。
897893:2008/07/08(火) 17:46:50
度々すみません。

<logic:forward>は<global-forward>で指定されたパスへページ遷移するものだと思うんですが、

ttp://tag.main.jp/logicforward.html
このページの
>Struts-config.xmlの<action>のpath属性を参照し、リクエストを転送している。
という説明は間違いということでしょうか?
898デフォルトの名無しさん:2008/07/08(火) 20:06:18
>>897
うそだと思うなら
1.そのpathを別のものに変えてみる。
2.logic:forwardを使わずに従来のRequestDispatcher#rforwardをjspで呼び出してみる
3.metaタグやJavaScriptでフォワードしてみる

あとはstrutsはソース公開されてるし、Eclipse+jadでデコンパイルしたソースを
眺めてみるもよし、ご自由にどうぞ
899893: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ソースにはリンク先が「http://localhost:8080/hogehoge/${pageScope.act1.do」なんて出てきてる。
※ちなみにbean:writeで書いてるトコロには、マッピングされたアクション名がちゃんと出てきてる。
これって${pageScope.act1.path}の中身が置き換わってないってコトだよね?
901デフォルトの名無しさん:2008/07/09(水) 08:17:17
>>893
global-forward要素の意味をちゃんと調べろ。話はそれからだ。

>>900
解説本やサイトのソースで、稼働環境(特にJSPのバージョン)を見てみな。
調査が足りなすぎる。
902デフォルトの名無しさん:2008/07/09(水) 09:10:34
>>901
知識も無いのに曖昧なレスだけしなくていいよ。
903デフォルトの名無しさん:2008/07/09(水) 11:18:36
>>900
JSTL , Velocity etc ...
904900: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デフォルトの名無しさん:2008/07/09(水) 16:57:18
2.3・・・すげーふるいね
今のバージョンは2.5だというのに
906デフォルトの名無しさん:2008/07/09(水) 20:40:40
金融系システムだとオープンソースがそもそも
使えなかったりするから、それよりはましかと。
907デフォルトの名無しさん:2008/07/09(水) 21:34:13
金融系システムにはオープンソースが使えない
ということにして自社製品を押し込むコンサルまじでイラネ
特にIBMは逝ってよし
908デフォルトの名無しさん:2008/07/09(水) 22:18:36
IBMって、WASのHTTPサーバはApacheじゃねーか。
909デフォルトの名無しさん:2008/07/09(水) 22:30:46
>>908
そのとおり。
それを"オープンソースはよくないから"とか"保証が無いから"とか
難癖つけて有料で押し込むのがコンサル。
910デフォルトの名無しさん:2008/07/10(木) 12:58:26
>>908-909
そのくせWACSもしかりだが、IBM製品のソースは
ゲティってるわ、1年生バグ修正痕はそこらじゅうにあるわ。
最近ではにIBMサンプル改造品をメンテしたが、
W3Cとは正反対方向のタグ組んでたりとか、もう・・・。
911900: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デフォルトの名無しさん:2008/07/10(木) 17:52:06
>>911
サーブレット全盛ならまだしも、strutsでWebアプリ組むのに
そんなしょっちゅうweb.xmlなんて触らなくないか?
913デフォルトの名無しさん:2008/07/10(木) 21:14:34
StrutsIDEの最新版でもservlet2.3なの?
914デフォルトの名無しさん:2008/07/10(木) 21:16:11
facesなら2.4対応なんだけどな。
915デフォルトの名無しさん:2008/07/10(木) 21:21:33
>>911
EclipseWTP使えば、Tomcat5なら自動的にServlet2.4、6なら2.5になる
今使っているweb.xmlが古かったら、Tomcatの中にあるからコピペしてくればいい
2.4以上ならJSP上でELが普通に使えるようになる
916900:2008/07/12(土) 12:42:41
>>912-915
お返事感謝。結局>>912が真実かもしれづ。

>>913
少なくとも、初期設定そのままを動かしてたらYes。
917デフォルトの名無しさん:2008/07/12(土) 16:44:08
>>916
それはひどい

俺は使ったことないけどユーザー数が極端に少ないとか>StrutsIDE
918デフォルトの名無しさん:2008/07/12(土) 18:26:55
FW用のプラグインってそういうことよくあるから、自分は基本的に使わないな
Strutsの設定ファイルなら、EclipseのXMLエディターのアシスト機能で十分だし
919デフォルトの名無しさん:2008/07/12(土) 18:50:20
>>918
大規模ならstruts-config.xmlを小分けするし、
ましてやweb.xmlを編集することなんて皆無。

小規模なら、ツール使うよりテキストエディタでコピペして
必要か書だけ書き変えるよなあ。
920デフォルトの名無しさん:2008/07/14(月) 01:18:14
ひさびさ趣味アプリを1からstruts1.3で作ったら文字化けに
悩まされた。@page meta filter すべてUTF-8に統一しているのに、だ。

結果はTomcat5なのにGETでサブミットしていることだった。
たまにはこういうトラボーも経験だな。
921デフォルトの名無しさん: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つづき: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デフォルトの名無しさん:2008/07/14(月) 18:54:10
server.xmlのdocBase、workDirのパス指定が\1個になってるんだが…。
そもそも全角になってるのが気になる。
924デフォルトの名無しさん:2008/07/14(月) 19:37:35
>>921
<forward name="succsess" path="/index.jsp" />

<forward name="success" path="/index.jsp" />
925924:2008/07/14(月) 19:44:43
Actionに適当にブレークポイント打ってデバッグしてみ?
どこでコケてるか分かるぜ。
926デフォルトの名無しさん:2008/07/14(月) 23:39:19
>>908
IBMはtomcatも使ってるけど。
927921: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デフォルトの名無しさん:2008/07/15(火) 13:16:51
なんか基礎から全然出来てないと思う。
929デフォルトの名無しさん:2008/07/15(火) 18:54:25
なんとなく近頃教えてgooっぽくなってるかも。

Strutsへリクエスト投げる場合は全て****.doですよっと。
つか、libの中身空っぽなわけないよな?

Eclipseのビルドパスに入ってるんだよな。
930デフォルトの名無しさん:2008/07/15(火) 21:08:34
>>***.do
ですよねー。/Loginとか書いてあるのはなんだったんだろう…

ライブラリはWEB-INF直下に.tlbを入れてありますが…
931900:2008/07/15(火) 23:29:54
(たぶん)原因判明。
そもそも、StrutsIDEがStruts1.2までにしか対応していないのが原因らしい。
だめだこりゃ。
struts-config.xmlエディタとしてだけでも使えないかと思ったが、どうも今ひとつ動きが怪しい。
小分けにしてテキストエディタで書き換えていった方がよさそうだね。
便利だったんだけどあきらめるか>StrutsIDE

Struts 1.3に対応してるのはMyEclipseだけっぽいけど、使ってる人いる?
932876:2008/07/15(火) 23:51:23
以前、文字化けについて教えて頂いた者です。
その後、色々と試してみた結果、OS(winVISTA)のエンコーディングの
デフォルトがshift-JISのため、UTF-8でDB登録が出来ていなかったようです。
set names sjisとやったらちゃんと表示されました。

まさかOS側の方に原因があるとは・・・。

いずれにせよ、今回は、このスレの方に大変お世話になりました。ありがとう
ございます。現在、諸事情によりstrutsを一人で独学中なので、またお世話に
なることがあるかと思います。

そのときは、またレスを頂ければ幸いです。
933デフォルトの名無しさん:2008/07/16(水) 00:25:53
>>931
Strutsは1.2系がいわゆるこなれてる安定版で今でも一番使われてるよ
1.3では便利な機能がたくさんあるけど ほんの一部消えた機能があったりする
まず問題にならないけど

だから1.2対応ってのはそんなに間違ってない
web.xmlとかの話とは別だから
934デフォルトの名無しさん:2008/07/16(水) 00:27:06
>>932
set namesはやめといたほうがいいぞ
935876:2008/07/16(水) 06:15:59
>>934
え、そうなんですか?ほかに対応策とかあるでしょうか?jdbcのurlを
jdbc:mysql://ほげほげ&useUnicode=true&characterEncoding=sjis
にするとかでしょうか?
936900: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
938デフォルトの名無しさん:2008/07/20(日) 16:14:30
画面上でボタンを押すとtextに表示中の値に”さん”を付けて
textに再表示されるといった動作をさせたいのですが上手くいきません。
以下にソースを付けますのでどなたかご教授願います。
<%@page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html locale="true" >
<SCRIPT LANGUAGE=javascript>
<!--
function addItem( obj1 ){
var txt = obj1;
if ( txt.value == "" ) return;
var test = txt.value + "さん";

obj1.value = test;
}
-->
</SCRIPT>
<BODY>
<html:form action="/HelloWorld" >

<bean:message key="greeting" /><BR>
お名前をどうぞ。
<BR><html:text property="name" /><BR>
<html:button property="button" value="textの値にさんをつける" onclick="addItem(this.form.name,);" />
</html:form>
</BODY>
</html:html>

要はjavaScriptで変更した値をtextに表示させたいのですが、上手くいきません。
よろしくお願いします。
939デフォルトの名無しさん:2008/07/20(日) 17:41:04
もはやStrutsも関係ない
940デフォルトの名無しさん:2008/07/20(日) 19:27:17
FireBug使ってデバッグしろ
941938:2008/07/20(日) 19:28:32
自己解決しました。

obj1.value = test;

txt.value = test;

と変更し解決できました。

>>939
struts関係ないとの事でjacascriptの関数をもう一度
試行錯誤してみて できました
ありがとうございました
またスレ違い申し訳ありませんでした。
942デフォルトの名無しさん:2008/07/21(月) 12:03:38
ここ1〜2年の間eclipse+strutsで開発しています。

strutsのおかげで可読性は保ちやすくなっていると思うのですが、
書かなければならないお約束が多くて生産性が上がらないように
思います。

例えば画面に項目を追加するためにjspにタグを書いて
デザインのためcssを書いてcssを適用させるためにタグに
class属性を追記して・・といったような部分に手間が・・

リファクタリングは便利なんですけど。

学習コストは無視したとしてlinuxサーバーでwebアプリケーションを
手っ取り早く作れるツールはないでしょうか?

因みに自分が使った言語では最もてっとり早く作れるのはVB6
( webじゃありませんが(^^; )で、.netは使ったことがありません(^^;
943デフォルトの名無しさん:2008/07/21(月) 12:56:57
strutsが生産性最悪なのは有名かと
でもcssの話はStruts関係ないかと

生産性が気になるならフレームワークを変えたほうがいい
944デフォルトの名無しさん:2008/07/21(月) 13:54:15
>>942
struts1.xの話?
945デフォルトの名無しさん:2008/07/21(月) 13:59:48
>>942
tag拡張してJSP実装者が細かいこと意識しないですむようにすればよいのでは?

数年前いじりまくったなぁ、かなり。
個人的にはいじりがいがあって面白かったけど
最近のサイクルの早いWEBアプリの開発だと
もうStrutsはきついなとは思った。
Rubyはなんか言語仕様が嫌いなんでRuby On Railsもねぇ・・・
といいつつ最近はSwingばっかり。
WEBは楽で良かったな−
946デフォルトの名無しさん:2008/07/21(月) 14:48:28
普通はSwingのほうが楽だろうに・・・
947デフォルトの名無しさん:2008/07/21(月) 17:50:37
Swingの方が色々要望が出るのでキツイかも知れない。

Strus1も2も、自動生成ものがあれば軽いやつはさくっとね。
948デフォルトの名無しさん:2008/07/21(月) 21:34:15
942です。皆様レスありがとうございます!

>943さん

やっぱり生産性悪いんですね!! (^^;
もっとラクできるツールがあれば今後の開発時に検討したいと思います。

>944さん

struts1.xを使っております。

>945さん、946さん、947さん

恥ずかしながらtag拡張は使ったことがありません。
勉強します(^^;

あとSwingですね、こちらも名前しか知らなかったので・・・
今後の開発ツールの候補として一度調べてみます!

皆様のご意見参考にさせていただきます。
ありがとうございました!
949デフォルトの名無しさん:2008/07/21(月) 22:19:57
こんなレベルで検討とか・・・
950デフォルトの名無しさん:2008/07/22(火) 07:28:06
本人が検討したいんだから、いいんじゃないかね〜
>>949が検討に値するものを伺ってみたいな。
951デフォルトの名無しさん:2008/07/23(水) 01:27:36
別人だけどどの言語で開発しても必須のcssと、
開発ツールのEclipseと、Webアプリフレームワークのstrutsを
混同してフォームベースポトペタ開発のVBと
くらべてる時点で検討に値しないと思う
952デフォルトの名無しさん:2008/07/23(水) 01:33:49
Strutsの1.2系って、どのJavaのバージョンから動きますか?
Java1.3でも動かせますか?
953デフォルトの名無しさん:2008/07/23(水) 02:43:24
>>950
942のスキルレベルで検討したって検討結果に意味が無いって言ってんの。
ちゃんと検討出来る人間ならある程度自分で探して比較してる。

それが対象がVBですがな、VB厨なのに.NETすら調べてないがな、話にならんがな
954デフォルトの名無しさん:2008/07/23(水) 10:17:06
つか、Strutsって開発効率悪いか?
PHPなら他のフレームワークにも少し触ってるが、それほど開発効率に差があるとは思えんがねぇ。

そりゃタンキで使ってりゃわからなくも無いが、最低Hibernateなり他のO/Rマッパと組み合わせて、少し規模が大きくなればSpringと一緒にってー所だべ?
※S2Strutsって使ってる香具師いるん?(;´∀`)
ここまで有名なフレームワークなら、大抵のノウハウはWebに転がってるし。
955デフォルトの名無しさん:2008/07/24(木) 18:01:01
>>337
だいぶ古い話で恐縮だが、StrutsTestCaseが更新されてる。
http://sourceforge.net/projects/strutstestcase/
日付を見ると>>337の10日後だw
Struts1.3に対応しているらしい。

・・・ところで、本当にorg.apache.struts.mock.TestMockBaseとか使ってる香具師いるのか?
(もちろん英語で)google先生に聞いてみても、APIと開発チームのドキュメントしか引けねーのだが。
956デフォルトの名無しさん:2008/07/25(金) 01:47:18
>>954
そこまで劇的に良くなるというものでもないかな。
経験者が多い(だろう)から、教える手間が省ける(と思いたい)と。
…と、甘いこと考えてると酷いケースがあったり。

ウチは規模小さくてもSpring+iBatisをあわせて使ってるなぁ。
トランザクション定義のテンプレXMLが出来てるので、それを使えって感じにしてる。
そういうところは個人的な慣れがあって、オレだけの効率がいい…。

>>955
Strutsのは結局よーわからんかったので、
ウチはSpringのmock使ってる。
個人的にはその方が動作試験作りやすいかなぁ。

サービス試験って位置づけにしたと上に言うと、ウチは納得してくれる。
957デフォルトの名無しさん:2008/07/26(土) 00:56:04
struts2の時はカヌーを使ったな、日本で使ってる奴なんて居るのかな
958デフォルトの名無しさん:2008/07/26(土) 15:57:12
>>956
>経験者が多い(だろう)から、教える手間が省ける(と思いたい)と。
>…と、甘いこと考えてると酷いケースがあったり。

なにその俺の今やってる仕事。上がStrutsなら楽だ的なのりで素人集団に
何の教育もせずに放り投げたから、JSPにロジック入れまくりだの、
Formはちゃんと使わないだの、出来上がったものは生き地獄ですよ。
ちゃんと扱える人間混ぜとけよ・・・orz
959デフォルトの名無しさん:2008/07/26(土) 19:59:23
>>957
Canoo WebTest
960デフォルトの名無しさん:2008/07/27(日) 01:22:16
素人だがStrutsより
JSFの方が良いんじゃないの?
961デフォルトの名無しさん:2008/07/27(日) 02:01:26
>>960
案件しだい
社内用ならそのとおりといえる
962デフォルトの名無しさん:2008/07/27(日) 12:11:39
>>958
あるある。

結局そのぐだぐだなソースを「リファクタリング」の名の下に修正しないといけない。
リファクタフェーズといいつつ、ほとんどがバグ修正になるんだぜ。

しかしその放り投げられた瞬間にできる予防策っていうと
サンプルコードを大量に作成するくらいなんだろうかね。。。
コピペならできんだろお前ら…?という情けない状態だし、そもそもそんな時間なかったりするけどね。
963デフォルトの名無しさん:2008/07/28(月) 22:32:30
StrutsとJSFって一応ポジションが違うんじゃないの?

ShaleってJSFに最適化されるとかしないとか・・・古い知識でスマソ
964デフォルトの名無しさん:2008/07/28(月) 23:29:13
JSFって。。。。完全に終了だろ
965デフォルトの名無しさん:2008/07/28(月) 23:35:22
Strutsしか扱えない土方乙

でもここはJSFの話をするスレではないぜ
966デフォルトの名無しさん:2008/07/30(水) 00:18:16
>>942
Struts2でzero configuration使っとけ
codebehindも使えば struts.xmlは空っぽでもおk

具体的には
・ActionForm不要
・action-mappingsはzero configuration設定すれば必要なし
・ActionForwardはResultになった
 Resultの設定はアノテーションで書くか、codebehindプラグイン入れてファイル名の規約にすれば
 アノテーションすら不要
・action-mappingsを一生懸命読むよりもファイル一覧を見た方がはやいし管理も一応できてる
・validation.xmlもアノテーションにして終了

ただOGNLの仕様がでかくてうざい
別の言語作っちゃってどうするのかと
FTLはsimpleテーマ使ってれば回避可能 でも使った方が便利か?


967デフォルトの名無しさん:2008/07/30(水) 00:21:31
正直OGNL最悪だよね
実行時エラーでやすいし
968デフォルトの名無しさん:2008/07/30(水) 00:31:40
ELに比べれば100倍マシだろ
969デフォルトの名無しさん:2008/07/30(水) 00:38:03
あとinterceptorのせいで呼び出しスタックが無闇に深くなるのもウザい
あれでパフォーマンス落ちてないか心配だが誰か調べた人っていないんかな。
970デフォルトの名無しさん:2008/07/30(水) 00:45:36
スレ読んだ。
誰もcodebehindについて触れてなかったのか。オススメっすよ。
Railsみたいな感じになる。CoC万歳。まだexperimentalなのが玉にきずだけど。

上でも言われてたけど、zero configuraitionだと、(codebehindがない場合)
アノテーションを使わなきゃいけないから、規模が大きくなると画面遷移を追いにくくなるのは確か。

でもcodebehindを使ってれば、ディレクトリ構造見ただけでaction-mappings程度の情報量があるので無問題。
わざわざ別ファイルにして、ActionForwardとかいって妙な識別子を増やす必要は殆どなかったってことだな。さよならstruts1。

あと注意して使えば dynamic method invocation (クラス名!メソッド名.actionでアクセスできる)も良いよ


971デフォルトの名無しさん:2008/07/30(水) 07:05:52
Struts2は次のバージョンでパフォーマンスアップするんじゃねーの

Struts1.x代の資産持ってるとこは引き継げなくて大変だろうけど
972デフォルトの名無しさん:2008/07/30(水) 12:08:49
strutsはまどろっこしくてイライラする
973954:2008/07/30(水) 14:27:16
>>956
まぁO/Rマッパは好みとして、Springってやっぱ初手でも/規模小さくても使ったほうがいいかな?
「リクエストのたんびにインスタンス作るからスレッドセーフ気にしなくてもいい」ってのは、余計なバグを防ぐ対策にもなるし
※いや、「そんなヘッポコな開発要員使ってんじゃねーよ!」というツッコミは至極御尤もではあるが(;´∀`)

「とにかくこーやってstruts-configとSpringのxml書け。そうすればログは勝手に記録されるから、自分がキャッチしたい例外以外は全部Throwしとけ」
「DAOのメソッドをadd***とかdelete***って名前にしとけば、その前後でトランザクションは制御される。例外出たら勝手にロールバックされるし」
別にインターフェース分離しなくてもいいぢゃん、これだけの為にSpringするのもいいかも。と思い始めた今日この頃。

ま、あまり大規模な開発ぢゃない場合、という大前提は付くだろうけどね。
使いまわさなけりゃならないオブジェクトがそんなにないなら、これでもいんぢゃね? というのは浅はかカナ?
974デフォルトの名無しさん:2008/07/30(水) 14:42:14
いろいろキモい
975デフォルトの名無しさん:2008/07/30(水) 15:36:51
Strutsの話か?
976デフォルトの名無しさん:2008/07/30(水) 20:39:56
>>973
springを使いこなせる奴はspringを使うよ
知らない奴は無理するな、火傷するだけ

とはいえ、ひとつの目安として
将来、機能拡張する予定があるならspringは良い選択だよ
977デフォルトの名無しさん:2008/07/30(水) 21:55:19
>>974がすべてだな
978876:2008/07/30(水) 22:03:40
次スレのタイトルどする?
979デフォルトの名無しさん:2008/07/30(水) 22:16:02
△△もっとStruts2の良さを教えてください
980デフォルトの名無しさん:2008/07/31(木) 23:06:43
これはひどい

Strutsの常識を知り、EclipseとTomcatの環境構築
http://www.atmarkit.co.jp/fjava/rensai4/webjousiki02/webjousiki02_1.html

ここまでひどい記事は久しぶりに見た。
@ITはたまにこういう記事を平然と載せるね。
981デフォルトの名無しさん:2008/07/31(木) 23:24:16
@ITは定期的にひどいの載せるよね
なぜこんなコードを書くのかわかんねーというような

しかも違う人が書いても同じところでまったく同じミスをしていると
コピペしたのかと疑ってしまう


しかし、Eclipseだとセットアップが面倒だね
初心者向き記事ならNetBeansのほうがいいかな
Tomcatも内蔵してるし、いきなりプロジェクトの作成からスタートできる
982デフォルトの名無しさん:2008/07/31(木) 23:28:44
ぱっと見た感じいろいろツッコミどころはあったけど
そこまで酷いというのはわからなかった。>>980はなにを
酷いと思ったの?今更struts1の入門記事を隅から隅まで
読むのも面倒だから教えてよ

技術系は編集者が技術レベルについていけてなくて、
著者の勘違いが校正されないまま嘘記事が載るっていうのは
@ITに限らず昔からあると思うんだけど
983デフォルトの名無しさん:2008/07/31(木) 23:34:09
普通こんなセットアップしないからw
今なら別にTomcatプラグインも要らないし
Eclipse for JavaEE Developers落として、
TomcatをServer登録するだけですぐ使える
984デフォルトの名無しさん:2008/07/31(木) 23:43:07
その程度で酷いとか突っ込むの?
devLoaderとかtomcatにしか無い機能もあるし、
WTPの方が高機能だけど重いからtomcatプラグイン
を新規プロジェクトで採用する人もいる。
自分がたまたま知ってる事と違うことをやるのは許せない人なんだね
985デフォルトの名無しさん:2008/07/31(木) 23:43:44
>devLoaderとかtomcatにしか無い機能もあるし、

tomcatプラグインにしか、の間違いね。

986デフォルトの名無しさん:2008/07/31(木) 23:48:20
>>984
>>983>>981のNetBeans関連に対するレス
あと、@ITの記事はTomcatプラグイン入れてるのにJavaプロジェクトで構築してるから、
Tomcatプラグインはサーバ起動にしか使ってないぞw
987デフォルトの名無しさん:2008/08/01(金) 00:10:58
ところでこの記事
なんでアクション&フォーム=サーブレットになってるの?

少なくとも”常識を学んでいこう”という文字が悲しくなるね。

つーか、肝心のサーブレットの設定がなくね?
ほかのコード省略してでもこっち載せるべきなのでは?
988デフォルトの名無しさん:2008/08/01(金) 00:25:48
で、Server.xmlにコンテキストの設定を直接書いて、インターネットから参照(笑)
989デフォルトの名無しさん:2008/08/01(金) 00:43:00
>>988
うは、ひどい

なんか5年位前の記事かと思うようなところが多いな

筆者の会社のサイトリンクあるんでみてみたらIE以外動作が怪しいし・・・
990デフォルトの名無しさん:2008/08/01(金) 00:47:18
今更もったいぶってstruts1なんかのクオリティ低い記事を書く時点で知れたものっつーか
記事にするならstruts2でそ

991デフォルトの名無しさん:2008/08/01(金) 00:59:29
>>986
すまんす。勘違いしてた。

>>988
よくこんな細かいとこまで読んだな。吹いたよ。
「インターネットから以下のURLを参照」でlocalhostとか。
この人のインターネットってなんなのか聞いてみたいわ
IEの事だったらパソコン初心者すぎるw

つかさ、前線でバリバリやってる人は忙しくて
原稿なんか書く暇ないし、ライターに期待するのは
紹介記事程度なわけだけど、こんな古いものの
紹介記事なら昔の記事を検索できるようにしといてくれれば
いいだけだし、なにがしたいのかわかんないね。

とりあえずメセナ・ネットコムの技術力がやばい
ことだけはわかった。
992デフォルトの名無しさん:2008/08/01(金) 01:18:13
@ITは記事が2ちゃんで叩かれると、何の断り文も無しに
いつの間にかしれっと修正して、酷い記事が叩かれたことなど
無かったことのようにすることがあるから、今回も要観察だねw
993デフォルトの名無しさん:2008/08/01(金) 01:46:36
まあ放置するよりはいいんじゃね
994デフォルトの名無しさん:2008/08/01(金) 02:16:48
>>992
有名なストリームアクセスの問題はずっと放置されてるような
995デフォルトの名無しさん:2008/08/01(金) 05:30:12
次スレたちました。どぜう。
△△もっとStruts2の良さを教えてくださいSsssion6
http://pc11.2ch.net/test/read.cgi/tech/1217536023/
996デフォルトの名無しさん:2008/08/01(金) 05:45:18
S
997デフォルトの名無しさん:2008/08/01(金) 05:47:00
t
998デフォルトの名無しさん:2008/08/01(金) 05:48:52
r
999デフォルトの名無しさん:2008/08/01(金) 05:51:37
u
1000デフォルトの名無しさん:2008/08/01(金) 05:52:29
t
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。