△△もっとStruts2の良さを教えてくださいSsssion6

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2008/08/01(金) 05:27:03
Apache Strutsフレームワークについて語るスレ

前スレ
△△もっとStrutsの良さを教えてくださいSession5
http://pc11.2ch.net/test/read.cgi/tech/1167469508/
2009/04/05(日) 12:06:26
>>185
Struts1も行き当たりばったりで機能追加と廃止してきたから同じ方向ですすめてるのだろうよ
2009/04/07(火) 08:53:42
struts1最強
2009/04/07(火) 17:45:45
ははは
2009/04/08(水) 06:08:06
>>189
ユーザー数が?
2009/04/08(水) 15:18:13
習熟率が
2009/04/08(水) 23:40:01
未だにあちこちで使われてるしな。
2009/04/09(木) 01:51:41
日本は人材も居ないんだしローテクで良いじゃん
2009/04/09(木) 02:00:38
人材いない→ローテク→人材育たない→ローテク
2009/04/10(金) 21:37:33
みんなでCOBOLに戻ろうwww
ネット対応は無しでwww
2009/04/11(土) 03:32:35
良いんだよ日本は、ガラパゴスでw
2009/04/11(土) 12:44:47
そして世界から取り残されていくwww
2009/04/11(土) 13:13:51
絶対ついて行かないとならないってもんじゃないから取り残されても問題無いわ
2009/04/12(日) 00:07:45
スキル格差に気付いてからでも追い付ける人ならいいんだけどね。
重い腰が上がらなくなって、いつの間にかユーザさんから技術的な指摘を受けても理解できず
意味不明な受け答えしか出来なくなった人を見てるから安心できない。
まぁ、その人は今年40なんでそろそろ限界なのかもしれんけど。
2009/04/12(日) 01:32:40
国際的なネットワークから孤立するのは危険だと思うけどな。
IT鎖国状態に成るぞ。
2009/04/13(月) 14:55:34
リプレース案件の時に新しいのでやればいいだろ
2009/04/22(水) 19:27:48
ストラッツ
2009/04/26(日) 12:33:17
BTS
2009/04/26(日) 12:36:37
Struts
Spring
Hibernate
206デフォルトの名無しさん
垢版 |
2009/05/02(土) 13:31:47
これ凄く便利そう
画像:http://www.javaworld.com/javaworld/jw-07-2004/images/jw-0726-pagination-thumb.jpg
記事:http://www.javaworld.com/javaworld/jw-07-2004/jw-0726-pagination.html
207デフォルトの名無しさん
垢版 |
2009/05/04(月) 19:25:27
これってStruts2か?>>206
2009/05/12(火) 14:12:41
そういや、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を採用する。
その辺の振る舞いが明白だ。まぁ僕には関係のない話だけどさ。
2009/05/12(火) 14:35:06
なにも判っちゃいねーなw
2009/05/13(水) 02:24:15
seasarやる奴ってキモい奴ばっか
2009/05/13(水) 03:28:24
>seasarやる
こんな表現するマいるか?
S2使ってる会社のついていけない新人かな?
S2レベルでついていけなきゃ他でも使いもんにならないぞ
2009/05/13(水) 06:33:28
業務でオープンソース採用してる所はそんなものさ。
2009/05/13(水) 15:25:22
S2と言えばStruts2
違うプロジェクトの話はよそのスレで
2009/05/18(月) 03:44:51
ttp://pc12.2ch.net/test/read.cgi/tech/1181063688/

struts2ネタでもりあがってたのになー
sastruts脳なアホばっかでstruts2ネタな人消えちゃった
2009/05/18(月) 20:26:54
sastrutsの事は忘れてs2の話しようぜ
2009/05/20(水) 00:04:24
どう見ても嵐に行ってますがな・・・
2009/05/20(水) 08:48:21
>>214
お前一体何と戦ってるんだ?
2009/05/23(土) 07:42:35
>>208の訂正
×DTO
○VO
2009/06/03(水) 16:22:39
struts1.2のstruts-configのワイルドカード設定みたいな事って
struts2でもできる?
ゲストページがいっぱいあるんだけど共通のアクセスコントロールしかしないので
/guest/*.actionを/jsp/{1}.jspにフォワードしたいんだが。
自分でそれ専用のservletを一個書けばいいんだけどなんかスマートじゃない気がして
2009/06/03(水) 16:25:45
ごめん先に検索すればよかった。
struts-configに書けばできるんだね。
Actionに直書きすることしか頭に無かったわ
2009/06/03(水) 18:29:49
具体的にどう書くことにしたの?
添削してあげるよ
2009/06/12(金) 17:38:52
struts2でフォームに複数のsubmitボタンがあって、
それぞれ付加するパラメータをわけたい場合ってどうすればいいの?
<s:input ><s:param /></s:input>はダメだった。
<s:input method="">で呼び出すメソッドをわけてその中でパラメータ
設定するようにしたのはいいんだけど、validate()が走っちゃってうまくいかない。
かといってこの画面のためだけに
<interceptor-ref name="validation"><param name="excludeMethods">
の設定をいじってvalidationしないメソッド名を増やすのはかっこ悪い。
input*ってやってみたけどワイルドカード効かない。
validate()メソッドなので@SkipValidationは通用しない。
2009/06/12(金) 17:46:05
追記
validate()を呼ばないようにするのは<interceptor-ref name="validation">じゃなくて
<interceptor-ref name="workflow">の方だったわ。結果は一緒だけどな。
2009/06/27(土) 04:33:49
struts2でactionとjspを行ったり来たりするプラグイン無いかな?
2009/06/28(日) 15:15:46
エスパーさんお呼びですよ
2009/06/28(日) 18:44:22
それ、ビューとコントローラの境界無いじゃん。PHPでも呼び出して使えば?
2009/06/29(月) 02:30:44
>>224
どういう主旨かいまいちわからないけど
s:action でJSPからAction呼び出せばいいんじゃね?
2009/06/29(月) 07:04:07
SAStrutsPluginみたいなものが欲しいって話だろ。
2009/06/29(月) 09:54:04
ああそうそうごめん、Eclipseのプラグインが欲しいってこと
前dolteng使ったときに便利だなあと思ったのでstruts2用があれば
2009/06/29(月) 11:35:54
>>228 は神か! Struts2に組み込むプラグインのことかと思った。
2009/06/29(月) 21:19:55
>>230
普通はそう考える
2009/06/30(火) 01:18:04
>>231
ちゃんと調査して無いだけだろ
2009/06/30(火) 13:36:46
思ったんだけど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毎のフォルダができるのはアレだなあ
2009/06/30(火) 13:59:19
未だにJSPなんか使ってるのか?
FreeMarker使えよ。
2009/06/30(火) 15:05:25
JSPのダメなところってどこだろう?
2009/06/30(火) 20:00:20
>>234
使ったことないから知らんけど
FreeMarkerはEclipseで自動的に文法チェックしてくれるの?
2009/06/30(火) 21:02:51
>strutsの遷移先をWEB-INF/classes/jp/example/project/package/jsp/member/list.jsp

んでこれはどうなのよ。
なんかactionとjspが同じフォルダだと、phpでMVCとかいいながら結局
TransactionScriptになっちゃってるダサ実装みたいだなあと思ったけど
意外と行けるかもしれん。
2009/06/30(火) 21:47:13
同じフォルダにあることとTransactionScriptは
関係ないのでは


2009/06/30(火) 22:00:54
そういや昔WEB-INFの先にフォワードできないのIBM系に多かったのを思い出した
Sun系はできてた(Tomcatはsun)

たぶん今でも動いてるシステム多数あるな
2009/06/30(火) 22:06:04
>>238
いやなんか層の切り分けができない感じで。ダメ?
もちろん直接の関係はない。
2009/06/30(火) 23:13:46
>>239
それSunとかIBMとかの問題なのか?
WebSphereとTomcatの差なだけでIBMのVMでTomcat動かしても
OKだったとかいう話じゃないのか?その現象は知らんけども
2009/06/30(火) 23:43:12
>236
してくれるよ。

あと、Struts2のページにも書いてあるように、FreeMarkerはエラーメッセージが
とても分かりやすいので開発しやすい。
2009/07/03(金) 11:10:03
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

なんで?
2009/07/04(土) 02:22:20
ここ、struts2のスレじゃないの?
2009/07/04(土) 03:07:54
超絶過疎
2009/07/04(土) 03:42:37
いやstrutsのスレだった。
6スレ目(このスレ)を作った奴がいろいろとタイトルを失敗した
2009/07/04(土) 03:45:13
>>244
ClassNotFoundがでるってこと?WEB-INF/classes以下に.classファイルが
できてるか確認して。
java.formに配置したときにpackage宣言書き換えてないとかはさすがにないか。
Eclipse使ってるんだろうし
2009/07/04(土) 04:01:12
クラスはできてるよ
2009/07/04(土) 04:11:17
ClassNotFoundじゃなくて
strutsのhtml:formタグ読み込んだときにaction属性のパスと一致する
名前をstruts-configのaction-mappingsから探すところまでは問題ない。
そのactionタグの中のname属性の名前と一致するform-bean定義の
name属性に対するtypeで指定したパスのクラスがnullとかでる。

java.lang.NullPointerException と
javax.servlet.jsp.JspException: 〜beanを生成する際の例外〜

っつーのが出る
2009/07/04(土) 12:37:00
該当箇所を省略せずにあげたほうがいいぞ
2009/07/04(土) 14:05:59
パッケージ名をjavaから始めるなw
2009/07/04(土) 21:44:20
自己解決したっぽい。
>252が意図していったのかどうかはわからんけど
どうも原因はパッケージ名がjavaからだと見つからないようだ。
予約語みたいな扱いか?とんでもねぇ罠だ
2009/07/04(土) 23:57:16
いや、罠じゃなくてJavaはそのパッケージは使っちゃいけないことになってる
2009/07/05(日) 07:49:50
>222
自己レスだが、今のxwork2.1.4のソース見てたらできそうだな。
xwork2.0.4のMethodFilterInterceptorUtilをjadしてみたら
「*」には対応してるけど「input*」みたいのは無理そうだった。
2009/07/05(日) 14:09:22
ユーザーがトップ画面で言語(日本語と英語とか)を明示的に切り替える時って
ActionのgetText()使えないよね?
properties_ja/properties_enファイルでメッセージ管理したいんだけど
自分でResouceBundle取得するクラス用意するしかないのか。
2009/07/06(月) 13:03:39
>>253

http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.8.1

2009/07/09(木) 08:22:20
リビジョンが0.02上がっただけでクラス構成が変わるとか
恐るべしxwork
2009/07/09(木) 13:23:33
jspをsrcフォルダの下に入れてる人おる?
jspをステップ実行しようとするとソースが見つからないと出るんだけど
素直に/WEB-INF/jspに入れるべきか悩んでる
2009/07/09(木) 13:47:38
ああ、数時間かかったけどできた。
ソース探すときに/WEB-INF/classes/path._to_folder/aaaa.jsp
というフォルダ構成になってないといけないから、
ソースルックアップパスにwtppluginのtmpフォルダを指定するか、
ソースの出力フォルダーを/WEB-INF/classesにしないといけないんだわ。
んでsrcを右クリックして後者をやろうとするとソースフォルダーに指定できませんとか
怒られるんだけど、.classpathファイルを直接変更でうまくいった。

誰の参考にもならないと思うけど俺へのメモ
2009/07/09(木) 13:50:59
今更JSPはやめろよ。
2009/07/09(木) 14:21:16
納期が短いのでこれからFreeMarkerの勉強してエラーが出たときに
どうしたらいいのかノウハウ蓄える余裕がない。
つーかわざわざ勉強し直してプロジェクトメンバーに教え直すほどのメリットあるの?
2009/07/09(木) 14:24:39
>262
ページ単位でちゃんぽんにしてもいいんだぞ?
最初は、単純なページだけFreeMarkerにしとけばいい。
2009/07/09(木) 14:29:07
アホか
そんな余計手間がかかるようなこと仕事でするかよw
2009/07/10(金) 12:02:12
>FreeMarkerはエラーメッセージが
>とても分かりやすいので開発しやすい。

素のjspだってわかりやすかったのにValueStackがいけないんだよな
2009/07/10(金) 14:23:19
JSPのエラーメッセージがわかりやすいとか、いみふ。
エラーメッセージを出すのはコンテナだろ。
どんなエラーメッセージが出るのかはアプリケーションサーバの実装依存。
2009/07/10(金) 14:26:13
そうだけどjspなら常識的にjsp内で起こったエラーがでるだろ。
脳みそ足りてる?
2009/07/10(金) 14:47:02
それって分かりやすいと言えるのか?
2009/07/10(金) 14:59:28
例外生成しても何事もなかったようにスルーして空文字列を返されたり
NullPoやNoSuchMethodしか返さないValueStackのエラーよりは遙かにわかりやすい
2009/07/10(金) 15:16:50
>>267
JSPの実装そのものがコンテナ依存なんだよ。
脳みそ足りてるか?

・・・というか、経験がないんだな。きっと。
2009/07/10(金) 15:27:31
例外スルーしたり、型名しか返さないコンテナもあるよね。
少しまえのOC4Jとか。
今でもそうなのかは知らないけど。
2009/07/10(金) 16:05:35
>>270
うむ、そう言われれば確かにtomcatとWebLogic以外の経験はない
2009/07/10(金) 22:00:46
つまりまともなコンテナ使ってないのに、エラーが分かりにくいとか逝ってる訳?
まともなコンテナ使えば済む話だろ。
まあそういうエラー処理とか趣味のオープンソースではやりたがらないだろうから期待出来なくてもしょうがないが。
2009/07/10(金) 22:17:00
つまり、昨年はでのオラクルのコンテナは
まともではなかったと言いたいわけか。
エラーメッセージが不親切イコールまともでは無い、ならIBMもかなりヤバイ。
2009/07/10(金) 22:54:46
WebLogicはOracleだし、TomcatやGlassfishはもともとsun

つまり、Oracleが一番まともってことか

アレ?
2009/07/11(土) 00:28:15
話がまったく噛み合ってないスレはここですか?
2009/07/11(土) 05:03:39
>>270
ほとんどのシチュエーションでJasper使ってるとかを考慮してないレスに意味はないな
2009/07/11(土) 09:37:50
JasperにあらずんばJSPにあらず。
OASもJettyもResinもおよそまともでは無い。


とでも言いたげだな
2009/07/11(土) 10:02:06
去年までのオラクルなら、オラクルアプリケーションサーバって言ういまいちなのがあってだな(ry
だからわざわざweblogic買収して製品強化したつもり?

jasperのエラーメッセージが糞なので、まともじゃないって?
2009/07/13(月) 19:04:11
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なクラスです。
281280
垢版 |
2009/07/13(月) 19:22:41
すいません、ActionにallListをおいてアクセッサつけてもダメだったので
なんか別のところが間違っているみたいです。出直してきます。
2009/07/13(月) 22:01:23

OGNLはデフォルトでstaticメソッドを実行できんようになっている。

struts2-core.jarの中に入っている
org/apache/struts2/default.properties
を見ろ。

struts.ognl.allowStaticMethodAccess

を値をtrueにすればよいはずだ。試してないけど。
2009/07/13(月) 23:37:05
>>282
うおおおおおおおおお、ありがとう
僕にもできたよママン

ちなみに>>281はActionに置くときの名前をスペルミスするという凡ミスでした
2009/07/17(金) 11:15:05
あの、Struts には Interceptor というものがある様ですが、
という事は AOP にも対応していると考えていいのでしょうか?

素人なので変な事を言っていたらすみません。
2009/07/17(金) 14:14:41
struts2のInterceptorはjavax.servlet.filterのようにAction#execute()の実行前後に
処理を挟めるだけ。サービス層とかでAOPするならspring-pluginとかと組み合わせる。
2009/07/17(金) 14:46:32
>>285
なるほど。確かにその様ですね。
ビミョーに似てるっちゃ似てるけど限定されてるんですね。

ありがとうございました。
2009/07/17(金) 20:18:08
Struts 2.1.6 ではパラメータが文字化けしてしまうそうですが、
みなさんそのあたりはどうしてます?

自作インターセプタなどで対処してるんでしょうか。
2009/07/17(金) 20:27:21
>287
前のバージョンのフィルターが@deprecatedで残ってるから、それを使ってる、
気がする。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況