トップページphp
982コメント329KB

フレームワークStrutsをいじくり倒す人の為のスレ

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん03/04/28 08:14ID:Ub0n1fGR
 流行っているのか、流行っていないのか謎の Struts を語るスレです。
http://www.ingrid.org/jajakarta/struts/
http://jakarta.apache.org/struts/
0894nobodyさん2005/06/12(日) 14:45:10ID:pQiMuddu
>>893
概要はここに載ってる。

http://hiki.ex-machina.jp/JSP/?Struts-Layout%A4%CE%B3%B5%CD%D7

なんか、検索してみるとJSFと同じような方向性のツールっぽいけど、どうなんだろ。
実際に使ってサンプルとか公開してる人いないかなぁ??
0895初歩的な質問で申し訳ありませんが。。。2005/06/13(月) 11:27:15ID:HDNGcZXO
ログイン画面→確認画面→完了画面と遷移させる画面をstrutsで作ろうとしてますが、うまくいきません。現象は以下。
【現象】:struts-config.xmlのscopeをsessionにすると、上記画面遷移がうまくいく。requestにするログイン画面→確認画面→ログイン画面と戻ってしまいNG。
です。ログイン画面→確認画面遷移時にパラメータAをpostしているのですが、requestにするとそのパラメータAが確認画面→完了画面遷移時にnullの為Actionクラスが呼ばれない様に見受けられるのです(ログ入れて調査)。
てか、そもそもActionServletがそんなパラメータの有無でstrutsのリクエストかどうか判断する処理なっているものなんでしょうか?
この辺の判断の処理がどうなってるかご存知の方、又は同じような経験をされた方、どなたかご教授下さい。よろしくお願いします。
0896nobodyさん2005/06/13(月) 22:02:14ID:???
とりあえずスコープの意味を理解しろ。

それから、お前のプログラムで、サーバとクライアント間でどのようにデータが流れるのか理解しろ。
0897nobodyさん2005/06/14(火) 01:20:55ID:???
>>894
あ、それ書いたの俺だ。
すげー適当に書いてほったらかしたまま。 心より恥じる。
ちなみに最近はStrutsやってないんで触ってませんが
地味にバージョンあがってるようですね。

JSFとか大層なモンじゃなくて、主にUIの強化です。
HTMLのUIパーツのヘボさを補うために、JavaScriptとか生成してくれます。
テーブルのページとか編集、ソート等、自分で書くと面倒だし、かといって
ちょうどいいタグライブラリが出回ってないような部分が充実してます。
テーブルとメニュー、レイアウトはかなり重宝しました。
0898nobodyさん2005/07/03(日) 00:02:00ID:g/N41TfH
半年かかってjava→jsp→servlet→ejb→opensourceを組み合わせてwebアプリができるようになったのに
会社で.netに移行する動きがちらほらする
JSFをとりあえず勉強したものがいいものか
0899nobodyさん2005/07/03(日) 05:53:20ID:???
>>898
別に.NETに移行してもいいんじゃない?

自分の中で、今までJavaで身に付けた技術や知識を腐らせないように、
多少でも勉強を続けておけば、.NETでもJavaでも提案できるようになるだろ?

俺も客先によって、.NETやJava、PHPと色々とやってきたおかげで
今では殆どのWebアプリの案件の開発が出来る。
0900nobodyさん2005/07/03(日) 07:06:54ID:???
浅く広くやりたいか、深くやりたいかだな。
0901nobodyさん2005/07/03(日) 10:32:53ID:???
Struts初心者なんですが初心者でもわかりやすいページってありますか?
http://mictan.gozaru.jp/struts/index.html
ここよりももうすこし説明が詳しい方がいいんですが。
atmarkitとかは難しくて。。。
0902nobodyさん2005/07/03(日) 20:31:29ID:???
そういうときは市販の入門書を買え。
0903nobodyさん2005/07/04(月) 18:37:20ID:XaCP499J
DynaActionFormで値をリセットするにはどうしたらいいの?
0904nobodyさん2005/07/04(月) 23:16:58ID:TU4JC3n9
reset()
0905nobodyさん2005/07/07(木) 11:45:37ID:LtmvbCkC
logic:redirectタグのURL本体部分に変数を使用したいのですが、
どうやれば良いのでしょうか?

<logic:redirect href="xxx"/> ←xxxの部分を動的に変えたい。
0906nobodyさん2005/07/07(木) 12:10:52ID:???
<logic:redirect href="<%= xxx %>"/>
09079032005/07/07(木) 18:38:08ID:b/mSczCX
>>904
というか、Actionからではなく、リクエストが上がってきたときに
DynaActionFormに値がセットされる前にしたいんだけど。
0908nobodyさん2005/07/07(木) 19:22:41ID:???
>>907
単純に初期値をセットしたいなら、initial属性で設定。
もうちょっとゴニョゴニョしたいのなら、DynaActionFormのサブクラスを
自作してreset()をオーバーライドするか、Dynaは使わない。

個人的感想:
そもそも、DynaActionFormなんてメリットよりデメリットの方がでかすぎで
使っても嬉しいことはあまりないと思う。
09099032005/07/07(木) 19:28:05ID:b/mSczCX
>>907
サンクス

ところで、あと、validation.xmlを使っていて
<field property="pass" depends="mask">
<arg0 key="prompt.pass"/>
<var>
<var-name>mask</var-name>
<var-value>[a-z0-9]{5,16}</var-value>
</var>
</field>
と設定すると、5文字まではチェックされるんだけど、それ以降は
チェックされず、英数字以外が入っていても17字あっても通って
しまうんだけど、何ででしょうか。バグですか、それとも。。
0910nobodyさん2005/07/07(木) 19:35:32ID:???
<var-value>[a-z0-9]{5,16}</var-value>
じゃなくて
<var-value>^[a-z0-9]{5,16}$</var-value>

としてみると、どう?
ドキュメントには、正規表現の指定は^と$で囲めと書いてあるよ。
09119032005/07/07(木) 22:58:23ID:44PhT5Xu
>>910
できました!!
ありがとうございます。気づきませんでした。
結構細かいところが重要になりますね。
0912nobodyさん2005/07/10(日) 00:17:52ID:???
DynaActionFormしか使ってないシステムの保守で苦しんでる俺がやってきましたよ。

これから新規で開発する人、頼むから普通のActionForm使ってくれ。
0913nobodyさん2005/07/10(日) 00:54:20ID:???
>>912
例えばどういうところが苦しい?
0914nobodyさん2005/07/10(日) 01:02:05ID:???
>>913
俺は>>912ではないが、こういった点がイヤだった。
・プロパティの型や名前が実行時解決である(コンパイル時にチェック不可能)
・set()にセットするオブジェクトが指定の型に変換できるかどうかも実行時解決である(コンパイル時にチェック不可能)
・Beanのネスト構造が使えない(プロパティは全部ベタで実装し、Actionクラスで適切なデータ構成に変換しなければならない)
0915nobodyさん2005/07/18(月) 23:04:05ID:???
>>914
ここいいまとめですね。
ttp://d.hatena.ne.jp/nadi/20040127
0916nobodyさん2005/07/19(火) 09:40:57ID:B9k8AExU
おはようございます。質問があります。

ログインを行う画面login.jspがあり、このjspではアカウントとパスワードを入力し、submitボタンでログイン処理を実行します。
このときのアクション名はlogin.doです。
次に、特定のアカウントのみアクセスできるhoge.jspがあります。
認証を行うためにlogin.jspを経由します。アクセス権のあるアカウントだったらhoge.jspに遷移します。
この、hoge.jspに遷移した後、ブラウザのURLアドレスバーにはlogin.doが入力されています。
ここをhoge.jspに入力させておく方法はあるのでしょうか?
誰かご存知のかたがいらっしゃいましたらご教授願います。
0917nobodyさん2005/07/19(火) 10:58:48ID:???
>>916
おはよう。

<forward ..... path="/...../hoge.jsp" redirect="true">

ここも読んでおきなされ。
ttp://ch.kitaguni.tv/u/1677/Struts/0000027442.html
0918nobodyさん2005/07/19(火) 13:37:29ID:???
>917
どうもありがとうございます。参考ページまで教えていただけて助かります。
0919& ◆tNtHsziLno 2005/07/20(水) 13:55:49ID:vT0JkkZS

まだ、STRUTSなんつってんだぁ、こんなもんいつまでみんな
使い続けるの?

EJBに騙された時と同じだよ。

だめなもんは、ダメ!

もうJAVAはお先真っ暗だよ。
0920nobodyさん2005/07/20(水) 21:39:40ID:???
EJB3いいよ。
Strutsも、単に入力データをBeanにまとめてくれて入力チェックしてくれるだけだから、便利に使えばいいと思う。
0921nobodyさん2005/07/20(水) 22:53:15ID:???
ttp://www.google.co.jp/search?sourceid=navclient&ie=UTF-8&rls=GGLD,GGLD:2004-52,GGLD:en&q=tNtHsziLno
0922& ◆tNtHsziLno 2005/07/21(木) 13:45:55ID:Yejbz1QV
>>920
いや、騙されてますよあなたは。
だって、EJB3のドキュメントなんて、全然そろってないじゃんか。
JBOSSにいってさんざんしらべたけど、
EJB3 Full document のページになぜかHibernateの
マニュアルがおいてあるだけで。

だいたい、SUNが仕事遅すぎるよ。そんなだから、後発のドトネトに
負けるんだよ。
0923nobodyさん2005/07/21(木) 13:56:15ID:???
全角文字使いまくりのこの人はエンジニアなのかね?
0924nobodyさん2005/07/21(木) 14:41:58ID:???
まさか。
時々まねーじゃ、時々SEと呼ばれる、メールと謝罪だけが仕事の人じゃない?
0925nobodyさん2005/07/21(木) 14:43:07ID:???
>>923
>>921の検索結果参照
0926nobodyさん2005/07/21(木) 14:45:20ID:???
>>922
EJB2コンテナは、つくりはしっかりしてたのにプログラムの組みやすさから敬遠されてたけど、EJB3でプログラム組みやすくなって万事おけ
HibernateとEJB3の関係知れば、現段階で永続化に関してはHibernateのドキュメントでも一向に構わんよ。
0927nobodyさん2005/07/23(土) 13:19:12ID:t6KMLNpw
validation.xml
って変更したら動的に再読み込みしてくれないの?
いちいちtomcatを再起動するのは大変なんだが。
0928nobodyさん2005/07/23(土) 14:07:00ID:???
>>927
アプリケーションのみリロードまたは再起動すればいいじゃん。
Tomcatを再起動する必要はない。
0929nobodyさん2005/07/25(月) 09:18:38ID:???
>927
面倒ならソースパスの下に入れれば良いのでは。
0930nobodyさん2005/07/25(月) 09:40:26ID:???
>>927
それだけじゃダメ。ValidatorPlugInのinit()が実行されないと変更は反映されない。
0931nobodyさん2005/07/25(月) 19:56:51ID:Fc9EXQSf
こんばんは。質問があります。
インターネットブラウザから日本語ファイルにアクセスしようとして、
直接ブラウザのアドレスバーにパスを入力すれば参照できるのに、
以下のようにlogic:redirectを使用すると見えなくなるのは何故なのでしょうか?

<bean:define id="path" name="PATH" type="String"/>
<%-- PATHの中身=file://hostname/日本語ファイル.xls --%>
<logic:redirect href="<%= path %>"/>
0932nobodyさん2005/07/25(月) 23:06:39ID:???
>>931
リダイレクトの仕組みを調べましょう。
0933nobodyさん2005/07/28(木) 22:38:48ID:???
時間に依存するテスト(StrutsTestCaseとかJUnit)をするには
どうすればよいのでしょうか。たとえば毎日曜日 12:00-13:00 のみ
分岐するコードがあります。パソコンの時刻を変えたらひとまず
テストできるのですが。。。
0934nobodyさん2005/07/28(木) 22:44:44ID:???
>>928
Eclipse の Tomcat sysdeo プラグインってTomcat自体をリロードするよね?
アプリだけの再起動って sysdeo じゃできないの?
0935nobodyさん2005/07/28(木) 23:03:16ID:???
>>933
簡単な方法としては、現在時刻を可能な限り外側から与えるようにする
hoge(){
 if(new Date() < 2005/2/6){
  。。。
と書くのではなく
hoge(Date now){
 if(now < 2005/2/6){
  。。。
と書く
0936nobodyさん2005/07/28(木) 23:04:12ID:???
>>934
NetBeans4.1使えば問題ナス
0937nobodyさん2005/07/28(木) 23:27:19ID:???
>>934
ANTタスク作ってやればEclipseでもいけるよ。
0938nobodyさん2005/07/28(木) 23:41:03ID:???
>>934
アプリのみリロードだよ。
Tomcat自体のリロードってなんだよ?
再起動とリロードは違うぞ。
プロジェクトを右クリック→Tomcat→Reload This Contextだよ。
0939nobodyさん2005/07/28(木) 23:42:34ID:???
>>936>>937も不要。
0940nobodyさん2005/07/29(金) 00:06:29ID:???
>>938
sysdeo インストールしたらEclipse上にアイコン3つできるけど
いつもそれ押してる。これってTomcat再起動していると思うけど
(時間かかるし、Consoleメッセージでも分かる)。

ブラウザから Tomcat の ../manager/list にアクセスしてアプリの
リロードしたらかなりすばやくリロードするけど。

Reload This Context 試してみるわ
0941nobodyさん2005/07/29(金) 00:17:33ID:???
>>940
それはTomcatの再起動。リロードではない。
プロジェクト右クリックからのリロードは、
Tomcat Manager App の再ロードと同じ。

ウィンドウ→設定→Tomcat→Tomcat Manager Appでユーザ名とパスワードを設定するのを忘れずに。
0942nobodyさん2005/07/30(土) 13:16:17ID:???
>>935
リファクタリングだね。ファクトリーメソッド作って書き直しました。
Virtual Mock Object も勉強してみます。
0943nobodyさん2005/07/30(土) 13:19:26ID:???
>>941
Reload This Context でうまくいきました。ショートカットキー設定
できないのかな。
0944nobodyさん2005/07/30(土) 16:07:08ID:???
ショートカットの設定にはなかったのかい?
0945nobodyさん2005/08/01(月) 08:38:48ID:???
ぶっちゃけStrutsってどうよ?
0946nobodyさん2005/08/01(月) 09:00:35ID:???
それなりに
0947nobodyさん2005/08/01(月) 19:56:54ID:???
日本ではそんなに、にぎわってない?
0948nobodyさん2005/08/02(火) 00:12:30ID:???
んなこたぁ〜ない。
1月4日に神社を訪れて、「初詣ってたいしたことない」っていってる感じか?
0949nobodyさん2005/08/02(火) 00:30:58ID:???
もう旬は過ぎたってこと・・・?
0950nobodyさん2005/08/02(火) 00:52:50ID:???
次に来るのがJSFだとわかっているけど、JSFが実用段階に成熟するまで
もう少し時間がかかりそうだから、JSFはキャッチアップしつつ、
業務では今は仕方なくStrutsという感じ。

JSFについては、ドキュメント・実例・ノウハウ・サポートする開発ツール
(とくに、OSSで良質なもの)、Apache MyFacesの完成度が上がること
これらが出そろうと、Strutsは衰退するだろうね。
Struts・JSF両方を作ったCraigが「Strutsはもうレガシーなもの」と明言しているぐらい。
0951nobodyさん2005/08/02(火) 08:32:44ID:???
JSFはHTTPをラップしまくって見えなくしてるから、StrutsはStrutsで残りそうだけどね。
0952nobodyさん2005/08/04(木) 22:55:51ID:???
Struts2.0ワクワク
0953nobodyさん2005/08/05(金) 03:23:41ID:???
Struts2.0ってでるの?
0954nobodyさん2005/08/05(金) 07:07:56ID:???
Struts2.0はJSFと親和性があるんだって
0955nobodyさん2005/08/05(金) 07:23:14ID:???
>>954
親和性というか・・・・
JSF + Springframework + αのフレームワークだよ。
Strutsという名前がついてはいるが、
現在のStrutsの延長ではなく、まったくの別物。
0956nobodyさん2005/08/05(金) 22:00:25ID:???
それはJSFと組み合わせたらそういう構成になるってこと?
それともJSF抜きでそうなるの?
0957nobodyさん2005/08/05(金) 23:06:31ID:???
>>956
JSFが含まれてるんだよ。
ソースコード落としてみろ
0958nobodyさん2005/08/06(土) 09:02:48ID:???
マージマジマジカ!
0959nobodyさん2005/08/08(月) 04:51:13ID:???
Strutsなんてない方がよかった。
Strutsのせいで2〜3年が無駄に失われてしまった。

0960nobodyさん2005/08/08(月) 05:17:36ID:???
>>959
べつの仕事したほうがいいんじゃないかな。
じゃないと、これからも時間を無駄に失っていくことになるよ。
0961nobodyさん2005/08/08(月) 07:35:25ID:???
>>959
俺も>>960に同意。
0962nobodyさん2005/08/08(月) 08:29:39ID:???
>>960
>>961
詳細
0963nobodyさん2005/08/08(月) 23:28:26ID:???
>>944
ショートカットキー見つかりませんでした。
0964nobodyさん2005/08/09(火) 02:02:48ID:???
>>960
http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20050621/163065/

これのパロディでしょ。


「エンティティBeanなんてないほうがよかった。
 エンティティBeanのせいで2〜3年が無駄に失われてしまった」
0965nobodyさん2005/08/15(月) 14:31:58ID:???
validatorのfieldのpageは数字しか機能しないのでしょうか
0966nobodyさん2005/08/15(月) 14:37:49ID:???
>>965
ソース見れば一発でわかるぞ。
ソース見る気のない奴はオプソ使うな。
0967nobodyさん2005/08/16(火) 03:01:50ID:???
モヒカン様はいうことが違う
0968nobodyさん2005/08/16(火) 13:07:46ID:???
>>966
えらそーなこというな。
てめーがstrutsつくたんか?
この勘違いやろーが
テーメーが手がけてるんだったらちょっとは聞き入れてやるよ
結局てもーも使うだけだろ?
0969nobodyさん2005/08/16(火) 13:12:50ID:???
>>968うだうだ言ってないでソースぐらい見ればいいじゃないか。
ソースも見ない奴がこの手のフレームワークを使うことは俺も賛成しかねる。
0970nobodyさん2005/08/17(水) 21:59:41ID:???
とはいえ、ソースをみないと理解できないフレームワークというのは
完成度が低いのではないかと思う。
0971nobodyさん2005/08/17(水) 23:00:50ID:???
んなこたーない
0972nobodyさん2005/08/17(水) 23:36:43ID:???
高いとはいえないな
0973nobodyさん2005/08/17(水) 23:39:23ID:???
>>970
それじゃ、Javadoc見ればいい。
特定のAPIが数値型を引数に取るかどうかなんて
ソースかJavadoc見るしかないだろうに。

逆に、Javadocやソースで明快な答えを得られるのだから、
シンプルでわかりやすいフレームワークと言えるのではないかと。
そういうものがあるにもかかわらず人に聞かないと使えないような
フレームワークだったら完成度が低いとは言えると思うがね。
09749702005/08/19(金) 00:17:45ID:???
すまんすまん、Javadoc見てわかるならOKだと思うよ。Javadocでなくても
なんらかのドキュメントでもいいけど。

ただ、
>ソース見る気のない奴はオプソ使うな。
とか
>ソースも見ない奴がこの手のフレームワークを使うことは俺も賛成しかねる。

とかいう発言があったので、反射的に書いてしまった。せっかくフレームワーク
使うんだったら、それに関するコストは極力下げたいところだしね。
0975nobodyさん2005/08/20(土) 12:51:20ID:RvcLwBWW
MockStrutsTestCaseを使って、テストの自動化をしているのですが、
ファイルアップロードを含むテストはどうやってやったら
できますか?
09769752005/09/24(土) 17:41:39ID:Si0DCOon
閑古鳥が鳴くスレとはここのことか。久しぶりに訪れましたが
レスはもちろんのこと、何の書込みもない。
もうStrutsの時代は終わったのね。勉強時間が無駄でした。

自問自答ですが、結局これはActionFormに直接FormFileをセットして
Testクラスから直接Actionのexecuteを呼び出すようにしました。。。
0977nobodyさん2005/09/24(土) 18:22:24ID:???
WebProg板はJava使えない人ばかりだからね。
プログラム板で聞いたほうが良かった。

△△まだまだStrutsの良さを教えてくださいSession4
http://pc8.2ch.net/test/read.cgi/tech/1109465052/l50
0978nobodyさん2005/09/24(土) 20:48:00ID:???
質問に答えてもらえなかったら逆切れするスレはここですか?

ま、976がやっても無駄なんだろ。やめれば?
0979nobodyさん2005/09/25(日) 13:24:17ID:???
>>978
悪口しか書くことのできない技術力ゼロの奴とはお前のことか?
存在意義はないので消えてくれ。
0980nobodyさん2005/09/25(日) 14:59:27ID:???
>>979
>>979
0981nobodyさん2005/10/15(土) 23:27:58ID:8D6727U5
value値のEqualでOR条件みたいな書き方はないのでしょうか。
0982nobodyさん2005/10/15(土) 23:36:44ID:???
どこのやねん・・・
レス数が950を超えています。1000を超えると書き込みができなくなります。