△△もっとStruts2の良さを教えてくださいSsssion6
1 :
デフォルトの名無しさん :
2008/08/01(金) 05:27:03
2 :
デフォルトの名無しさん :2008/08/01(金) 05:28:12
前スレが軽く祭りになってて吹いた
まだこのスレはいいほうだぜ 夏厨に取り付かれたJavaのスレがあってだな・・・
Struts1の良さを教えてくれよ
みんなの役にたたんものを再度話題に挙げても無駄だろう むしろ宣伝としか思えない
あれほどたたかれて宣伝もなにもないと思う むしろ会社に迷惑かけてるとか
10 :
デフォルトの名無しさん :2008/08/01(金) 19:43:43
>>7 で挙げた@ITの記事へのツッコミ
1. Tomcatプラグインを入れていながら、その機能を全く使っていない。
WTPでなくTomcatプラグインを入れるのはまだいい。軽いとか理由があるから。
だが、入れるなら使おうぜ。折角便利な機能があるんだから。
サーブレットとJSP関連のjarをクラスパスに追加するとか、
コンテキストを追加するとか、Tomcatの起動/停止とか、
記事で書いてることを、もっと簡単な操作でできるんだから。
あと、デバッガで追っかけられるのも大きい。
2. Tomcatプラグインの設定をなぜ変える。
折角デフォルトでコンテキスト・ファイルになってて、server.xmlに触らずに済むようになってるのに
なんでわざわざserver.xmlに変えるかね。
3. 環境変数TOMCAT_HOMEの設定は不要。
というかTomcat6ならCATALINA_HOMEだろ。
4. exeのインストーラ版Tomcatは開発者には不便。
サービスで起動済みのTomcatと手動で起動したTomcatがかぶって動かない、
とかトラブルになるが、今後大丈夫かねぇ。
一番大きいのは1だな。これでデバッグできないことが確定してしまった。
後から治せないことはないが、この連載のレベルでは無理だろう。
「Strutsの常識を知り」とあるが、Eclipseを使わせてるわりにEclipseの常識は知らんらしい。
大方、Tomcat3の頃からjavac+エディタ一筋で生きてきた開発者だろう。
それが悪いとは言わないが、書いてる内容ぐらいは調べてからにして欲しいな。
>>11 だからもういいよ・・・そんなの相手にするレベルじゃないだろ?
strutsスレだからこそへんなのは指摘してもいいとは思うけどな
>>11 サーブレットの作成というところで
アクションフォームとアクションがサーブレットなのでこれを作るとなっている
初心者を惑わしたいらしい
あとインターネット(笑
>>13 バカ嘲笑う為のスレじゃないだろ。
って2chだしどっちでもいいかw
「JavaサーブレットのHelloFormクラスとHelloActionクラス」、 「インターネットから以下のURLを参照」わろた。 んで、肝心のActionServletをweb.xmlに登録する手順が無いのな。 これが「webアプリの常識」かw これじゃ初心者は動かせんぞ。
>>16 WEB-INF以下は、struts-blank.warからコピーする手順になっているので、
web.xmlは手直ししなくても動く。
しかし、ActionFormとActionがサーブレットとか、「インターネットから以下のURL」とか
なかなか楽しませてくれるじゃないの。
山田に次ぐ期待の新人の登場だ。
今のWTPなら安定してるし、使うと楽なんだけどね。 ところでスレタイが相当ひどいことになってるが皆スルー力が高いんだな。
スレタイ通りstruts2の話題しようぜ
21 :
デフォルトの名無しさん :2008/08/02(土) 10:57:59
もともとまともなタイトルじゃなかったんだし、うまってからでいいだろ
スレタイがStruts2なのにSession書けないのはいただけない。
いや、絶対わざとだろ
codebehindの事書いてた人がいるけど、 codebehindってなにをするの? 検索して出てきたblogではlogin-input.jspとかlogin-success.jspとか アノテーション無しで振り分けできるってあったけど、 これcodebehindプラグイン無しでもできるでしょ?
26 :
25 :2008/08/04(月) 02:44:05
ごめん今codebehind無しで試したら No result defined ってエラーになったわ なにか勘違いしていたらしい
1.xについては、どこで話せばいいんだ? 1と2ではぜんぜん違うというのに。
Actionを継承した場合、アノテーションで指定した @Resultは下のクラスで上書きできないのな struts2は複数のURIとjspの組み合わせで一つのActionを 使い回すの面倒だね。struts1とどうようにxmlに URIとActionとjspの組み合わせを記述するか。 struts2にする意義が薄れるけど
29 :
デフォルトの名無しさん :2008/08/04(月) 09:11:23
>>27 やっぱ別スレ立てたほうがよさそうだな。
どっちを使うかは住人次第ってコトで
30 :
デフォルトの名無しさん :2008/08/04(月) 09:24:59
人少ないのにそんなことする必要ねえだろ struts2やってるのはほとんどstruts1卒業した経験者だし、 あっちで質問したら答えてもらえる可能性減るぞ
32 :
デフォルトの名無しさん :2008/08/04(月) 14:21:17
>>31 じゃあ、なおのことスレタイに「Struts2」と入れるべきじゃないね
メール欄みるとみんな同じやつか 夏だな
あれ? この板ID非表示じゃないの?
メール欄にsage(と空白)以外を入れる香具師なんて見たことないし、
>>33 は何を見てるんだ?
>>34 33じゃないけどage厨追うとわかると思うよ。
Struts2の話か。 またセキュリティ用フィックスがあったくらいかな、GAリリースが2.0.11.2。
2.1のGAリリースはいつ頃になるんだろ?
なんかいつ出るかもハッキリしてないけど、 お題目だけみてると2.1より2.2待ちの方が良さそう。
40 :
デフォルトの名無しさん :2008/08/06(水) 14:23:18
2は2のスレで話せよ。 何のために分けたか和歌欄だろ。
41 :
デフォルトの名無しさん :2008/08/06(水) 14:25:16
スマン。勘違いしてた。 ここが2のスレだった。
さすが夏休みw
>>40 またお前か
このスレはStruts1/2の6番目のスレだよ
>>2 のサイトが凄い分かり易い
今Struts勉強してるから助かる
というか皆さん良く知ってるねぇ
仕事で無理矢理・・・
>>47 1.3でかなりの改良が入ってるのは事実なんだけど
「枯れている」ことを選択するユーザーは1.2系しかつかわないよ
1.3は日本語の情報が少ないこともありそうな。 2もそうだが…
既に1.2でRequestProcessorをカスタマイズしてたり するからな。
前スレの話題で悪いけど、仕事が一段落したので struts2のnamespaceを試してみた。 @Namespaceか@ParentPackageでnamespaceを指定して いない場合は、自分のいるディレクトリがそのままnamespaceとして 割り当てられるんだね。たぶんweb.xmlに書いたActionPackageからの 相対パスで。ActionPackageに/actionと/action/adminがあっても 親の/actionからの相対パスみたい。
52 :
デフォルトの名無しさん :2008/10/07(火) 02:20:58
オレ的には最高のフレームワークだ! Struts2より優れたMVCフレームワークを知っていたら教えてくれ
たしかに仕様は最高だけど、Struts2独特のモッサリ感は解消されたのかな?
2を早判りする為のサイトってある? それから現状2で実際に開発してるの? エロエロな人おせーて><
55 :
54 :2008/10/30(木) 20:45:04
過疎age
strutsだと?なぜ今になって!! 多くの仲間が貴様に倒された。 その仇!とらせてもらう!!貴様の時代は、終わっている!!
>>57 struts1.xと勘違いしてる?
struts2はWebWorksなんだが...
59 :
デフォルトの名無しさん :2008/11/18(火) 12:25:04
60 :
デフォルトの名無しさん :2008/11/18(火) 21:55:27
「目覚めてくれStruts2・・・。ここにはStruts1.xと、Java6と、俺がいる!!」
便利で多機能そうなのにあまり広がらないな Seasarよりは使えそう
struts2って日本語情報あるの? ないと、お偉いさんを説得するのが一苦労なんだよ。
宣伝うぜえ しかも中身スッカラカンのくせに
65 :
デフォルトの名無しさん :2008/11/21(金) 22:55:38
あーあ、また過疎ちまったじゃねーか 保守だ
66 :
デフォルトの名無しさん :2008/11/28(金) 01:44:38
すみません、誰か教えてください。。 <s:select>でlist=map(Db取得したもの)を設定しているのですがセッションに格納時は問題ないのですが・・・格納しない場合以下のようなメッセージが発生します(validateかけた場合のみ?) could not be resolved as a collection/array/map/enumeration/iterator type listへの設定するものはsessionに格納のしていないと不可能と考えていいんでしょうか??
普通はrequestに入れるんだがな
セッションかリクエストかは場合による
struts1.*と同じでカスタムタグのスコープによるのでは?
70 :
デフォルトの名無しさん :2008/12/03(水) 19:36:51
初歩的なことを伺いますが、struts2ってEJB3ってヤツとは別路線って認識でいいんですか? なんかJavaのフレームワークって沢山あってよく分からないんですが・・・。
別路線というか、シャツとズボンぐらい違う。
webworkってのが入ってるけど、思考感覚としては mojaviやzendframeworkの方が近い気がする。 流行りなんだろうね。
struts2の和書、一種類しかないの?
Struts2 インアクションが出るまでお待ちください
これを機会に英書にちょうせんしれ
Struts2 in Action内容はどうなの?
日本語がいいです><;
Struts1.Xの次はStruts2が来るのかい? Wicketにも手を出してみたがあんまりしっくりこなかった。
Struts2がくることはなさそうだ Clickは?
なんだ?clickって??シラネーヨそんなマイナー アンチうざす
83 :
デフォルトの名無しさん :2008/12/12(金) 21:26:11
seamとstruts2ってどっちがいいんだろうか。 標準って意味だとseamの方がいいのかね?
struts2で入力画面→確認画面→登録の流れを実現したいんだが、どうやってやんの?
>>84 サンプルみろ
できないならもともと素養がない
別の道をさがせ
できないので別の道を探します
もう迷うなよ
くだらない
自分で探せ できないならもともと素養がない 別の道をさがせ
なんだ知らないのか お前そうとう面白実装していそうだなw どうやるんだか簡単に説明してみろよ
無能な奴ばっか
煽るばっかりで全然中身が無いなお前は 方針説明するだけなら減るもんじゃねだろ 貴方の知っている方法を説明してくれよ みんな聞きたがってるよ
<わからない9大理由> 1.読まない …参考書などを読まない。読む気などさらさらない。 2.調べない …過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3.試さない …めんどくさいなどの理由で実行しない。する気もない。 4.覚えない …人から聞いて、楽して得た答えは身に付かないから、すぐに忘れる。 5.説明できない …何に困っているのか、第三者に正確に伝わる文章が書けない。 6.理解力が足りない …理解力以前の問題で理解しようとしない。 7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。 8.感謝しない …教えてもらって当たり前。事がすんだらさようなら。 9.逆切れする …自分の思うようにならないと逆切れする。
ワロス
ガキが もったいぶって?方式すら説明したくない、できない?ならいちいち出てくるな
ガキではありません。 ぼっちの大学生です。
> 9.逆切れする …自分の思うようにならないと逆切れする。 ほんとだった
できないならもともと素養がない 別の道をさがせ
100 :
デフォルトの名無しさん :2008/12/13(土) 12:19:47
struts2で作らなくちゃならなくなったのだが、本とかなくね? struts1は、もうなくなってしまうの? 今から作るものは、struts2で作らなくちゃいけないの? struts1と、なんか別ものくらい変わってね? だったら、別の名前をつけてくれよ。 そーしたら、「strutsの最新版で・・・」みたいな命令で苦労することは、なかった
>>100 struts2は、Webworksというフレームワークをもとにしているので別物です。
ちなみに本は洋書がある。
>>102 >struts2で作らなくちゃならなくなったのだが、本とかなくね?
AmazonでStruts2で検索
>struts1は、もうなくなってしまうの?
今でもStruts1.3.X系が開発続行中
>今から作るものは、struts2で作らなくちゃいけないの?
使う人の自由
>struts1と、なんか別ものくらい変わってね?
実体はWebWork
>だったら、別の名前をつけてくれよ。
>そーしたら、「strutsの最新版で・・・」みたいな命令で苦労することは、なかった
単に調査不足なだけでは?
命令の「Struts」が既存のStrutsのことを言っているのなら、その最新版はStruts1.3系になる
ゆとり人間に親身に教えたりするな 甘やかすと使えない人間にしか育たない
104 :
デフォルトの名無しさん :2008/12/13(土) 13:27:24
お前のキャラツマンナイヨ
本がないと開発できない奴はもともと素養が無い 別の道を探せ
> 7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
なんだこの流れ
最近、Java技術者層の厚みが薄くなって来てる気がする 日本語翻訳情報の貧弱さはまるで鎖国でもしてんのかと疑う程ひどい 携帯電話同様ガラパゴス化するんじゃねーの
おまえががんばれ!
111 :
109 :2008/12/14(日) 21:35:11
>>110 俺はこの状況に重宝してる
スキルがあって英語がそこそこ出来るから、こんな御時世だけど引く手あまた
インドとのブリッジみたいな仕事まで来る
ブリッジの仕事がくるのを良いことだとは思っていなかった・・・ なら俺も重宝されている!
必死に自分に言い聞かせないと精神を維持できないのは分かるが冷静になれ。
ブリッジSEてのは要は人間のクズが追い込まれて就く仕事だ。
誰もが羨む花形商売なら皆がこぞって薄給で入りたがるだろうがそうなっているか?
>>109 英文ドキュメントを原文のまま読める人間が増えてきたから翻訳がなくても特にどうという事はない。
ただし客に売り込む時は日本語ドキュメントが必須のためそれだけが懸念。
銀行を初め証券、クレジットなどの金融機関の投資が完全に止まっちゃったし 円高と不況で製造業のおかしくなって来てる 今年もひどかったけど来年は更に悲惨 エンジニアとして生き残れる奴は半分以下なんじゃないかな
マ板でやれ!
で、JSFとどっちがイインダヨ
作りやすさならJSPよりJSF
JSPってJSFのビューで使うわけだが。
>>118 言っている意味わかっているくせに意地悪なやつだな。
>>118 最近はfaceletとかいうテンプレートシステムがあるから必ずしもJSPを使うわけじゃないよ。
日本語情報に限界を感じたので、Struts2 in Actionを買ってみた。
Struts2 in ActionはSpringとかの情報も出てるの? 単体で使ってもあんま意味無いでしょ
>>122 まだよく読んでないけど、springやHIBERNATEとの連携について一章割かれてるっぽいよ
ほほー、そうなんだ 買ってみよう
連携たってそんな複雑な連携しとらんやんか 一章も割いて解説とかどんだけ資源を無駄にしてんのかと
まあ20ページ弱だよ。 こんなもんでしょ。
127 :
デフォルトの名無しさん :2008/12/25(木) 12:40:06
Seasar2のSAStrutsに見るStrutsの名残りとは 1)クラス名××Actionと××Form 2)アノテーション@Executeと@ActionForm 3)Strutsタグ もうこれだけ。それでもこれは俺の知ってるStrutsだな。 Executeという名のメソッドとFormという名のBeanを持ったJavaクラス、そのクラスを使うためのHTMLタグ、それが本当のStruts(笑)Seasarのが本物(笑)
キミ隔離スレ行き
struts2って遅いからなあ。
ぷっ
ハハッ
ワロスww
133 :
デフォルトの名無しさん :2009/01/02(金) 04:55:38
あけおめ 今年はStruts2ブレイク来そうですね!
134 :
デフォルトの名無しさん :2009/01/02(金) 05:02:08
Struts2はSpring使えないとめんどいかも
>>135 Springは既に世界のデファクトだから、使えない奴は終わってると思う
137 :
デフォルトの名無しさん :2009/01/02(金) 20:49:04
教えてください。 struts2の <s:property> などで表示するときに \r\n などの改行コードを<br/>にして出力する方法ってありますか?
propertyにそんなオプションは当然無いがその結果を得る方法はいくらでもあるな。 たとえば、staticメソッドの呼び出しで変換すればいい。 property に escape="false"を忘れないようにな
正月なのに仕事かあ?
140 :
デフォルトの名無しさん :2009/01/02(金) 21:28:30
>>138 なるほどぉ。トンクス
べ、べつに仕事でやってるわけじゃないからねっ!
Struts 2.1.6 GA リリース
Struts2.1.6って今まで通りにやってもFilterでコケない? またFilterの設定の仕方が変わったの?
144 :
デフォルトの名無しさん :2009/01/28(水) 18:49:38
気になるんじゃなくて実際やってみてエラーになるから ここに来てるんじゃないのかなあ。 エラーメッセージ書いてみて
A.do → C.doにforward B.do → C.do?param=1にforward C.do のfooAction内でGETパラメータを取得してどちらから呼ばれたかを判別 という処理をしています。 できれば無意味なC.doを作りたくありません。 何か簡単な方法はないでしょうか
やらなければならない事が分からん。
無意味ならなくせばいいでしょ 意味があるからそうやってルンじゃないの?
>やらなければならないこと <action path="/A.do" forward="/C.do" /> <action path="/B.do" forward="/C.do?param=1" /> <action path="/C.do" type="fooAction" /> fooActionのexecute()?内でGETパラメータを見て ほんの一部だけA.do用の処理かB.do用の処理かを実行。 >無意味ならなくせばいいでしょ なくしかたがわからないのです・・・
共通の処理なら普通にアクション内からそのサービスを呼び出せばよいだけかと
execute(){ ... 〜500行くらいのよく分からないコード〜 ... if(予備元がB.doならば){ 別処理を2,3行実行 } } こんな感じです。
素直に最初からC.doだけにはできないの? どうしてもparam付きで呼びたいのだろうか。 だとしてもB.doをA.do?param=1に飛ばせばC.doは なくせると思うけど。 あと <action path="/A.do" type="FooAction" parameter="1" /> <action path="/B.do" type="FooAction" parameter="2" /> ってやっておいてactionの中でmapping.getParameter()でもできるよ。
>>152 >actionの中でmapping.getParameter()でもできるよ。
正にやりたかったことです!ありがとうございます。
おいおい、まじでそれがやりたかったことかよ
無くしたいんじゃなくて、判別の仕方が分からないって聞けよ
156 :
デフォルトの名無しさん :2009/02/09(月) 23:57:54
<s:property>に日付型が入る場合、自由に書式設定できますか? struts1だと、 <fmt:formatDate value="${requestScope.blog.created.time}" pattern="MM/dd/yyyy"/> とするところなんですが。。
これ、日付だけでなく金額表示に関しても前調べていたら 確か海外のサイトに実例が載ってたよ。 設定ファイルにフォーマットを定義するような内容だったと思ったけど 釈然としない感じだったな。
158 :
デフォルトの名無しさん :2009/02/13(金) 11:45:44
ああ、これこれ。 しっかしJSPに記述できた方が明らかに便利だよなぁ。 Java本体のもってる機能でformatしろって事なのか、 残念なところではある。
webアプリのプログラミングを勉強しようと思いますが これから勉強するなら、Struts1と2どちらがいいですか? やっぱり、これからなら2がいい?
SAStruts使い始めたら手放せなくなりますた
164 :
デフォルトの名無しさん :2009/03/11(水) 16:01:48
>>161 2からのほうがいいだろ。
わざわざ使い方の難しい1から始めても仕方がない。
>>161 Strut1が単純明快でいいんじゃない?Struts2は別フレームワークとして学習すればいいかと。
>>165 そうかぁ?
1って struts-config.xml がばかでかくなるけど(分割はできるけど管理はしなきゃいけない)、
2だとゼロコンフィグレーション使えば struts.xml は要らないよ。
基本的な使い方をしてる限りは1ページ毎に form と action も要らない。
1を新たに勉強する必要はないと思うなぁ。
仕事で使う場面があるなら別だけど、趣味でやるなら2の方がいいよ。
趣味でやるとなると、よさげな入門書か入門サイトが欲しいな
168 :
デフォルトの名無しさん :2009/03/12(木) 14:35:46
Struts2って業務アプリで使われてるんでしょーか?
>>166 Struts1でもconfig書かない方法あるでしょ
>config書かない つ SAStruts
>>169 日本だと聞いたことないな
つーか海外だとStrutsは2の話ばかりだしJSFも良くでてくる
173 :
166 :2009/03/13(金) 10:06:35
174 :
166 :2009/03/13(金) 11:44:26
なるほど、よさげですな。
JSFって何処にいったの? 未だにstrutsが多いんだろうか。
日本ではね。
なぜ日本ではStrutsが多いのだろう
日本はもうITの革新について行く事を諦めたんだよ 中級者向けのIT関係の雑誌がほとんど廃刊になっちゃったし、 海外の英語本の翻訳も減っちゃった、売れないから出版できないってのがホントだろうけど 人材も枯渇しつつあるしね、更に追い討ちをかけて今回の不況で業界を去る人も多いんじゃねーの
そもそも中級者は自分で情報取りにいけるからなあ。雑誌自体が不要。 インターネットで世界が繋がれば、英語でリアルタイムの時代。 書籍なんて前世代的メディアは不要。
>>177 日本では、作業の効率や作ったものの良さより、人の集めやすさが重視されるから、一旦広まると他のものは出てきにくい傾向がある。
>>179 英語のできない連中が振り落とされちゃったんじゃないの?
といっても実用レベルになるには英語をスピーディに読めないとダメ
>>179 ネットが規制されてる環境もあるんじゃねえの?
Struts2はコロコロ仕様が変わるから、本家サイト以外は信用出来ない。 本家サイトでも、ドキュメントの日付をよく見る必要有り。 つーか、いつの間にかFilterDispatcherがdeprecatedになっとるし、 「StrutsPrepareAndExecuteFilterに替えろ」と書いてあるから 替えたらPOSTで日本語が化けるし、もう何が何だか。 そもそも、deprecatedになったこと自体、javadoc以外のどこに書いて あったんだよってな感じ。
>>185 まだ発展途上なんじゃねーの
一度バージョンを決めたら安易にバージョンアップしない方が良いかもね
ずっとStruts1.2
>>185 Struts1も行き当たりばったりで機能追加と廃止してきたから同じ方向ですすめてるのだろうよ
struts1最強
ははは
習熟率が
未だにあちこちで使われてるしな。
日本は人材も居ないんだしローテクで良いじゃん
人材いない→ローテク→人材育たない→ローテク
みんなでCOBOLに戻ろうwww ネット対応は無しでwww
良いんだよ日本は、ガラパゴスでw
そして世界から取り残されていくwww
絶対ついて行かないとならないってもんじゃないから取り残されても問題無いわ
スキル格差に気付いてからでも追い付ける人ならいいんだけどね。 重い腰が上がらなくなって、いつの間にかユーザさんから技術的な指摘を受けても理解できず 意味不明な受け答えしか出来なくなった人を見てるから安心できない。 まぁ、その人は今年40なんでそろそろ限界なのかもしれんけど。
国際的なネットワークから孤立するのは危険だと思うけどな。 IT鎖国状態に成るぞ。
リプレース案件の時に新しいのでやればいいだろ
ストラッツ
BTS
Struts Spring Hibernate
206 :
デフォルトの名無しさん :2009/05/02(土) 13:31:47
207 :
デフォルトの名無しさん :2009/05/04(月) 19:25:27
そういや、Struts2に関してStruts1と仕様が大幅に変わっている事により、 Struts1の複数画面間でのRequestデータの引き継ぎに係る同一ActionFormと同等の振る舞いについて、 ModelDrivenによって、複数Actionクラスに係るRequestデータを共有する手法は、 ModelDrivenを使用したとしても、Actionクラス間でのDTOを介したrequestデータの引き継ぎができない。 Struts2でのDTOを介したRequestデータの引き継ぎに関しては、 災厄、request.setAttribute()にDTOごと突っ込めばなんとかなるだろって話になるよね? Struts2では、同一Actionクラスによって複数の画面をリダイレクトする仕様なんだと思いますし、 こういう事も押さえておかないと画面間、いわゆる結合テストの段階で障害が発生する。 この問題に関しては、SeasarプロジェクトのSAStrutsを使用することで問題は解決すると想定しているけど、 ぼやけた視界での理解ではまずいんで要約すると、 Struts2におけるActionFormの廃止により、DTOデータを他アクションへ引き継ぐ際に、 SAStrutsでは明示的に表現されているアノテーションActionFormが使用できるのかできないのか? Struts2では現時点においては、僕の視点からは見かけ上できないように見える。 実際Struts2で画面遷移時にRequestデータがどうなってるのか、なかなか不思議だよね。 トップ画面とかメニューはさ、セッションに保持しても問題はないと思いますし、 こういった方式定義もなかなか大変だよね。 僕としては、現時点ではSeasarプロジェクトのSAStrutsを採用する。 その辺の振る舞いが明白だ。まぁ僕には関係のない話だけどさ。
なにも判っちゃいねーなw
seasarやる奴ってキモい奴ばっか
>seasarやる こんな表現するマいるか? S2使ってる会社のついていけない新人かな? S2レベルでついていけなきゃ他でも使いもんにならないぞ
業務でオープンソース採用してる所はそんなものさ。
S2と言えばStruts2 違うプロジェクトの話はよそのスレで
sastrutsの事は忘れてs2の話しようぜ
どう見ても嵐に行ってますがな・・・
struts1.2のstruts-configのワイルドカード設定みたいな事って struts2でもできる? ゲストページがいっぱいあるんだけど共通のアクセスコントロールしかしないので /guest/*.actionを/jsp/{1}.jspにフォワードしたいんだが。 自分でそれ専用のservletを一個書けばいいんだけどなんかスマートじゃない気がして
ごめん先に検索すればよかった。 struts-configに書けばできるんだね。 Actionに直書きすることしか頭に無かったわ
具体的にどう書くことにしたの? 添削してあげるよ
struts2でフォームに複数のsubmitボタンがあって、 それぞれ付加するパラメータをわけたい場合ってどうすればいいの? <s:input ><s:param /></s:input>はダメだった。 <s:input method="">で呼び出すメソッドをわけてその中でパラメータ 設定するようにしたのはいいんだけど、validate()が走っちゃってうまくいかない。 かといってこの画面のためだけに <interceptor-ref name="validation"><param name="excludeMethods"> の設定をいじってvalidationしないメソッド名を増やすのはかっこ悪い。 input*ってやってみたけどワイルドカード効かない。 validate()メソッドなので@SkipValidationは通用しない。
追記 validate()を呼ばないようにするのは<interceptor-ref name="validation">じゃなくて <interceptor-ref name="workflow">の方だったわ。結果は一緒だけどな。
struts2でactionとjspを行ったり来たりするプラグイン無いかな?
エスパーさんお呼びですよ
それ、ビューとコントローラの境界無いじゃん。PHPでも呼び出して使えば?
>>224 どういう主旨かいまいちわからないけど
s:action でJSPからAction呼び出せばいいんじゃね?
SAStrutsPluginみたいなものが欲しいって話だろ。
ああそうそうごめん、Eclipseのプラグインが欲しいってこと 前dolteng使ったときに便利だなあと思ったのでstruts2用があれば
>>228 は神か! Struts2に組み込むプラグインのことかと思った。
思ったんだけどjspをWEB-INF/jsp/にまとめるんじゃなくて jp/example/project/packageの下にaction/とjsp/作って strutsの遷移先をWEB-INF/classes/jp/example/project/package/jsp/member/list.jsp みたい書いたら近くてよくね? パッケージが30以上あるようなプロジェクトでは結構便利だと思うんだけど。 でもguestとmemberとopratorっていうroleがあるときにそれぞれの action/とjsp/の下にrole毎のフォルダができるのはアレだなあ
未だにJSPなんか使ってるのか? FreeMarker使えよ。
JSPのダメなところってどこだろう?
>>234 使ったことないから知らんけど
FreeMarkerはEclipseで自動的に文法チェックしてくれるの?
>strutsの遷移先をWEB-INF/classes/jp/example/project/package/jsp/member/list.jsp んでこれはどうなのよ。 なんかactionとjspが同じフォルダだと、phpでMVCとかいいながら結局 TransactionScriptになっちゃってるダサ実装みたいだなあと思ったけど 意外と行けるかもしれん。
同じフォルダにあることとTransactionScriptは 関係ないのでは
そういや昔WEB-INFの先にフォワードできないのIBM系に多かったのを思い出した Sun系はできてた(Tomcatはsun) たぶん今でも動いてるシステム多数あるな
>>238 いやなんか層の切り分けができない感じで。ダメ?
もちろん直接の関係はない。
>>239 それSunとかIBMとかの問題なのか?
WebSphereとTomcatの差なだけでIBMのVMでTomcat動かしても
OKだったとかいう話じゃないのか?その現象は知らんけども
>236 してくれるよ。 あと、Struts2のページにも書いてあるように、FreeMarkerはエラーメッセージが とても分かりやすいので開発しやすい。
struts2の話だけどさ、struts.xmlのpackageのnamespaceの指定って、 action-jspの結び付けをstruts.xmlでやらずにアノテーションでやったら 無視されるんだね ParentPackageで指定してるのに全然効かないよ。 namespace指定なしでフォルダ階層と一致させるからいいんだけどさ。 どっかに解説サイトないかな。
244 :
デフォルトの名無しさん :2009/07/04(土) 02:12:12
strtus1.3使ってんだけど form-beanに定義してあるtype属性に指定しているフォームクラスの インスタンス化に失敗する。 クラスの場所をsrcフォルダ直下のデフォルトパッケージにするとうまくいく。 例 クラスの保存場所:java.formパッケージの中 type="java.form.aaaForm" ←これだと失敗 クラスの保存場所:src直下 type="aaaForm" ←これだとうまくいく。 フォームクラスはpublicでバリデータフォーム継承してる。 クラスの配置場所はtype属性と完璧にあっている。 コンパイルされたjspとxml定義は完璧にあっている。 環境はtomcat6 + struts1.3.1 + apache なんで?
ここ、struts2のスレじゃないの?
超絶過疎
いやstrutsのスレだった。 6スレ目(このスレ)を作った奴がいろいろとタイトルを失敗した
>>244 ClassNotFoundがでるってこと?WEB-INF/classes以下に.classファイルが
できてるか確認して。
java.formに配置したときにpackage宣言書き換えてないとかはさすがにないか。
Eclipse使ってるんだろうし
クラスはできてるよ
ClassNotFoundじゃなくて strutsのhtml:formタグ読み込んだときにaction属性のパスと一致する 名前をstruts-configのaction-mappingsから探すところまでは問題ない。 そのactionタグの中のname属性の名前と一致するform-bean定義の name属性に対するtypeで指定したパスのクラスがnullとかでる。 java.lang.NullPointerException と javax.servlet.jsp.JspException: 〜beanを生成する際の例外〜 っつーのが出る
該当箇所を省略せずにあげたほうがいいぞ
パッケージ名をjavaから始めるなw
自己解決したっぽい。 >252が意図していったのかどうかはわからんけど どうも原因はパッケージ名がjavaからだと見つからないようだ。 予約語みたいな扱いか?とんでもねぇ罠だ
いや、罠じゃなくてJavaはそのパッケージは使っちゃいけないことになってる
>222 自己レスだが、今のxwork2.1.4のソース見てたらできそうだな。 xwork2.0.4のMethodFilterInterceptorUtilをjadしてみたら 「*」には対応してるけど「input*」みたいのは無理そうだった。
ユーザーがトップ画面で言語(日本語と英語とか)を明示的に切り替える時って ActionのgetText()使えないよね? properties_ja/properties_enファイルでメッセージ管理したいんだけど 自分でResouceBundle取得するクラス用意するしかないのか。
リビジョンが0.02上がっただけでクラス構成が変わるとか 恐るべしxwork
jspをsrcフォルダの下に入れてる人おる? jspをステップ実行しようとするとソースが見つからないと出るんだけど 素直に/WEB-INF/jspに入れるべきか悩んでる
ああ、数時間かかったけどできた。 ソース探すときに/WEB-INF/classes/path._to_folder/aaaa.jsp というフォルダ構成になってないといけないから、 ソースルックアップパスにwtppluginのtmpフォルダを指定するか、 ソースの出力フォルダーを/WEB-INF/classesにしないといけないんだわ。 んでsrcを右クリックして後者をやろうとするとソースフォルダーに指定できませんとか 怒られるんだけど、.classpathファイルを直接変更でうまくいった。 誰の参考にもならないと思うけど俺へのメモ
今更JSPはやめろよ。
納期が短いのでこれからFreeMarkerの勉強してエラーが出たときに どうしたらいいのかノウハウ蓄える余裕がない。 つーかわざわざ勉強し直してプロジェクトメンバーに教え直すほどのメリットあるの?
>262 ページ単位でちゃんぽんにしてもいいんだぞ? 最初は、単純なページだけFreeMarkerにしとけばいい。
アホか そんな余計手間がかかるようなこと仕事でするかよw
>FreeMarkerはエラーメッセージが >とても分かりやすいので開発しやすい。 素のjspだってわかりやすかったのにValueStackがいけないんだよな
JSPのエラーメッセージがわかりやすいとか、いみふ。 エラーメッセージを出すのはコンテナだろ。 どんなエラーメッセージが出るのかはアプリケーションサーバの実装依存。
そうだけどjspなら常識的にjsp内で起こったエラーがでるだろ。 脳みそ足りてる?
それって分かりやすいと言えるのか?
例外生成しても何事もなかったようにスルーして空文字列を返されたり NullPoやNoSuchMethodしか返さないValueStackのエラーよりは遙かにわかりやすい
>>267 JSPの実装そのものがコンテナ依存なんだよ。
脳みそ足りてるか?
・・・というか、経験がないんだな。きっと。
例外スルーしたり、型名しか返さないコンテナもあるよね。 少しまえのOC4Jとか。 今でもそうなのかは知らないけど。
>>270 うむ、そう言われれば確かにtomcatとWebLogic以外の経験はない
つまりまともなコンテナ使ってないのに、エラーが分かりにくいとか逝ってる訳? まともなコンテナ使えば済む話だろ。 まあそういうエラー処理とか趣味のオープンソースではやりたがらないだろうから期待出来なくてもしょうがないが。
つまり、昨年はでのオラクルのコンテナは まともではなかったと言いたいわけか。 エラーメッセージが不親切イコールまともでは無い、ならIBMもかなりヤバイ。
WebLogicはOracleだし、TomcatやGlassfishはもともとsun つまり、Oracleが一番まともってことか アレ?
話がまったく噛み合ってないスレはここですか?
>>270 ほとんどのシチュエーションでJasper使ってるとかを考慮してないレスに意味はないな
JasperにあらずんばJSPにあらず。 OASもJettyもResinもおよそまともでは無い。 とでも言いたげだな
去年までのオラクルなら、オラクルアプリケーションサーバって言ういまいちなのがあってだな(ry だからわざわざweblogic買収して製品強化したつもり? jasperのエラーメッセージが糞なので、まともじゃないって?
struts2のタグで質問です。 よく使う定義リストをSample.getAllList()ってstaticメソッドで取得できるように宣言しているんだけど <s:radio list="%{@jp.domain.package.Sample@getAllList()}" /> ってやると The requested list key '%{@jp.domain.package.Sample@getAllList()}' could not be resolved as a collection/array/map/enumeration/iterator type. とでてlistだと認識してくれません。 いちいちActionクラスにList sampleList;を用意してアクセッサつけて#input()でセットしておくのも 馬鹿みたいなのですが、どうにかならんのでしょうか。 ちなみに中身は「true:有効/false:無効」とか「male:男性/female:女性」みたいにいろんな画面で 共通で使うtypeSafeEnumなクラスです。
281 :
280 :2009/07/13(月) 19:22:41
すいません、ActionにallListをおいてアクセッサつけてもダメだったので なんか別のところが間違っているみたいです。出直してきます。
OGNLはデフォルトでstaticメソッドを実行できんようになっている。 struts2-core.jarの中に入っている org/apache/struts2/default.properties を見ろ。 struts.ognl.allowStaticMethodAccess を値をtrueにすればよいはずだ。試してないけど。
>>282 うおおおおおおおおお、ありがとう
僕にもできたよママン
ちなみに
>>281 はActionに置くときの名前をスペルミスするという凡ミスでした
あの、Struts には Interceptor というものがある様ですが、 という事は AOP にも対応していると考えていいのでしょうか? 素人なので変な事を言っていたらすみません。
struts2のInterceptorはjavax.servlet.filterのようにAction#execute()の実行前後に 処理を挟めるだけ。サービス層とかでAOPするならspring-pluginとかと組み合わせる。
>>285 なるほど。確かにその様ですね。
ビミョーに似てるっちゃ似てるけど限定されてるんですね。
ありがとうございました。
Struts 2.1.6 ではパラメータが文字化けしてしまうそうですが、 みなさんそのあたりはどうしてます? 自作インターセプタなどで対処してるんでしょうか。
>287 前のバージョンのフィルターが@deprecatedで残ってるから、それを使ってる、 気がする。
>>288 そうなんですかぁ。
今デコードするためのインターセプタを作ったんですが、
何故
invocation.getInvocationContext ().getParameters ()
して返ってくるパラメータって、String [] とかが含まれるんでしょう?
普通、request.getParameter ("hoge") とかやって返ってくるのは
String ですよね? String [] になっている意味がよく分からない
のですが…。
そもそも、<String,String> ではなくて <String,Object> になって
いるのがおかしい様な…。
どういう事でしょう?
> して返ってくるパラメータって、String [] とかが含まれるんでしょう? HTTPの仕組みをちゃんと理解してるのか? 同一名で複数のパラメータ値を送信することもあるだろうが。 > そもそも、<String,String> ではなくて <String,Object> になって > いるのがおかしい様な…。 ファイルアップロード。
>>290 おぉぉ!そうですね!!(笑)
俺とした事がそんな事も思いつかないとは………。
じゃあ String か String [] 以外がきたときはそのままにして
デコードはしない方がいいですね。
でも、マルチパートの場合、どうなるんでしょ??
FileUploadInterceptor を通る前に既にきちんとパラメータを
認識してくれてるんですかねぇ。
まぁちょっと実験してみます。
struts1.3 + spring2.5でdelegatingactionproxyで連携 しようと思っています。 この場合、DIするためにActionクラスにインスタンス変数を 持たなければならないのですが、この変数はスレッドセーフで 動作するのでしょうか? しないならば、どのような解決策が考えられるでしょうか? どなたかお知恵のある方、ご解答よろしくお願いします。
Actionクラスが依存するDIの対象ってサービスクラスかDAOが一般的だと思うんだけど、 当然ながらどちらもステートレスとして実装されているはず。 だからスレッドセーフかどうか、なんて気にする必要はないはずなんだけど。 まあ状況がわからんから知らんが、最終手段としてはThreadLocal使えばOKじゃねーの。
>当然ながらどちらもステートレスとして実装されているはず。 とは限らないものをつかっているって事なんじゃないの? スコープをプロトタイプにすればよろし
295 :
292 :2009/07/19(日) 00:28:34
292です。マルチポストしてすみませんでした。 期日が迫っている作業なのであせっていました。 変数のスコープをプロトタイプにしたところ hashCodeが異なる値で取得出来たので問題なさそうです。 ありがとうございました。
>>287 I18nIterceptorが壊れたってこと?
よく分かりませんが、パラメータが文字化けしちゃうんです。
例えば、
http://xxxx/TEST?test=あいうえお とやって test で取得できるのは、本来はあいうえおのはず
ですが、実際には文字化けした文字列なんです。
まあ、今は自作のインターセプターで何とかなりました〜。
2.1.6で文字化けというと、StrutsPrepareAndExecuteFilterのことか? DeprecatedではあるがFilterDispacherを使えばOKだ
>>298 FilterDispatcherとstruts.i18n.encodingで正しく指定してる時って
useBodyEncodingForURI使うとかえって文字化けしない?
つか今試してたらGETだけ化けるんだが。文字コードはWindows-31J。
301 :
デフォルトの名無しさん :2009/07/29(水) 01:47:23
ちょっと質問させてください。 よくデータベースからの結果を全部 ArrayList か何かにつっこんでしまって それをセッションに入れておいて jsp 側から参照する、という形を見るんですが、 これってデータ量が多くなった時にかなり重くなったりしちゃうんじゃない でしょうか? 例えば1万レコードくらいの ResultSet をガッツリセッションに保存してしまって 問題はないんでしょうか。 やってみりゃ分かるんでしょうが、皆さんの経験としていかがですか??
やってみてくれとしか。 まともな書籍読めばちゃんとそういう時にはこう実装するって載ってるよ。 アマゾンみたいなアイテム件数多いサイト作るとすぐ破綻してしまう事に成るし。
セッションスコープは設計ミスだな、struts2ならアクションのプロパティでJSP参照が王道
>>302 ありがとうございます。
何かオススメの本とかありますか?
というか色んなサイト見てもそういう実装しかないんですが、
何でそんなすぐおかしくなりそうな事をサンプルとして載せて
いるんですかねぇ。
ResultSet をころころころがして欲しい所だけ取るのがいいん
ですかね。そうするとラップしちゃってるとちょっとやりにくい
なぁ。いい方法ないかな。
>>303 言いたかったのは、アクションのスコープがセッションて事です。
そうすれば、ページ切り替え時には少なくとも検索のオーバーヘッド
は発生しませんよね。
> そうすれば、ページ切り替え時には少なくとも検索のオーバーヘッド > は発生しませんよね。 ページングでは、そのページで必要な分の情報しか取得せんだろjk
欲しいところだけとるんじゃなくて ROWNUMとかLIMITとかであらかじめ必要な件数しかとらないよ。 使い方を説明するようなサンプルコードでは普通ページングまで 書かないんじゃね?領域が違うから
>>305 それがそうでもないんですよ。
解説をしてるページではガッツリ取得しているものが結構ありました。
確かに楽なんだけど、こんな爆弾かかえた様なシステムでいいのか…と…。
>>306 そうですよね。SQL 側で調節した方がいいですよね。
でも limit が使えない環境もあった様な…。そのあたりもう少し勉強する事
にします。
1レコード200バイト(全角100文字分)のデータがあっても1万件で200KBにしか ならないから、社内専用業務アプリとかでレコード件数が想定できるなら 爆弾でも無いんじゃないかな。 外部公開するシステムでそんな作りになってたら「趣味の延長でしかコード 書いたことないんだなあ」って思うけど
>>308 あ、2MBだね。それでもBMP画像1枚分くらいだから同時接続クライアントが
10数人とかいうレベルなら無問題
310 :
デフォルトの名無しさん :2009/07/30(木) 07:28:07
つ セッションタイムアウト
>>307 ページ切り替え前提で、基本的なとこだけ
元データが数千万件と言う場合も有るので、取得最大件数を指定できるようにする
セッションに持つのは、取得最大件数分のプライマリキーまたはそれに該当するデータのみ
で、表示するページのデータのみ、セッションに持ったデータを元に取得
1ページあたりの件数も10〜100あたりで絞る
>>311 なるほど!
大変参考になりました、ありがとうございます!m(_ _)m
>>301 ものによる。
件数等を見ていろいろといじる。
というのはリクエストのたびのデータベースアクセスも負荷が大きくなりやすいから。
それに万単位でデータを取るということはまずないはず。
LIMITとかOffsetだけ使うようなシンプルなやつだと楽だけど、
実際のところ表示したデータの戦闘と終端のキーを持つことも多い。
セッションをサーブレットにおかずにEJB等にもっていって
そちらで管理してもらうというのもまぁやる。
メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
セッションタイムアウトまで圧迫するということはない。
セッションにオブジェクトを入れまくって長寿命のオブジェクトを増やすと、 Full GCの頻度が増える気がするんだが、その辺は大丈夫なのか。
使用するメモリ量と想定するユーザー数の把握が出来てるなら大丈夫。
検索結果はスナップショットで維持されるべきということなら通常は
>>311 の方法をとる。
連続性を意識したい場合は
>>313 のように。
手軽だけど顧客受けがよくないのがOFFSET、LIMITで単純に区切る方法。
次へ次へとページングしても前のページでデータが消されたりしていると
表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。
完全にStatefulならEJBを併用しないとつらい。
>>313 >セッションをサーブレットにおかずにEJB等にもっていって
>そちらで管理してもらうというのもまぁやる。
>メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
>セッションタイムアウトまで圧迫するということはない。
分かってなくて申し訳ないんですが、この部分をもう少しお教え頂けない
でしょうか?
外部に置くというのはなんとなく分かったんですが、アプリケーション
サーバと別に置くという事は、HttpSessionBindingListener みたいな
ものでセッション切れを検知して、外部のサーバーなりに、こいつの
情報は消せ!みたいな事をする必要があるって事ですか?
もし何らかのコンポーネント化されている様でしたら名前を教えて
頂きたいのですが。
あと、「メモリが圧迫すれば自動的に吐き出す」ここの意味もちょっと
よく分かりませんでした。
教えてクンで申し訳ないですが、何卒よろしくお願いします。
> OFFSET系は業務系ではまず使わない。 案件の性質によるだろ なんでもかんでも重厚に書けばいいってもんじゃない
うちの案件ではページングもさせてもらえん。 div入れ子で全件表示
>>315 >次へ次へとページングしても前のページでデータが消されたりしていると
>表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。
むしろ消されてるデータが表示されることの方が問題なので
OFFSET LIMITを使うべき
>>314 FullGCの頻度が増えるかっていうより、単純にそれだけメモリを
確保しっぱなしになるっていう話だからメモリが足りてればいいんじゃないかな。
つーかリクエストスコープで済む物をセッションに入れることは
基本的に推奨されない。スコープは短く、不必要なオブジェクトは解放、これ常識。
前にWebサーバーでSSLしてるせいでロードバランサーが割り振りできない案件が
あって(携帯対応なのでCookie非対応機を考慮しないと行けない)、結局その時は
セッション情報をDBに入れてアクセスの度に呼び出してたんだけど、セッションデータを
少なくしておいてよかったと思ったよ。
そのLBの下ではすでに別の携帯用のサービスが動いていたからあんま考慮してなかったんだが、
本番開始してからそのサービスは前から時々セッション切れを起こすって聞いて、
インフラに確認したらLBではIPアドレスによる振り分けしかしてないってんであわてて対処した。
321 :
319 :2009/08/01(土) 07:33:02
>
>>315 >>次へ次へとページングしても前のページでデータが消されたりしていると
>>表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。
>
> むしろ消されてるデータが表示されることの方が問題なので
> OFFSET LIMITを使うべき
ああ勘違いしてた。,1〜10,を表示後、11〜20を表示しようとして7が消されてると、
12〜21が表示されてしまって11が表示されない、という事がいいたかったのか。
それってページングでは当たり前というかむしろそうあるべきと思うんだがどうなの?
最初に取得したのを信じるとレコードが挿入されても反映されないわけだし。
数百万件なんていうレコードがあるテーブルでは言わずもがなでSELECT時からページングだし、
挙動が同じ方がわかりやすくね?
>>321 数百万件ではなく数十件でもページングがあれば発生する
業務系で今まではスクロールで実装されていたのを単純にオフセット使うと問題になる
ある特定時点でのデータを順番に見ていくというのは非常によくあること
だから無効なデータを表示したり、新規のデータを表示しないのは不味いという話。 データベースは最新の情報しか持たない。履歴は他にちゃんと仕組みを考えるべき。 いちいち作業用のデータベース作りまくるコボラー思考なんじゃないの?
>>320 >メモリが足りてればいいんじゃないかな
メモリを足したところで、Scavenge GCを生き延びてOld領域に追い出されたオブジェクトが減るわけではない。
そういったオブジェクトが広大なOld領域を少しずつ食いつぶし、
いずれ発生するFull GCの際には大きな足かせとなる。
メモリを足せばFull GCの回数は減るが、
いざFull GCが起きたときの処理は、メモリサイズに応じて重くなる。
まあ、スコープは短く、というのには激しく同意する。
>>323 毎回リクエストのたびにオフセット使うのはダメだよというだけの話でしょ?
上の話でもキーのみ取得とか現在表示しているページの先頭と最後のキーを保存するとか
そういう対処が普通は必要になるでしょ?というお話でしょ。
>>324 コンカレントGCである程度解決すると思う。
G1GCが安定すればそれでいいやという気も。
セッションで持つ必要性があるか OFFSET / LIMIT 使うかは 結局のところ何のためにページングしたいかによるんじゃないか? やりたいことによっちゃページングなぞしないで全件表示が一番よい場合もあるだろうし
>>326 それもよくいわれるね。
スクロールにしてくれと。
何万件も有ると遅いって文句言いそうwww
329 :
デフォルトの名無しさん :2009/08/03(月) 18:04:29
エラー表示をテキストエリアに出したいのですが、 <s:actionError>のタグを使うと、 テキストエリア内に<ul><li>ってタグが一緒に表示されるのですが、 これはどのようにすれば消すことができるのでしょうか?
ActionErrorTagクラスを見る限り、どうもハードコーディングされてるっぽいな 独自に出力するのなら。やりかたは2つある。 1. 自分でfreemarkerのテンプレートを用意する。そして、 <s:actionerrors theme="oreore" templateDir="fm" template="oreore-actionerror.ftl" /> みたいな感じで書けば動くはず。詳しくはドキュメントを見てくれ。 このやり方はなにかと面倒だから、俺はオススメしない。 2. 自分でactionerrorを出力するJSPを書く。 <s:if test="!#action.actionErrors.isEmpty()"> <s:iterator var="err" value="#action.actionErrors"> <s:property value="#err" /><br /> </s:iterator> </s:if> とでも書いて外部JSP化し、includeすればいい。俺ならこっちでやる。
ちょっと確認したいんだが、JSPの画面でボタンを押す →DBの中身をSQLで取ってきてそれを配列に格納する →配列の内容を最初のJSP画面でテーブル表示するというのは <logic:iterate>とJavascriptを使うのだろうけど、 配列の内容をテキストボックスに入れた状態で表示して なおかつチェックボックスも一緒に表示したい時って <logic:iterate id="AA"> <html:checkbox name="AA" property="AA-BB" value="1" onClick等... />と <html:text name="AA" property="AA-CC" value="AA-CC" /></logic:iterate> とかでいいの? <bean:write id="AAA" property="???" />だとテキストボックス表示できないし。
struts2スレだから、struts2という前提だけどsタグ以外は使わないよ普通
>>331 なにをしたいのか意味がわからないんだけど。
同じ名前のパラメータをチェックボックスとテキストエリアで送りたい?
そんなことしたら、サーバが受け取るパラメータは
AA = { "1", "hoge" }
みたいになるぞ。
334 :
デフォルトの名無しさん :2009/08/05(水) 19:22:27
StrutsとXILISHは語呂が似てるよな?おまえら、ソウ思うだろ?
335 :
デフォルトの名無しさん :2009/08/05(水) 19:25:34
俺はCプログラマだけど、 XILSSHみるとStrutsにみえる。
俺はロッテのガムが好きだけど XILSSHみるとキシリッシュと呼んでしまう
>>332 > struts2スレだから、struts2という前提だけどsタグ以外は使わないよ普通
カスタムタグ作るとき毎回struts2の流儀で作ってる?
めんどくさくない?
そうか? 2つクラスを用意する必要があるけど、本来1つのクラスに書くべき内容を 2つに分けただけなんだし、労力はそんなにかわらんだろ
一つで書くべき内容を二つにわけるのは、めんどくさいだろ。
struts2とJSFはどっちが将来性あるの?
神のみぞ汁
世界はJSFに向かってるけど、国内は依然struts1のままで止まってる感じ。 struts2が出来るエンジニアが居ないのか、struts2での開発を契約したがらない営業が多いのか。
>>338 似たようなプロパティ用意してどっちもアクセッサつけたり、
そもそも普通のTagSupportの派生にしたときみたいに
つくりが単純じゃないのがなんかいただけないっつーか
後で新人に保守させるときちゃんと理解してくれるだろうかっつーか。
新人に保守させるのは結構危険だと思うけどな。
新人に合わせるなら、最初から新人が組めば良くないか。 人件費高い経験者不要。
後で誰が保守するかわからんからなるべくわかりやすく しとくのは大事ー大事ー
>>345 使い捨てのシステムならまだしも、
新人が保守性の高いコードを書けるようになるメソッドを熟知しているんですね!
ぜひ教えてください><
骨格しっかりつくって真似させて、末端のコードは 誰が書いても似たような構成になるようにシンプルに保つ。 これしかない
本買って休み中に勉強しようかと思ったけど今一つ良いのがなさそうだな IN ACTIONは英語苦手だし
>新人が組めば良くないか。 あとで結局コストがかかるの術〜
352 :
デフォルトの名無しさん :2009/08/19(水) 23:02:54
新人でも自称○年でも大して変わんねーよ
「自称」ならな。
似通った画面がいくつかあってhiddenで項目値を受け渡しする、各々の画面で ValidatorFormのvalidateで入力チェックする時ってアクションフォーム継承しちゃだめですか? 各々のアクションフォームに同じ定義書くのはメンテしにくそうで避けたいんだけどstruts1.3でエラーになるんです。 下記みたいに継承してます。 ValidatorForm | +アクションフォームA | +アクションフォームB | +アクションフォームC
新人が理解出来ない時点で保守なんて無理。 新人が最初から組めば保守出来るじゃねーか。 結論:単価高いベテランPGは不要。
ちなみに新人と書いてニートと読む。
ニートが理解出来そうな組み方か… 難しそうな課題だな
新人が理解出来る組み方も難しいのは変わらないでしょ。
(それは新人が理解出来る組み方の案なのか?)
strutsの話題しようぜ
363 :
354 :2009/08/24(月) 20:14:46
ValidatorFormの孫継承で上手くいきました。 Iterator項目からの入力を間違えてました。
364 :
デフォルトの名無しさん :2009/09/06(日) 22:04:54
strutsを勉強したいが、いいサイトか本がないでしょうか? 今strutsによるwebアプリケーションスーパーサンプル とサイトで勉強しております。
ネット調べればいくらでもあるだろ・・
ちゃんと勉強するなら網羅されてる書籍を一冊こなすのも悪くない。 実際、案件っぽいのを組んで経験してみるのが一番。
掲示板でも作ってみればいいさ
368 :
デフォルトの名無しさん :2009/09/07(月) 19:26:11
ちゃんと勉強するなら網羅されてる書籍を一冊こなすのも悪くない。 その本を教えてください。 掲示板作りたいんですが、まだそのレベルでは....
369 :
368 :2009/09/07(月) 19:31:54
ネット調べればいくらでもあるだろ・・ ネット見て勉強しています。 javaの道など。 なにかこれはためになるサイトがあれば教えてください。 みなさんの方が先輩なので、よろしくお願いします。
引用記号も使わずに書いてるから、支離滅裂な文章になってるな
371 :
368 :2009/09/07(月) 22:15:24
もっと理解したいので、支離滅裂な文章になってしまいましたが サイトや本よろしくお願いします。
マジレスすると、Struts1系ならRequestProcessor周りのソース見たほうが勉強にはなる。 Strutsってなんてしょぼいフレームワークなんだ・・と思えるようになる。
373 :
368 :2009/09/08(火) 19:45:20
phpのほうが得意で、webアプリケーションでもうひとつ 作れるようになりたいと思い、JSPやservletなど勉強してstrutsに移行 しようと思ったのですが、勉強しなくてもいいのかな?
しらねーよw
375 :
368 :2009/09/08(火) 19:59:55
勉強したいんだけど
376 :
368 :2009/09/08(火) 20:03:11
できるようになりたいんで教えてください。
>>372 さんへ
ググってしらべました。
今ひとつ理解ができませんでした。
せっかちすぎだろ ぐぐったサイトを片っ端からじっくり読めよ 一回で理解できないなら何度でも読めよ 若いんだから(たぶん、中学生くらい?)楽しようとすな
JSP/Servlet以前にJavaを理解しているかどうかにもよる まだ理解していないとしたら、Strutsまでいく段階ではないね JSPだけならPHPとそうかわらないんだからJSPだけで掲示板作るのもよいかと
>>376 なんで2分や3分ソース読んだだけで「わかりませんでした」なんだよw
つうかJava自体しらなそうだな。Servlet以前の問題だろ。
380 :
368 :2009/09/09(水) 21:23:30
今日も読んでいるよ。 ありがとうございました。
今日画面遷移がなぜかできなくてまいった。 エラーが出てるわけでもなく、なんなら遷移先のjspもちゃんとできてるのに遷移してくれない(jspに返ってこない?)。 Actionにもちゃんと飛んでた。 ちなみにwindow.openで別画面を開いておいた状態なら遷移先の画面を開くことが出来る(jspに返ってくる)。 原因が全然わかりませんorz しかも見た目的に何も反応がないみたいになってて気味が悪いw 同じような現象にあった人いますか?
今後はS2Strutsを使って開発することになった。何が違うか簡単に教えてもらえないだろうか。 Strutsの経験はあるんだけど、ようはseaser2とstrutsが混ざったようなものなの? これから勉強するなら、seasar2の勉強すればよい?
>>383 DIコンテナ自体知らなければseasar2の勉強した方がいい。
あとはほとんどサンプルを動かしながら考える。でStruts知ってれば十分。
pojoって他に依存しないセッターゲッターメソッドを持ったクラス。 っていう風に無理矢理納得してたんだけど、実際どういうものなんだろう。 聞かれたんだけど、たいしたこといえなかった・・・。
>>385 セッターゲッターは関係ないだろう
それはJavaBeans仕様の規約の一部だという意味以外はない
「依存してるコードが少ないほど把握/拡張がしやすい」程度の意味しかないよ
EJBはマジでゴミだったな あんなものを考えたやつはインテリ風場か
DAOはEJBなんかよりVeloSurfってのがいいよ
>>388 EJB 2.1までの使いにくさの反省からDIコンテナになったEJB 3.0
さらに扱いやすくなったEJB 3.1
となったのはよかった。
今ではSpringとかのほうがEJBより複雑で大きいものになってしまった。
各種DIコンテナもシンプルにするという動きになるといいな。
>>389 なにこれ?view層でDBアクセスための物?
だとしたら狂気の沙汰だな
>>391 > なにこれ?view層でDBアクセスための物?
どこにそんなこと書いてあるんだよ
>>390 そのうち、EJB重い、複雑 なんて言ってる連中は時代遅れ
なんて日がくるやも
生産性の悪さに見合ったお金もらえるならいいんだけどね
JavaにはPerlのDBIに相当するライブラリないの?
JDBCでいいんじゃね? ドライバとインターフェースの分離がメインだと思うから
jspに比べればejbのメリット有った支那。 jspで十分ならphpのほうが単価安く済ませられる。
>>392 Velocityの補助ライブラリという位置付けなんだから
view層での使用がメインになるのでは?
こうだな Velosurf velosurf = new Velosurf(new File("velosurf.xml"));
402 :
デフォルトの名無しさん :2009/09/25(金) 07:47:04
strutsを勉強しようと思うんだが、いい本ある? 後struts2の本はいつでるんだ?
403 :
デフォルトの名無しさん :2009/09/25(金) 22:12:21
404 :
デフォルトの名無しさん :2009/09/25(金) 22:16:13
日本語がいいのだが
405 :
デフォルトの名無しさん :2009/09/26(土) 06:51:39
strutsでシステムを組むことになってしもうた。 しかも一度も組んだことがない。 みんな組んだことがない。 狂気のさただ。 phpができればstrutsもできると思っていやがる。 できねーよ。 とりあえず、参考文献はなにを買えばいいのだ? サイトを教えてください。 つーかこういうのって一人でつくるものではないと思うのだが。 ほんとどうしよう?
JSP&ServletができればStrutsはできるけどな
むしろわかるほど逃げ出したくなるはず
409 :
デフォルトの名無しさん :2009/09/27(日) 21:53:00
javaは独学で独習javaとコアjavaを読んだ。 linuxにもwindowsにも入っている。 JSP&Servletは独習サーバーサイドとJSP+サーブレットサンプル集 を読んだ。 今日とりあえず、アマゾンで人気なStrutsスーパーサンプルを読んでいた。 今日も仕事だった。 みんなどうしようって感じだった。 本とか自腹でも自分の部分はやりたい。サイトや本を教えてくれ。 一応3つブックマークしてサイトは見ている(javaの道など) 逃げないぞ
それだけ読めばもう教えることは何もない。 あとはいきあたりばったりでおk
それにしても俺みたいなできるやつを一人雇えばいいのに。 デスマで動かないシステム作るよりだいぶん安上がりだよ。 人月100万でおk
PHPからJavaに初めて来た人が間違えやすいのが サーブレットでインスタンス変数を共有とかやっちゃう。 これは気をつけたほうがいい。
スーパーサンプルってわりと突き放した内容だと思うので これが大体読めるなら大丈夫だと思う Strutsの機能を全部使おうと思わないほうが開発しやすいかと
414 :
デフォルトの名無しさん :2009/09/29(火) 02:07:49
>>411 さんやといたいですね。
実は僕の給与20万なんですよ。
僕はあらかじめいいましたが、発言したんですよ。
人月100万でおk かどうかはわからないけど、
今できる人間が少なくなっているからと
それなのになぜ。なぜ未経験者にやらせるのか?
完全におかしいと思いませんか?
でもねぇ、そんな事よくあるんだよ。 よく考えてみて。 その時点でできると分かり切っている仕事しかしなかったら、 君は成長するのかね? できない事に挑戦するから成長するんじゃないのかね? 正直俺も手取り給料20万ちょいだが、Struts、Spring から Apache、Tomcat、ネットワーク設定、ドメイン設定など一通り こなせる。そうなったのは、毎回できないっす、と思いながら 挑戦してきたからだよ。 いい機会だからやってみな。Struts はそんなに難しくないよ。 むしろ MVC にのっとって開発してれば、おお、こんなに楽で キレイにできるのか、と感動するはず。 method:xxxx=xxxx のパラメータを渡すと実行するメソッドを 切り替えられるとか、嬉しすぎw まぁ頑張って。………死にそうになったら俺も月100万でかけ つけるよwwww
>>414 俺に技術指導と開発リーダーやらせたら、他の人は未経験でも
デスマなしで高品質のアプリが作れるよ
スーパーサンプルのショッピングサイトには「管理者モードでログインできない」というバグが あったはずだけどもう直っているのかな? マニュアル本もいいけどサンプル動かすだけより自分でシナリオを作って色々やってみるほうが いいかもね。 自分はwebはASP.NETで始めたんだけど、ASP.NETで開発したアプリと同じ動作をするものを Javaで作って見るという目標を決めて独学した。ちなみにPHPも同じやり方で覚えた。
418 :
デフォルトの名無しさん :2009/09/29(火) 19:17:35
なぜ今回だけstrutsなのか理解ができない。 今までPHPなのに。 がんばります。 みんなスーパーサンプル買っているんですね。
どんだけ期間あるか知らんが、一人は設計レベルでの経験者が欲しいね。 PHPでやる期間で全員未経験なら確実に終了する。 設計レベルでの経験者を判断できるかって問題があるが。
420 :
デフォルトの名無しさん :2009/09/30(水) 06:57:13
そこだよな。 進言してみるよ。 後、strutsの本で基礎本はないかな?
JSP&ServletができればStrutsは本で勉強するまでもなく ネットでちょこっと見ればいい。 本が必要と思うってことは基礎であるJSP&Servletを やってないからだと思う。
本は不要といいきれるほど薄くはないと思うけどなぁ
どこまで遣るかと、元から持ってる技術知識の度合いにもよるけど。 言語的な範囲なら応用力次第だろうけど、現実的な運用展開とかは先人の試行錯誤の結果のノウハウだったりして、網羅的な記述の書籍のほうが参考に成るかもしれない。 ネットはさらりと読める様に、一般的な王道のパターンの記述中心だし。
数年前に未経験で同じ状況に立たされた時は、 取り合えずソースを落としてRequestProcessorを読んだ記憶が。 むしろ当たり前のように出てくるBeanが何不明。
struts2系ってまだ安定してない? 前に触ったときは結構遅かったんだよな・・・。
1.2使ってろ
安定と遅いのは関係ねーだろ
低スペック鯖なだけじゃないの?
遅いと感じた事はないけどねぇ。
JSFはどこへ行ったの?
431 :
デフォルトの名無しさん :2009/10/04(日) 15:11:16
ネットか本でおまえらが使ったやつを教えてくれ。 ジュンクで見てくる
432 :
デフォルトの名無しさん :2009/10/04(日) 15:16:49
頼む。 後servletは独習JAVAで勉強した。
>>431 カンタンStruts1.1―オープンソースフレームワークStrutsによるWebアプリケーション開発
ってヤツしか読んだ事ない。
本を読む必要はない
本を読めない馬鹿にはst2は無理。
あぼーん
struts1のJSPタグで、プルダウンメニューの要素を作りたい時って 以下のように書けばいいんだろうけど、 連続する複数の画面で同じメニューを使いたい場合は、collectionの部分の 情報ってセッションに格納するのか、それとも画面毎に取得したほうがいいんでしょうか? <html:options collection="listData" property="id" labelProperty="name" />
ものによる。 リクエスト単位で処理するとデータベースの負荷が高くなりがちだし 前回リクエスト時との不整合が発生する場合をどうするかとか いろいろといい点悪い点が出る。 アプリと使用する場面しだい。
440 :
デフォルトの名無しさん :2009/10/18(日) 01:13:08
>>439 Hibernateがキャッシュ使うのでは?
なんでHibernateが出てきたんだ?
442 :
デフォルトの名無しさん :2009/10/18(日) 12:16:53
>>438-439 みたいな悩みを解消するのがDAOのキャッシュ機能
Hibernateみたいな大掛かりなものじゃなくVelosurfで十分
Velosurf採用できるところはまずないと思う…
つーかそもそもStruts2自体、採用するハードル高いしな
struts-blank.warをインポートして作るのが普通ですか?
そんなにハードル高いかねえ? st1しか知らない人ばっかりって意味では採用は苦労しそうでは有るが。
1から2とか別にそんなに違わないだろ。 MVC が分かってればなんとかなるはずだし。 敷居なんて全然高くないよ。
でもst2の案件は増えないし、st2の人材募集も無い。
st2 って、ストリートファイター2の略?
ううん、いただきストリート2
顧客に納得してもらうところにハードルがある。 「そんなリスクは取りなくない。枯れたStruts1でやれ。」 って言われる。
意味が分かんないww 何のリスクがあるんだよwwwwww
452はヌルい案件しかやったことないんだね…
ヌルい案件しかないっすwwwww で、実際の所、何のリスクがあるんですか?
455 :
デフォルトの名無しさん :2009/10/25(日) 20:44:29
工数を水増しできないリスクかな
st2で遣るので、人月の単価上げようとしても認めてもらえないしな。 しょっぱいvbの案件がいつまでも有るのと同じ理由。
2にしたからといって機能が高くなるわけでもなんでもない品・・ どうせ覚えるコストかけるならwicketとか採用して欲しいわ
それこそメンテに不安有るので却下されるわな。
wicketはないな。
それを言ったらst2もないけどな・・
「‥じゃあ、今回もStruts1で良くね?」 (以下無限ループ)
でも今更st1は無い。 もうvbでいいよw
じゃあtapest(ry
tap(ry にするくらいならvelo(ry でいいわ・・
で、今回もst1でやるけど良いの?
「st2でやりたいって?それ枯れてるの?」
st2の不具合は全部対応してね。言い出しっぺなんだしw
st2? 君が未来永劫メンテするならいいよ。
あれ?マジでそんなレベル? struts2は1みたいなスタンダードには全然なりそうもない感じ? 最近小さな現場ばっかりで世界が見えてないんだけどみなさんの現状を教えて。 群雄割拠でこれといった候補が無いのならstruts1使い続けるわ。
<s:property>タグの仕様が変わった件について
せめて互換性がもうすこしあればよかったのにね。 1のカスタムタグとActionクラスをそのまま使えるようにしてれば日本で主流になってたろうに。 Struts2は、はっきりいって数ある似非Struts1フレームワークのひとつでしかないよ。
昔はStruts1しかなかったからなあ。 これだけフレームワークが乱立してるとスタンダードなんてないのでは。
まだ淘汰されずに紆余曲折団塊だからな。漏れ的にはjsfに落ち着いて欲しいけど。 暫くはst1が結局無難。5年とかシステムをメンテするなら特に。
JSFは日本語が数値文字参照になる・・・。 struts2の<s:property>タグもそうみたいだし、何か理由があるんですかね?
>>474 7bit圏でも文字化けがなく出力できるくらい。
マルチバイトは昔から鬼門だからね。なんのためにUTF-8がデフォルトなのかをしってほしいよね。
こっちはUTF-8でも大幅に譲歩してるんだし。
ソースいじって毎回コンパイルするのもだるいしねぇ。
フィルタで戻すのも現実的ではあるけどパフォーマンスとかわざわざさげるのも。
数値文字参照になるかどうかのフラグだけ用意してもらえればいいんだが、
JSFの日本での実績がないおかげで文句を言う人がほとんどいないというのが原因だと思う。
携帯電話が一番鬼門ではあるが、フルブラウザ搭載しているのがほとんどだから大体大丈夫といえなくもない。
パケット代が上がるのがきついけどね。
まあ日本人プログラマに支那語や半島語でも問題なく動く様に実装しろと逝っても無茶なのと同じで、 英語圏のプログラマに日本語で問題無い様に実装してくれというのは無茶。 日本語だと問題有るので、まだstrutus1使ってるよwって報告すれば(ry
日本語で書かれたst2の本って少ないね。 st1の頃はもっと多かったはずなのに。
需要無いからね。st1で案件も求人も間に合ってる。
今は1.3が多いのかな? それとも1.2?
Struts + Spring + Hibernate
Hibernate とかもうあり得ないから・・
Javaの世界は流行り廃りが激しいですね
例外はstruts1
JSF + EJB + JPA
標準ではあるが…
st2の洋書で一番使えるのどれよ
>>485 海外だとわりとスタンダードな組み合わせなんだよね
Tomcatだけにこだわってるの日本くらいじゃないかな
富む猫の人気ぶりは異常だよな。古過ぎだろうと。
glassfishとか
Struts + Spring + iBatis
2.1.8でStrutsPrepareAndExecuteFilterの エンコード関係のバグは無くなったようだな。
誰もいない
もうSAStrutsでよくないか?
Strutsを今でも使い続けないといけない保守的なところに Seasar2必須なものが入れれるとは思えないが
struts しか知らない人が多いよね
色々あることは知ってるけど、チームだと 全員が使えるものじゃないと駄目だからだろ。 一人でやるなら道具は選べるけどさ。
そのチームはいつstrutsを導入したんだろうな
毎回人は寄せ集められてくるから固定ではない。 となるとスキルがどの程度あるか、前回やったから 今回はさらに楽になるとか そういう知識の積み重ねが期待できないので難しい。 だからいつも効率の悪い開発スタイルなので高コストなんだよ。
なんか根本的なところが間違ってる、とまではいわないまでも、考え違いをしているような気がする。 もういちどスタートラインに戻って考え直してみてはいかが?
Struts2
502 :
デフォルトの名無しさん :2009/11/15(日) 16:56:39
struts2を今更触ってみたんだけど出力されるHTMLが改行だらけで汚いのはどうにかならないの? FreeMarkerのテンプレート書き直せばいいんだろうがめんどくさし
フィルタでも作ったら?
Javaって何でこんなに面倒なの?
SymphonyとかRailsのほうが面倒じゃね?
Javaって何か凄く回り道が必要じゃない? フレームワークが乱立してて、使い方覚えてもすぐ陳腐化しちゃうし。 まあそれがいいって人もいるけどさ。
I think so.
乱立してるのってJavaだけじゃないし
だけじゃなければ良いってもんでもないだろ
510 :
デフォルトの名無しさん :2009/11/15(日) 21:28:23
>>505 それに相当するのはJavaでいうとStrutsではなくGrailsだな
でもJavaは特に多い。 Symphony、Railsはフルスタックだから情報がまとまってるもの。 JavaはDIやらORMやらその辺の情報がバラバラなんだよね。 好きなのを組み合わせて使うのがJava流なのかもしれんけどね。
>>481 Hibernate、JPA実装だけど駄目か?
もうJavaEE6でいいじゃん
単にマイナーでそれだけしか無い言語と、多様性があって選択肢が確保されてるjavaを比べてもなあ。 それこそjavaの案件ならst1使うって決めてしまえばいいだけで。 java案件も無いのにjavaエンジニアを囲って給料払い続けるほうが高コストだろう。 java案件取れたら募集掛けて寄せ集めるのがコスト効率はいい。 javaコード描いてるだけの下っ端じゃなくて、予算管理も遣ってみて経験詰んだら。
struts2のガイドのPerformance Tuningでfreemaker関連の事が沢山乗ってますが jspだけ使ってたら必要ないものでしょうか?
struts2のアーキテクチャって struts2.xmlがプログラマーから見たコントローラーだよね?事実上
事実上もなにも、そうでしょ。
コントローラはあくまでActionじゃない? xmlはその設定ファイルというだけで。 コントローラの役割ってユーザからの入力を受け付けてモデルを起動してビューに渡すことだから、 そのうち「どのURLで受け付けてどのビューを起動するか」の設定を分離してるだけというか
もう語り尽くしたか?
Strutsって3次元配列がフォームで使えないから意味ない
意味が分からん
526 :
デフォルトの名無しさん :2009/12/04(金) 18:20:05
>>524 Write it again in English.
WEB-INFのINFってINFormationだろ? 情報なのは当たり前だろうが って思うんだけど
INFINITE INFRA
infinity 説に一票
530 :
デフォルトの名無しさん :2009/12/19(土) 23:06:15
inferiorityの略だと$UNの講習で教わりました
531 :
デフォルトの名無しさん :2009/12/26(土) 13:51:12
inferiority説に一票
struts2でseoされたurl(pathinfoでurl引数を受け取るやつ)をやる一般的な方法ってなに?
もしかしてアクションクラスって xwork2のActionクラスとかActionSupportクラスを直接継承してないとダメ? 複数のアクションにまたがる共通機能を実装しようとおもって ActionSupportを継承したスーパークラスを挟んだらstruts2フィルタの起動に失敗した
そんなわけない
Testにリダイレクトする
フィルタ
フィルタってルートから使えるの?
何がしたいんだか分からん
全てのアクションの全ての返り値で 同じjspファイルを使用したいんだけど可能?
541 :
540 :2010/01/11(月) 23:48:59
アクション数に比例して設定を増やさずに、と言う意味で。
542 :
540 :2010/01/11(月) 23:53:23
struts.xmlで、こういう事がしたい。 <action name="*" class="{1}Action"> <result>/common.jsp</result> </action>
>>542 struts.xmlはワイルドカードつかえるはずだけど?
544 :
540 :2010/01/12(火) 01:19:57
たぶん、class属性で変数が使えない resultタグ内では使えるんだけど
>>416 実は、オレも未経験でJavaやらされているんだけど
よくわからん
技術指導と開発リーダーやってくれる人が欲しい
人月60万くらいでいかが?
>>546 他の外注とのバランスもあるからね、人月60万くらいしか無理なんだよ。
オレも技術だから、言いたいことは分かるがな。
>>547 いきなり、「俺を使え」と言われてもさ
何が出来るか言ってもらわないと
あ、後勤務地は大阪だけど、良い?
技術指導と開発リーダーで60万ってことは コーダーはどんだけ安いの? そりゃー絶対やらないわ。
>>549 PGは、40万くらいから
デフレだねぇ(苦笑)
>>548 ごめん、大阪は無理だわwww
わりwwww
また今度
デスマ確実案件だなw 40万貰って、60万のリーダに全部丸投げしてたほうが楽だわw
フレームワーク使っても、結局は人海戦術なのか
フレームワークって人海戦術のためにあるんじゃ
だな。 フレームワーク使わせてれば、有る程度統一出来るし、人員代替も訊きやすい。 要は各人の独自プログラミングを辞めさせて、定型パターンの生産に固定化すればいい。
人海戦術で何とかなるなら、人海戦術で何とかする部分を フレームワーク化出来ないかな…、なんて一瞬考えてみた。
>>556 それパッケージだろw
人海戦術部分=業務要求&顧客要求
業務要求まで絞ってフレームワーク化して顧客要求に応じてカスタマイズ
>>558 です
自己解決しました。
お騒がせ致しました。
手前勝手な野郎だな どう解決したのか書いとけ、質問したエチケットとして
カスタムタグを既存の奴の派生で作るとき、tldで元のプロパティも全部書かないと駄目? tldには継承とかないのかな。onclick〜関係毎回写すのめんどい
プロパティファイルの値を出力するのは、 bean:writeを使用しますが、このarg0にプロパティファイルの 値を出力するのはどうすればよいでしょうか?
strutsの言語切り替えってブラウザのロケール?
日付文字列のパースに、何故か起動したユーザのロケールが影響してて はまったことがある。
ファイルアップロード時に、サイズ超過すると Formに何も設定されないのは仕様?
サーバがブロックしてるとかならそうじゃね
FileUploadExceptionで中断するんだからセットされないでしょ。
どうやったらセットされるようになるか
maxsizeを1Gとかに指定して自分でサイズ判定処理したら?
セキュリティホールを作った責任を問われないようになw
セキュリティホールになる?
そりゃ1GBを5個も10個も送られたらメモり食いつぶしてサーバー落ちるだろ
まじか。。
2.1.8.1にて、validationでのエラー発生時に、 inputへの遷移先をtype=chainでactionにしてみたんだが、 遷移はするけど、fieldErrorの内容がごっそり消えてしまう。 解決方法をご存じない? 1.3系にてaction→actionのdispatchをごりごりやっていたので 同じような事をしたいのです。
よく調べていないけど setter, getter が合っていないとか…
redirect=trueみたいな設定を入れていない限りパラメータ引き継がれるけどなあ。
chaininterceptorが入ってないんじゃね?
579 :
デフォルトの名無しさん :2011/01/19(水) 03:43:08
やっとできた…。 まさかApacheの設定とは…。
以上の結果から、以下のことが推測されます。 Struts1の勢力で中国が1位なのは日本のオフショア開発によるものではないか。そうすると3位の日本と合わせて日本のSIerが世界の中でも唯一時代遅れのStruts1を使い続けているという事実が裏付けられたことになる。 JPAやJSFを使った比較的最近のJavaEEを使ったエンタープライズ開発の中心はインドである。英語力と技術力を生かした欧米からのオフショアが多いから? Spring Rooのような最新技術を使った開発は欧米で行われている。
582 :
デフォルトの名無しさん :2011/02/23(水) 16:01:08.31
オブジェクト指向全否定なフレームワークだなw
てらそるなってここ?
584 :
デフォルトの名無しさん :2011/03/14(月) 00:05:30.72
Struts2ってHTML5書けるの?
585 :
デフォルトの名無しさん :2011/03/18(金) 04:03:36.84
おれはjavaが嫌いだ。 なんといってもバージョンをがちがうということで、エラー がでる。 かつておれはj2sdk1.5+tomcat5+struts1.3で開発した。 cent os上で動かし、開発は順調に進み、リリース直前に控え、 最後のテストも順調に動き、顧客にも見せ、顧客も画面の作り に満足してくれた。 おれはみんなで飲みに行き、明日の稼働を待った。 だが、ここでプロマネがなんの根拠もなしにサーバーのjava環境をj2sdk1.6 とtomocat6とstruts2.0に変更した。直前にだ。 おれはこのことを知らず、眠った。その後会社に行くと顧客が おこった顔で待っていた。 なんだろうと思ったら、エラーがでたらしい。確かにエラーがでる。 おれがなんかしたのかと思った。ところが、すぐに原因はわかった。 プロマネもなぜかわかっていない。 おれは発狂した。せっかく作ったのに。社長はおれになぜバージョン をあげるとエラーなのか、君の作り方が問題あるのでは? プロマネもお前が悪いの一点張り。 考えらない。すぐに作り直して。って言われたが、おれは何と言って 返したが覚えていない。ただ携帯の電源を切って、布団の中で寝ていた。 その後、辞表を出した。
586 :
デフォルトの名無しさん :2011/03/18(金) 04:10:56.83
最後に社長の一言 javaってonce write any whereじゃないの? って聞かれた。しねばいいと思った
tomcatやstrutsの仕組みを利用してるなら、tomcatやstrutsの仕組みが変わったらそれを利用してるアプリケーションも合わせて変更しなければならない。 1.3の頃に組んだ規模の大きい業務アプリケーションを今でも使い続けてるのは2.0に変えると作り直しになるから。 バージョン戻して納品すべし。
>>585 俺もプロマネと顧客は悪くないと思う
javaが悪いんだよね
いやstrutsのメジャーバージョンあげたプロマネが悪いだろ マイナーバージョン一つあげてもテストが必要なのに リリース直前になんて無知すぎる
その程度の会社でしか働けない奴が悪いって話でしょ。
591 :
デフォルトの名無しさん :2011/03/18(金) 19:58:42.79
>>590 悪うございましたな。就職氷河期で、ITしか決まらず、
ITやっているんですけどね。
サーバー管理とか全部やったのにmysqlの設定なども
プロマネなんかいらねーよ。もう。
おれはこの会社の人と仕事はしないようにしている。
つーか無知の人間がいきなり他人が作ったサーバーのrootにアクセスしてjdkをインストール
し直すその意味がわからん。正直嫌われているなと思った
ネタじゃねーのかよ( ゚д゚)
きっとおまえを追い出すためだろうな 辞めたら負けだ
ネタだよ
595 :
デフォルトの名無しさん :2011/03/19(土) 00:22:45.88
ネタじゃねーよ。
どっちでもえーわ 目の前にあるものを信じろ
JDKやTomcat上げてエラーになるのはシステム側の問題もあるかもしれないけど Struts1系とStruts2系は全くの別物だから動く筈が無い
というか、そんなにわかってないプロマネが本当にstruts2のバージョンあげれる? EclipseでSVNからチェックアウトしてstrutsのlibごっそり入れ替えた時点でエラーでそうだけど。 デプロイしてあるjarファイル入れ替えたのか?レベルうんぬん以前の問題だよなあ。 社長は技術職じゃないなら仕方ないんじゃない。そんなレベルのプロマネの言うことを 信用するのは悪いけど
ネタだよ
601 :
デフォルトの名無しさん :2011/03/24(木) 22:52:51.99
checkboxの配列バグふざけんなよ
バグを発見したら報告してあげましょう。 嫌なら無理して使う必要はありません。 無理して使わざるを得ない場合は自分で修正しましょう。
社長によっぽど信用されてなかったのだろうね。 centでjdkのバージョンアップなんて簡単に遣れるものなのか? つーか開発終わったら納品前にバックアップぐらい採っておくよな? ウマく動かなかったら弄った香具師の犯人探しして元に戻させるよな?
604 :
デフォルトの名無しさん :2011/03/27(日) 19:13:16.11
あーそれはもっているよ。 だからそれを渡したんだが、当然struts2.0だと前の人も 言っていたがうごかない。 問題は1.3で動いたものを急にサーバーのstruts2.0にあげるという 意味がわからなかった。 1.3に戻して稼働しましょう。と発言する気にもならなかった。 なんかいじめにあっている気がして。
サーバのstrutsって意味がわからん。 strutsってwarファイルの中に入れるもんだろ?
まあjreの lib/ext にまとめて突っ込んでるんじゃね。ありえないけどw
ゴミが散らかってんじゃねえよ
struts2を勉強中なんですけどタグライブラリの説明が あるページってないですか? というか本がないのがつらいですね。「
Struts2なら腐るほどサイトあるだろw つうかStrutsタグとかなるべく使わずにcoreとか使ったほうがいいと思うが。
なんかstruts2のタグ使うと勝手に余計なHTMLタグを生成してしまいますね。 これは使えないわ。
んなこと言ったらJBOSS Seamなんて・・・ つかstruts2はとある取引システムに使ったけどもう使わない ELがメソッド実行できるようになったからOGNL存在価値ないし 似たようなの乱立してややこしいだけだよね
strutsつかわねーって、他なんかいいのあるか? RubyのSinatraみたいなオキラクなのがあったら便利なんだが
つSpring MVC
Spring MVCいいよな。はやってほしいわ。
Springは代りにはならなくね? というかSpring Struts (+Hibernate)の組み合わせとか定番になってるし
SSHとか何年前の話だ? うちは昔StrutsでやっていたようなところはSpring MVCになってるよ。 Rails系のフレームワーク、ASP.NET MVCと似た感じの設計にもできるし。
618 :
デフォルトの名無しさん :2011/09/25(日) 17:33:37.20
うちはstruts1.3のみで開発しているよ
最近はSearser、Struts経験者です!! とかいいながら、DIとか全く理解してない人が多くてのう…
DIとかいらないよな
DIが不要とは実にもったいない。 ちなみにStruts3の作成が始まってるぞ。
PLクラスで理解してないのは問題だが DI程度ならさくっと説明出来るだろ
Struts3が主流になるころには流れについていけない奴が続出でまた業界が一新しそうだな また一儲けできそうだ
624 :
デフォルトの名無しさん :2012/03/17(土) 13:13:03.96
過疎っているけど質問できるような状況なのだろうか・・・・・ 複数の端末から同時アクセスされたとき、 SessionAwareで設定/取得しているセッション情報が 破壊されたりハイジャックされたりするのですが、 どのように解決すればいいのでしょうか?
625 :
デフォルトの名無しさん :2012/03/17(土) 13:25:12.62
SessionAwareで取得したMap(SessionMap)と、RequestAwareで取得したHttpServletRequestからgetSessionしたHttpSessionを混在して使っているとか?
jboss使えば要らない気がするんだが認識間違ってるかな?
jbossはAPサーバ、同等な機能は別に必要、jbossプロジェクトで揃うけど
質問です。 struts1.2とtomcat6の組み合わせってちゃんと動きますか?
最近になってStruts1.2のプロジェクトに放り込まれたんだけど、 前の職場でWicketとかJSFやってるとナニコレ感が激しいな…。 まぁこれも仕事だからきちんとやるけどさー。
こんな甘々実装でなんでも出来ちゃう仕様って怖すぎるな チョット前までセキュリティ ザルだからな 他にもまだまだ潜んでるだろ
Struts2の書籍ってサンプル集みたいなのはあるけど 一から解説してくれる技術書ってないね
なんのステマだよ今頃
Struts3はすげぇぞ
じゃあ俺はSpring MVCのステマをするわ
>>634 たしかにセキュリティホールがすごそうだ
637 :
デフォルトの名無しさん :2012/10/14(日) 16:02:48.55
今はもうSpring MVCの時代だろう
Hibernateってどこで質問すればいいの?
Java⇔RDBのMapping-Frameworkを語るスレ ってのがあったはず。 機能はしてないけど。
>>639 ありがとう。なんかスレの終わってる感がすごいですが・・・
Strutsを覚えないといけないんだけど、入門書ほとんど売ってないね。 もうあんまり人気ないのかな。
ネットで十分
背中まで四十五分
Struts1.2, 1.3, Struts2 色々違うし、新規ユーザーはウンザリであります!
どれかひとつ覚えても、また勉強しなおさないといけない感じ?
struts-config.xmlで設定されている値をjspにて参照する方法はないでしょうか?
バリデータについて、数値を必須チェックするにはどうすればいいでしょうか? <field property="isbn" depends="required,integer"> とやっても、フォームを空欄で送ったとき、バリデーターが働かないでそのまま 通ってしまうのですが。
647は解決しました。 ありがとうございます。 <html:text>で作ったフォームに入力した文字が、次回、同じ入力画面に来た時、 前回入力した値が初期値として入力された状態で表示されるのですが、これを残させ ないようにするにはどうすればいいのでしょうか?
648は解決しました。 ありがとうございます。 scopeがsessionになっていただけでした。
struts2の本が欲しくて本屋行ったんだけど、 置いてないみたいだったんで、店員さんに 「strutsの本あります?」 って聞いたんだ。 そしたらエロ本コーナーに連れていかれたんだ。 ・・・。 って一人エッチの本ちゃうわ! 聞き間違いにもほどがあるわ! ・・・。 まあ、作り話なんだけどね。
長文失礼します。 以下の現象で悩んでいます。 == 環境(ゼロコンフィグ) == struts 2.3.14 on jboss 4.2.0、 json-plugin 2.3.14、jquery-plugin 3.5.1 == JSPの構成 == メイン表示.jsp(jquery-pluginのgridで表を表示) <sjg:grid href="JSON.action" ...略 ></sjg:grid> JSONAction.java(JSON形式のデータを返します) アノテーションは @ParentPackage("json-default") @Results({ @Result(name = "success", type = "json") }) 続く・・・
・・・続き == 問題 == Firefoxとchromeでは、問題なくgrid内にJsonのデータが表示されるが、IE9では表示されない。 (grid自体は表示されるが、Jsonデータが表示されない) ちなみにJSONActionは正常にデータを返しています。 また、JSONActionの@Resultsに params = { "contentType", "application/json; charset=UTF-8" } を追加してもダメでした。 どなたか解決できる方、いらっしゃいましたら 教えて頂けないでしょうか。
Struts2って致命的なセキュリティ的欠陥があるんですか?
S2-016でググれ。 ?redirect以降をコピペしてcalcにでも書き換えれば、すぐにわかるだろう。 バグフィックスでごっそり削られていたが、なんかある度にごっそり削られるんだろうな。
新人研修を終えて配属された部署ではStruts1.2をメインで使ってるみたいなんですがこの先大丈夫でしょうか?
656 :
デフォルトの名無しさん :2013/09/07(土) 15:45:50.47
なんかあらゆる知識がいるかんじ MYSQLとの連結が難しそう あとstruts-configなんかの設定とか 面倒 本をよんでこんだけしんどいからなんか開発だとノイローゼになりそう
もうStruts2を選択する案件なんて無いだろうな
stack overflow見る限り、spring mvcしか使ってない印象 日本だけseeserやSA Strutsが流行ってるのかしら?
元々そういう風にする戦略だろ。
660 :
デフォルトの名無しさん :2013/11/04(月) 14:35:59.64
strutsについて書かれているいい本はないですか? 10で学ぶjakarta入門読んでいるがまともに動かなくて難義してる springは? springによるwebスーパーサンプルがいいですかね こんなに忙しい日本人がIT知識身につけるのは大変ですね
>>1 が5年前か
今思えばSession6まで行ったのが信じられない
662 :
デフォルトの名無しさん :2013/11/18(月) 14:20:50.56
struts struts2 JSF,spring,seaserといろいろフレームワークある 全部使いこなしている人おるんだろうか?
slide share
>>662 その中でstruts,struts2,seaserはオワコンだから使いこなせる必要なし。
JSFがオワコンじゃない・・・だと!?
JSFは知らんからw
Struts1が完全終了する前にStruts2の方が完全終了しそうだな。 Struts1系は過去の資産があるからもうしばらく生き残っちゃうだろwww
>>667 Struts2ってそんなに落ちぶれてんの?
海外では主流ってイメージだったけど
Struts2はセキュリティ無視の設計だからもう誰も使わんだろw
Actionのchainの前後でActionMessageって引き継がれないもんなん? 1つのrequest中でメッセージを引き継ぎたいんだけど、どうやったらいい?
アクションメッセージは名前の通りアクションに紐づくものなので、アクションをまたがって保持されない お望みの動作を実現する一番簡単な手段はrequest.setAttributeで持ちまわること
>>671 やっぱそうなるのか。それを実現する一般的なプラグインとかもないということかな?
できるだけ自作は避けたいと思ってる。
>>672 俺の知る限り、そういうことをやるプラグインは無い
自作って言ってもexecute内でsetAttribute呼ぶだけだろ?1行で済む
674 :
デフォルトの名無しさん :2014/03/16(日) 01:38:41.67 ID:fpWT+iM7
Struts2を使おうとしているんだが、SessionAwareのメリットがわからない。 ServletActionContextから取得するのと何が違うんだろう?
>>675 もうとっくに修正済みだから
根本的に対処できてるよ。
そもそもだ Struts2を利用する利点なんてあるのか?
678 :
675 :2014/03/16(日) 20:35:52.34 ID:R/t6ZJsj
strutsでインターネットアプリを構築すると、脆弱性が発見されるたびに、クラッカーのサンドバックとなるスリルを味わえる。
今はなにつかうん phpの変数に$つけるのを受け付けれなくて、サーブレットにしよう思うんだが・・・