△△もっとStrutsの良 ..
[2ch|▼Menu]
336:デフォルトの名無しさん
07/10/03 08:56:20
>>331
StrutsTestCase for JUnit使うといいよ。
URLリンク(strutstestcase.sourceforge.net)
Mockテストとオンコンテナのテストの両方ができる。

337:デフォルトの名無しさん
07/10/03 11:08:17
DataSourceの定義は、1.1の頃からドキュメントでは「推奨しない」と言っていたが、1.3からは完全になくなった。
1.3では定義すら出来ないよ。

1.3では標準でMockテストのためのTestCaseクラスが用意されている。
StrutsTestCaseなんて今時使う奴いるのか?
Strutsを使った開発をさらに難しくするだけじゃないか。

2系は今はStrutsプロジェクトで開発されているが、まったく別系統のフレームワーク。
「Strutsの新しいバージョン」と思っていると間違い。


338:デフォルトの名無しさん
07/10/03 20:57:00
>>337
使ってるが、悪いか、ヴォケが!

339:デフォルトの名無しさん
07/10/03 21:03:50
悪くはないが、ヴォケはお前だと思うよ

340:デフォルトの名無しさん
07/10/04 21:49:24
>>339は趣味でしかプログラミングをしないヴォケ。

341:デフォルトの名無しさん
07/10/04 22:00:40
仕事だったらもっとヤバいだろw
クソアーキテクトの下で働くのも大変だな。

342:デフォルトの名無しさん
07/10/05 00:33:29
マイコミにStruts2載ってた。

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

URLリンク(journal.mycom.co.jp)

343:デフォルトの名無しさん
07/10/05 12:47:56
質問なんですが、
Actionを作った場合、ActionFormを使わない場合でも、
それに対応するActionFormクラスは、
絶対作らなければならないんでしょうか?

344:デフォルトの名無しさん
07/10/05 12:54:59
そんなことはない

345:デフォルトの名無しさん
07/10/07 01:15:04
Strutsの悪いところってなんですか?

346:デフォルトの名無しさん
07/10/07 01:40:13
>>345
一度、WicketやTeedaなどに触ってみるといいと思うよ。

347:デフォルトの名無しさん
07/10/07 03:13:34
teedaは触ってます
strutsより明らかに良いと思ってます
なのでstrutsを排除したいと考えています
部署で説得するためにネタください

348:デフォルトの名無しさん
07/10/07 04:49:45
>>347
悪い所出そうとしてる時点で説得スキル足りない
より良い物として出さないと

349:デフォルトの名無しさん
07/10/07 08:24:11
頭堅い奴は枯れてるとかいう理由で、いくら良いものがあってもなかなか既存技術捨てて新しいモノに移行しようとしない。


350:デフォルトの名無しさん
07/10/07 08:31:24
>>345
XML

351:デフォルトの名無しさん
07/10/07 11:53:19
>>347
どういう立場の人を説得したいの?
エンジニア?それともマネージャ?

352:デフォルトの名無しさん
07/10/07 13:30:37
マネージャーです

353:デフォルトの名無しさん
07/10/07 14:17:26
>>352
会社によって微妙に役柄変わるからあれだけどマネージャーレベルなら
適応によるプラスマイナス両方出して、大まかでも目に見える数値の話でないと食いつかないよ。
マイナス材料(Ex:初期教育コスト、リソース確保とか)がでて無いとちゃんと選定しているのか?と言う話になるし。

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

あと技術者レベルでの根回しは必須だと思うよ。

354:デフォルトの名無しさん
07/10/07 15:05:02
マネージャレベルだと、有償サポートって売りにならない?


355:デフォルトの名無しさん
07/10/07 15:51:09
フレームワークの選定にマネージャーがでてくるの?
技術わかるマネージャー?

356:デフォルトの名無しさん
07/10/07 16:14:35
土方が探しやすいとか丸投げしやすいとかそういう要素が重要

357:352
07/10/07 16:15:26
古い組織だとマネージャー出てきます。
WEBと言えばstrutsしかなくてそれがあればWEBアプリができると信じています。


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



teedaって有償サポートあるんですか?

358:デフォルトの名無しさん
07/10/07 16:22:04
>>357
1個人のいうマイナスと実績どっち信じる?
その後どう言ったってそのレベルの否定から入ったら終わり

359:デフォルトの名無しさん
07/10/07 17:23:53
ISIDがサポートやってるよ。

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

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

技術的な話だと、Ajaxサポートとかは?

360:デフォルトの名無しさん
07/10/09 06:32:47
すみませんスレ違いなのは多々承知しているのですが
Eclipse3.31用のTomcatプラグイン(Sysdeo)がほしいのですが
サーバがずっと落ちてて見つけれません
URLリンク(www.sysdeo.com)
URLリンク(www.eclipsetotale.com)
どなたか3.31で使える他のTomcatプラグインもしくは
Sysdeoの3.31対応のプラグインのダウンロードページ知ってる方
教えていただけませんでしょうか?

361:デフォルトの名無しさん
07/10/09 08:48:48
WTPがまともになった今どき、Sysdeoなんて使ってる奴がいることに驚いた。


362:360
07/10/09 09:37:12
すみません
これからJavaはじめようと思って解説サイトの手順通りに従おうと思ったので・・・
入れてるのがwtp-all-in-one-sdkなので知らないうちに開発環境整ってたんですね
WTPについて調べてきます

363:デフォルトの名無しさん
07/10/09 20:22:53
WTPってまともになったんだ?
Tomcat Pluginと比べてどんなメリットがありますか?

364:デフォルトの名無しさん
07/10/09 20:38:28
比べるものですらない

365:デフォルトの名無しさん
07/10/09 23:25:31
eclipse純正という安心感
all in one
動的WEBプロジェクトのディレクトリが決まっててlibにjarいれたらひとまとまりになる
まん

366:デフォルトの名無しさん
07/10/10 00:24:30
NetBeansの機能の一部やん>WTP
struts-configの編集にはまた別のプラグイン入れなあかんかった

367:デフォルトの名無しさん
07/10/10 05:21:09
all-in-one入れたけどweb開発らしきプロジェクトが選択項目に出てきません
なんでだろう・・・
もしかしてtomcat入れないとだめ?

368:デフォルトの名無しさん
07/10/11 21:10:59
久し振りにstrutsの開発をすることになった。
今日設定をしてたんだけどうまく動かない。。

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

ちなみにearの中にjar,warを含めて、
application.xmlにコンテキストは指定してある。
同じverのstrutsサンプルは動いたので
完全に設定の問題なんだが。。。

369:デフォルトの名無しさん
07/10/11 21:22:45
>>368
>ここら辺は問題ないと思うんだが・・・何か原因わからない?
>完全に設定の問題なんだが。。。

370:デフォルトの名無しさん
07/10/11 22:02:39
フォームで、submitボタンやtextボックスのpropertyに、
日本語の伸ばし棒"ー"を使うと、

javax.servlet.ServletException: BeanUtils.populate
at org.apache.struts.util.RequestUtils.populate

という例外が発生してActionのexecuteまで行かないんですが、
これを回避する方法って無いでしょうか?

ちなみに伸ばし棒以外の日本語は大概大丈夫でした。

371:デフォルトの名無しさん
07/10/12 05:45:44
actionListener / onChange で「ー」が入ってたら「−」に変えてしまえ

372:デフォルトの名無しさん
07/10/20 21:29:43
スレ違いかもしれないのですが、どこで聞いたらいいのかわからないので、、、

Actionを継承したクラスに入力チェックやSQLを投げる処理が書いてあるのって普通なのでしょうか。
いろいろな面で(熟練度とか)仕方ないのかもしれないのですが、
SQLの種類が大量になったり、入力の仕様が変わったりするたびに修正漏れなどがおきてどうしようもなくなっています。
もちろん未熟者の私が口をはさめる事ではないのですが、他社での経験がないので知っておきたいのです。

373:デフォルトの名無しさん
07/10/20 22:10:20
>>372
そのレベルが集まって一番コスト低いのがその手法なら・・・それでもその手法は選択できないw
入力チェックは一概に言えんけど、DBアクセス周りはS2DaoとかiBATISとか触ってみるといいよ。

374:デフォルトの名無しさん
07/10/21 16:30:40
>>372
ActionクラスにSQLとか終わってると思うすけどね。
unitテストとかできんでしょ?
MockのHttpServletRequestとか用意して単体テストできるようにしたことあったけど、
それにしてもview周りの面倒な処理が入りやすいActionクラスからは
その手のは排除するようにすべき。

単項目でチェックできない入力チェックなら
Actionに入ってもいんじゃないかな。
でもその話からするとActionクラスで
全部をやろうとしている設計ぽく聞こえるなー
俺なら絶対に触りたくない。

375:デフォルトの名無しさん
07/10/21 18:04:18
Strutsが出て5年くらいになるか?

当時、俺はJavaを未経験で入って、研修という名のもとJava未経験のおっさんが
だしてくれた課題をせこせこ作ってて、現場デビュー。ちょっとしかかじったことな
JSP・サーブレットで悪戦苦闘。その後、StrutsやらEJBやらわけわからん用語が次々とでてきて
もうだめだと思い、リタイヤ。このまま新技術がどんどん出てきたんでわ、とてもじゃないがついていけないとおもった。

今、色々みてみたら、当時からそんなに変わってないじゃん。。なんのこっちゃか。。

376:デフォルトの名無しさん
07/10/21 22:30:42
ねえStruts2やってみてるんだけど、なんでもないページでもレスポンス遅くね?一拍置いてから表示される感じなんだよね
解決策あるんでしょうか?

377:デフォルトの名無しさん
07/10/21 22:48:52
>>375
昔のEJBは確かにアレだったような希ガス。
とは言え今ならJSFとかにシフトすればいいのでは?
それかJava捨ててRoRとか。

378:デフォルトの名無しさん
07/10/22 15:47:47
Tomcat6.0 + Struts1.3.8を使っているんですが、
FormFileを使ったファイルアップロード時にできる、
一時ファイルはどこに作成されるのでしょうか?

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

これで一時フォルダを指定して見てみると、
一時ファイルは処理後も消えずに溜まっていました。
一時フォルダを指定せずデフォルトでも動かしていたのですが、
そのときできた一時ファイルが残っているなら消したいです。

379:デフォルトの名無しさん
07/10/22 16:06:43
FormFile#destroy()

380:デフォルトの名無しさん
07/10/22 16:08:03
デフォルトの一時ディレクトリは、コンテナが割り当てるアプリケーションの一時作業ディレクトリ。
Tomcatなら%CATALINA_HOME%/work/Catalina/localhost/contextname以下。

381:378
07/10/22 19:08:04
どうもありがとうございます。

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

>>380
Tomcatのserver.xmlのContextのworkDirに設定されてました。

382:デフォルトの名無しさん
07/10/26 23:40:55
URLリンク(journal.mycom.co.jp)
今まで1.2系しか使ってなかったけど、これ読んだら
今度作るときはStruts2もいいかなと思ってきた。
1.x系よりけっこうシンプルそうじゃない?
2系使ってる人いる?

383:デフォルトの名無しさん
07/10/27 02:19:35
>>382
正直、TeedaとかWicketのほうが全然いいと思う。

384:デフォルトの名無しさん
07/10/30 10:18:55
DynaActionFormをプログラム内で生成して値を設定するには
どうすればいいでしょうか?

普通のActionFormなら作ったクラスのインスタンスを生成すればいいですが、
DynaActionFormはform-beanでform-propertyを設定しても、
クラス自体を作ったわけじゃないので、
ただのDynaActionFormでしかインスタンスを作れません。

385:デフォルトの名無しさん
07/10/30 16:24:40
JSP を標準のビューから追い出してテンプレート志向を強めたら
Struts は生き残れたかもしれないが。もうダメだろう。

386:デフォルトの名無しさん
07/10/30 17:12:41
最近上司に迫られてStrutsの勉強をしてみました。
それで簡単な社内システムを作ってみました。
せっかくなので、今どきっぽいやつをというわけでJSFも勉強してみようと思いました。
このスレでもJSFのスレでもJSFの評判はいまいちですね。
いまさらこんなことを聞かれてもとお思いでしょうが、結局今やるならどれ?

会社的にはわけのわからないツールを使っていて、
JSP/Servlet関係の仕事も去年数件やったくらいです。

387:デフォルトの名無しさん
07/10/30 18:02:06
個人的にはSpringとかどうかなと思っている

388:デフォルトの名無しさん
07/10/30 20:06:27
Springは層が違う

389:デフォルトの名無しさん
07/10/30 22:16:27
Teeda, Wicket, Tapestry
個人的にはWicket

390:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/30 23:44:41
>>385
俺はしぶといと思う。struts。
過去の資産があるし、ググれば大抵のことが解決しちゃうから。これは
ある程度の生産性が保障されるしな。廃れるときは、Ajaxで生産性が飛躍的
にあがるフレームワークが広まったときじゃないかな。

AjaxとWicketってどんな感じなの?

392:デフォルトの名無しさん
07/10/31 00:40:56
そうそう、素敵なものが流行るとは限らないのがこの業界の悲しいところでもある。

393:デフォルトの名無しさん
07/10/31 15:58:37
Ajaxなんて面倒なもんやらずにFlex+Strutsでいいや

394:384
07/10/31 16:48:36
>>390
どうもありがとうございます。

DynaActionFormClassのJavadocに、
「開発者はこのドキュメントを調べる必要ない」って書いてたんですが、
DynaActionFormを自分で作るのはあまりやらないことなんでしょうか。

395:デフォルトの名無しさん
07/10/31 17:16:20
ないな
使い勝手いいもんじゃないし

396:386
07/10/31 17:25:34
みなさんありがとうございます。

Strutsでっていっときます!

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

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

度々の質問で申し訳ありませんが、よろしくお願いします。

398:デフォルトの名無しさん
07/10/31 22:41:58
>>397
やったことはないですが、html:linkにパラメータ渡せるんで、submitでわた
すような値をセットして見ては?
ex)
next=次へ

あと、html:linkへのパラメータの設定方法はぐぐれば出てくると思います。

399:デフォルトの名無しさん
07/10/31 22:45:30
>>393
flexはえらい高かった。2になって多少安くなったかもしれんけど。

400:デフォルトの名無しさん
07/11/01 09:52:59
>>398
昨日色々とググったんですが、なかなか上手くいかず…
パラメータ付けるだけならできるけど、
EventDispatchActionのメソッド振り分けができなかったり、
バージョンによってタグに使える属性が違ったり。

と思ったらできました。
Struts1.3.8でこんな感じです。
<html:link action="/paging" paramName="PagingForm" paramId="next">リンク</html:link>
これでpagingアクションのnextというメソッドに飛びます。

401:デフォルトの名無しさん
07/11/01 10:07:53
>>391
Wicket+Ajax普通に使ってるよ…受託案件じゃないけどw

402:デフォルトの名無しさん
07/11/01 14:31:37
>>399
Flexサーバ要らなくなって多少どころじゃないくらいに安くなった
URLリンク(www.atmarkit.co.jp)

403:デフォルトの名無しさん
07/11/01 22:52:20
>>402
Flexデータサービスとかがなくても、サーバ側とのデータのやり取りできる
の?

404:デフォルトの名無しさん
07/11/02 12:45:08
WebService 経由にしてしまえばどうとでもなる。

405:JAVA初心者
07/11/02 19:23:54
こんにちは。
いつも参考にさせていただいています。

STRUTS使用のJSPで、html:textを使用するときに
フォームのプロパティに値がsubmit後に入ってくると思いますが、
formの直下にプロパティがない場合、
たとえば
formの直下にaBeanというビーンがあります。
そして、そのビーンの下にbBeanがあり、
そのbBeanの下のプロパティにsubmit後に
ユーザの入力値を設定したい場合は
そのようなことは技術的に可能でしょうか?
また、可能であれば、どのようにJSPにかけばよろしいでしょうか?
よろしくご教授してください、、


406:デフォルトの名無しさん
07/11/02 19:33:40
スレ読まずにSTRUTSの良さ語らせて貰うが、STRUTSの良いところはお手軽に
アップロード出来ることかな?

407:デフォルトの名無しさん
07/11/02 19:43:33
>>405
<html:text property="aBean.bBean.プロパティ名" />

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


>>406
Strutsのメリットでも何でもない。
Commons FileUpload使えば同じぐらい簡単。


408:JAVA初心者
07/11/02 19:45:56
>407
あまりこちらの掲示板の使いこなせてなかったようで申し訳ありませんでした。
以降気をつけます。
また、ご教授してくださいましたやり方でやってみます。
ありがとうございました。


409:デフォルトの名無しさん
07/11/02 22:08:38
どうでもいいんだけど、struts のサイトにあるドキュメントのなかで、
タグがエスケープされてしまって、ドキュメントの中に <p><strong>Note: Some of ..... のようにタグが表示されてしまっていて見にくい。

例:
URLリンク(struts.apache.org)

なんでこんなことになっているんだ?


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

数年前のOSSのフレームワークブームの頃のPGが出世して、
世代が変わったかな。

411:デフォルトの名無しさん
07/11/02 23:17:01
>>410
うーん、JSFとかの方が1から作るなら生産性は高いんだろうけど
慣れたStrutsと慣れないJSFでどっちをとるか?というと今のところStrutsを選んでしまう

Springは…正直、Strutsで何十も画面を作ってからでないと、
Strutsの何が駄目なのか?なぜDIが登場したのか?DIだと何がうれしいのか?
があまり理解できないと思う。
そういう意味での流行は終わったのかもしれないが、使われてないことはないぜ

412:デフォルトの名無しさん
07/11/02 23:42:17
>>411が一番SpringもStrutsもわかってないなw

なぜStrutsとSpringが同じレイヤーで語られるんだよwww


413:デフォルトの名無しさん
07/11/03 07:45:44
一瞬最近のSpringってJSF相当の機能でも盛り込んだのか?と思ってしまったが・・・。

414:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/03 13:15:11
xsltでも使えば?

416:デフォルトの名無しさん
07/11/03 13:17:48
標準の方法でお願いします。
標準外のライブラリの追加は認められないので・・・

417:デフォルトの名無しさん
07/11/03 14:00:21
javax.xml.transform.*を標準外と申したか

418:デフォルトの名無しさん
07/11/03 17:10:34
稼働中のシステムでpathを取得する必要があるのか?
ツールの類にまで「標準外は駄目」とかあるのか?
jakartaのライブラリ類なんかも使えないのか?
そもそもstrutsが「標準外」じゃないか?

419:デフォルトの名無しさん
07/11/03 17:43:13
>>417
ごめんよく知らないからxsltをぐぐったら何か追加しなきゃだめだと解釈した

jdk1.5とstruts1.3.8に入っているもの意外原則駄目。
唯一の例外はojdbc14.jar


フィルタからactionのプロパティ取得は普通のやり方じゃ無理ってこと?

420:デフォルトの名無しさん
07/11/03 17:54:50
>jdk1.5とstruts1.3.8に入っているもの意外原則駄目。
>唯一の例外はojdbc14.jar

アフォじゃねーか、と思う環境だな。

421:デフォルトの名無しさん
07/11/03 18:45:37
>>420

なぜアフォなんだ?
ある程度縛りも必要と思うが。

422:デフォルトの名無しさん
07/11/03 19:03:12
>>421
どこが「ある程度」なの?

423:デフォルトの名無しさん
07/11/03 19:11:17
>>419
それ酷すぎないか?w
DBアクセス周りとかトランザクション管理とか全部自作?

424:デフォルトの名無しさん
07/11/03 19:45:05
ojdbc14.jarは使うんだって
トランザクションはsqlで吐いてする予定。
DBアクセスの自作ライブラリ作るのはそんな苦にはならないし
※リクエストをまたがってのトランザクション制御が出来るかはまだ未検証(出来ますか?)

>>420
業務のシステム開発にはいろいろしがらみがあるんだよ
趣味みたいに好き勝手自分だけの裁量では出来ない。
新しいライブラリを使うためには、
その根拠などの諸々を上や客に説明し説得する必要がある。
正直めんどくさいから、標準で出来ることだけで済ましたいんだよ。


425:デフォルトの名無しさん
07/11/03 19:51:04
携帯からなので書くのがめんどくさいから「できる」とだけ答えておく。


426:デフォルトの名無しさん
07/11/03 19:52:09
てか、こっちの事情はいいので
質問の解(手法)を教えてくれませんか・・・

@自作Filterクラスのdofilterメソッドでchain.doFilterの前に、struts-config.xmlの該当actionのset-propertyタグの値を取得する方法

Astruts-config.xmlのaction要素のpathの値の一覧を取得する方法


427:デフォルトの名無しさん
07/11/03 19:54:54
>>425
待ってますので方法教えて下さい。
お願いします。

月曜に会社いくまでテスト環境はないので
月曜に試したいと思います

428:デフォルトの名無しさん
07/11/03 21:01:07
>その根拠などの諸々を上や客に説明し説得する必要がある。
>正直めんどくさいから、標準で出来ることだけで済ましたいんだよ。

その程度の事を説明できない無能だから、アフォ扱いされてんだと思うが。
漏れもアフォだと思う。

429:デフォルトの名無しさん
07/11/03 21:31:23
元々アフォ扱いされてるのは環境じゃね?
俺をどう思おうが勝手だけど、その行が本気で理解できないのなら
もう少し世の中を知った方がいいと思う
皆が上や客に恵まれていたら、この業界ブラックとか言われないよ
道理の通じない奴は間違いなく存在するんだから

まあ、俺も昔はそんな風に思っていたから言えるんだけどね

430:デフォルトの名無しさん
07/11/03 21:35:42
>>425以外でも、分かる人いたら教えて下さい。
方法一つとは限らないし。

知ってる人なら簡単な類のコードなのかと思っていたけど
案外難しい事なのかな??

431:デフォルトの名無しさん
07/11/03 21:35:59
いるよなー。
自分の実力&実績不足を環境や客の性にするヤツ。

50代の保守何十年のCOBOLerが同じ事言ってるの何回か聞いたことある。

432:デフォルトの名無しさん
07/11/03 21:40:43
>>427
Digesterを使えば?Struts自身がstruts-config.xmlを読み込むために
使用しているので、標準外ということはないはず。

気持ちわからんでもないが、Stuts以外のJakartaも駄目つうのはなんとか
すべきじゃないの。上から下までアフォばかりという印象...。

433:デフォルトの名無しさん
07/11/03 22:02:17
>>431
まあ、初javaで知識も実績もないから仕方ない。

普段お金の意識してないと分かんないかも知れないけど、
知らない技術をプレゼンする為には調査検証が必要だが、
そこにあんまりお金はかけさせてもらえないんだ。
客から取る金は決まってるからね、無限じゃない。

>>432
Digesterぐぐってみます。
Stuts以外のJakartaを説明するだけの知識が付いたら何とかしたいですが
まだ、それだけの知識ないんで・・・精進します



434:デフォルトの名無しさん
07/11/03 22:12:39
>>433
んな出来ない言い訳で実装コスト増やしてどうすんだよ・・・
実装のほうが金かかるんだよ。
Struts通ってるんだからStrutsで使ってますのでとか適当に言っておけばいいのにw

435:デフォルトの名無しさん
07/11/03 22:14:43
Not Invented Here症候群は、洋の東西を問わずSIerの宿痾だ。彼だけを責めることはできないな。

436:デフォルトの名無しさん
07/11/03 22:20:52
.netならすべてそろってるのに

437:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/03 22:33:21
けど、XML解釈は素のDOMかSAXなんで、もっと便利なものが欲しいとNDigesterが欲しくなったり、
ログ出力自作するのがメンドイと、Log4netに手を伸ばしたくなったり、
テスト駆動したいからとNUnitが手放せなかったりと、
そういうことはある。

439:デフォルトの名無しさん
07/11/03 22:41:14
>>437
なんでもござれ。受け側のクラスの作りにも寄るけど、SetPropertiesRuleが使えるかな。
Digesterは、頑張ればCallMethodRuleで何でもできるよ。
そろそろスレ違いのような気がするけど、Commonsスレはdat落ちしたから他にいいスレもないね。

440:デフォルトの名無しさん
07/11/03 23:00:15
OK ちょっと月曜日いっぱいくらいそっち方面の検証してみます。
ありがとうございました。

ただ>>425の情報は引き続きお待ちしておりますw

441:デフォルトの名無しさん
07/11/03 23:40:40
xpathでとれるだろ。javax.xml.xpathだ。

でも、その環境なら、JDK1.4.2ってオチがありそうだな。

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

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



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

スレチすまん

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

つまり440はアフォでヘタレでカス

445:デフォルトの名無しさん
07/11/04 01:35:32
org.apache.struts.util.ModuleUtilsあたりなら、Filterからでも取れるんじゃなかったっけ?
っていうか、昔似たようなことやった覚えがあるけど、Struts本に普通に書いてあったと思うけどな

446:デフォルトの名無しさん
07/11/04 01:54:04
ActionConfig見た限りだと、pathはいけるけど、set-propertyの値取れる
ように見えないんだが。方法あるのかな?

447:デフォルトの名無しさん
07/11/04 08:41:32
set-propertyってActionMappingの継承クラスにプロパティセットする為のものだっけ
キャストして取ればいいんじゃね?
それかBeanUtils使うとか

448:デフォルトの名無しさん
07/11/04 10:00:26
doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
上のオブジェクトから
ActionConfig
ModuleUtils
これらって取れた?

449:デフォルトの名無しさん
07/11/04 13:13:37
>>440
の状況は遭遇したことあるわ。ぶっちゃけ客や会社による。

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

それでもいつか、使うときのためにネットにつなぐたびこのスレをチェックしてるんだ。
いつか自分も悩むかもしれない問題の解決策があったなぁと思い出せるために。
ROMてるだけの俺だが、アフォだのCOBOLerを引きあいにだした書き込みはちょっと萎える。
仲良くStrutsの良さを教えてあげればいいジャマイカ

450:デフォルトの名無しさん
07/11/04 16:08:20
つか、そんなに信頼性やら実績重視で使うライブラリに制限があるなら、
最初からIBMからWebSphereでも買ってその上でStrutsとかJSFで実装すればいいだろ。
IBMのパッケージならロガーやらUnitとか最初から全て入っているし
困ったらサポートに泣きつける。

それこそ趣味じゃなくて仕事だったら金出してサポート受けろよ、って希ガス。

451:デフォルトの名無しさん
07/11/04 17:02:24
>>448
StrutsのJavaDoc嫁

452:デフォルトの名無しさん
07/11/04 17:23:42
>>449
> 俺?Strutsすら使わせてもらえない、いかれた設計思想の自社フレームワークつかって開発ですよ。

どっかの電力会社でそんなのあったなぁ。

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

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

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

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

しかし、なんで>>414はこんなに上から目線なんだ?技術力も交渉力も質問力も無いのに・・・

454:デフォルトの名無しさん
07/11/04 17:50:23
釣れますか?

455:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/05 01:45:32
すまん。ActionCoofigはActionConfigsと読み替えてくれ。

457:デフォルトの名無しさん
07/11/05 18:23:41
>>455
ありがとうございました。
おかげ様で希望の動作をさせることが出来ました。


458:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/05 23:15:48
unspe何とかってメソッドが呼ばれるんじゃなかったか?

460:デフォルトの名無しさん
07/11/06 00:27:48
たしかに最終的に DispatchAction#unspecified() に処理が移り、
DispatchAction#unspecified() のなかで throw new ServletException(); されてますね。

そうか、これをサブクラスでオーバーライドすればいいのか!! ピコーン(AA略
たしかにこのメソッドの javadoc コメントにも
「DispatchAction のサブクラスは、リクエストパラメータが見つからない場合の挙動を変えたければ
 このメソッドをオーバーライドしなさい」
といったことが書いてありました。

ソースを追いかけていたけど、javadoc コメントは英語だったのでスルーしてました。
ちゃんと javadoc 読まないとダメですね。

>>459 さん、ヒントを与えてくださってどうもありがとうございました!!
これですっきりして眠れます。

461:デフォルトの名無しさん
07/11/06 17:00:43
struts2でアップロードしたファイルで拡張子ごとのコンテンツタイプの
早見表などが載っているサイトなどがありませんでしょうか?

462:デフォルトの名無しさん
07/11/07 00:07:07
JSF使えば1画面複数ボタンがチョーーーーーーーーー楽なのにね

463:デフォルトの名無しさん
07/11/08 00:11:55
>>461
apacheのmime.types?

464:461
07/11/08 20:29:35
ありました!ありがとう。

465:デフォルトの名無しさん
07/11/08 23:50:20
教えてください。

最近strutsを勉強しだしたんですが、現在ダウンロードできるstrutsのバージョンは1.3.x〜2.0のようです。
ところが各サイトで解説しているバージョンは1.1ばかり。売られている書籍は1.2まで。

以上が私の貧弱な検索で調べた結果なんですが、もし1.3以降の解説をしているサイト
もしくは1.2以前のアーカイブの入手方法がわかる方、ご教授いただけないでしょうか。

466:デフォルトの名無しさん
07/11/09 00:31:39
HTMLで、「あなたの年齢を入力してください」みたいな <html:text> のフィールドがあったとします。
数字での入力を期待しています。
ActionForm では、setAge(Integer age) みたいに Integer 型の属性としました。

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

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

いろいろググって見ると、そういう場合は属性を String にするしかない(基本的にStringしか使えない)とありますが、
 例: URLリンク(blog.goo.ne.jp)
そういうものなのでしょうか?

>>465
Struts 2.0 はまだ出たばかり。1.x と 2.x は別物。
1.2 以前がほしければ、
URLリンク(struts.apache.org) → Older Releases (Archive Site) → binaries/ とたどれば出てくるよ。
プロジェクト等でバージョンの指定がなければ、いまは 1.3 でよいのでは。

467:デフォルトの名無しさん
07/11/09 00:46:41
>>466

この場合はStringにするしかないですね。多分

468:465
07/11/09 00:49:56
>>466さん
ありがとうございます!助かりました。
1.3を落として、1.1の解説を読みながらやってたんですがバージョンの違いでつまずいてしまって・・・
かなりの初心者なんで、ちょっとした違いでも対応するのに時間がかかってしまう為、
古いバージョンで解説どおり動くかどうか確認したかった次第です。

469:デフォルトの名無しさん
07/11/09 00:55:57
>>466
scriptで処理する以外はStringしかないかねぇ・・・

470:466
07/11/09 01:09:56
レス下さった方、どうもありがとうございます。
5年前に 1.0.1b だったかな? を使っていたのですが、そのときの記憶がよみがえってきました。
String にするかどうか考えて見ます。

>>468
私も本を1冊買ってしまいました。(1行につなげてください)
URLリンク(www.amazon.co.jp)
-%E6%94%B9%E8%A8%82%E7%89%88-Technical-Handbook/dp/4797335491

私みたいに中途半端に昔の知識があって、新しいバージョンだと書式が変わってたり jar が変わっていると
ハマるけど、この本だと 1.2 と 1.3 のバージョンの違いも載っていてわかりやすい。
struts の初学者の場合、ほかに入門の本があったほうがいいと思うが・・・





471:465
07/11/09 01:17:02
>>470
重ねてご教示いただき、ありがとうございます。
やはり本は一冊買うべきですね。
明日にでも本屋行って見てみます。

472:デフォルトの名無しさん
07/11/09 01:24:56
ActionFormにはStringかbooleanかそれらの配列ぐらいしか定義しないと思うんだが。

473:デフォルトの名無しさん
07/11/09 02:13:35
formbeanをPOJOにして、プロパティエディタ自作するってのじゃうまくいかない?

474:466
07/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 さんが言っているのは、ここら辺の話ですよね。
URLリンク(hidek.jugem.cc)

475:デフォルトの名無しさん
07/11/09 08:40:58
俺はFormは全部Stringにして、validatorメソッドでチェックしてる
Javascriptのチェックだけじゃ意味無いし

476:デフォルトの名無しさん
07/11/09 09:23:32
strutsの重大な欠陥の一つ。
普通に考えりゃ、conversionよりvalidationが先だし、
実際に殆どのフレームワークがそうなってる。

477:デフォルトの名無しさん
07/11/09 10:53:42
ほとんどってどれ?
JSFはそうじゃないよ。


入力値に対する変換とドメインオブジェクトに対する変換とじゃ意味が違うのを理解してね

478:466
07/11/09 10:58:34
なるほど、どうもありがとうございます。
昨今 Struts に否定的な意見をよく聞きますが、
自分は5年前にStrutsを触っていたものの、それ以降は一次請けが作った独自フレームワークばかりだったので
あまりぴんとこなかったが、たしかにそういう意見もわかってきた。
Struts はいまいちアジャイルじゃないし、アプリ(業務要件)の本質じゃないところでハマる気がします。
(私のスキルがないだけだと思いますが)


479:デフォルトの名無しさん
07/11/09 11:47:30
そうそう。本来は本質の部分に手間をかけたいところなんだが、
Strutsだとちょっと完成度が低くて本質以外の部分に手間をとられすぎてしまう。


480:デフォルトの名無しさん
07/11/09 22:55:52
>>466
それどこのPerl?

481:デフォルトの名無しさん
07/11/11 18:08:52
struts2でアップロードした画像や動画を圧縮しつつ保存するといった事は
可能ですか?

482:デフォルトの名無しさん
07/11/11 19:35:09
失礼、この質問は忘れて

483:デフォルトの名無しさん
07/11/11 22:30:30
そもそもインフラストラクチャだから、本質(ビジネスロジック)寄りに作ってないんじゃないの。
そうじゃなきゃここまで浸透しなかっただろうね。

大手ベンダーのフレームワークは、Strutsがベースで使われてて、
その上に○○標準とか、業務的な部分をラップしてあるのを見るね。

484:デフォルトの名無しさん
07/11/12 01:45:33
混じりけなしの一般解'(フレームワーク)を求めれば求めるほど、
特殊解(アプリケーション)に落とし込むための手数がかかるようになるのは当たり前
完成度とはまた別の話だと思うが

485:デフォルトの名無しさん
07/11/12 02:37:45
フレームワークのためのフレームワークというのは、
Avalon とか Turbin じゃないかな?(よく知らないけど)

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

ただ doGet() と doPost() しかなかった時代に Struts が出てきた意義は大きいと思うし、
今でもたまに使うし、自分では Struts なんか作れないので、否定するつもりはない。

486:デフォルトの名無しさん
07/11/12 03:21:15
別に、めんどくささを解消するためのものじゃないし
Strutsは、独立して存在するモデルだとかビューの部品をつなぎ合わせるためだけの存在
つまり、めんどくさいかどうかは単に既存のコンポーネントがいくつ利用できるか、だけに依存する

更に、そこを起点として
・Strutsが、その上に乗っかるコンポーネントに対して十分に侵略的でないと言えるのか?
・そもそもフレームワークを差し替えるニーズなんてないのだから、コンポーネントに対して
侵略的であってもよいからもっと便利に使える方がいいのではないか?
などのアンチテーゼが発生し、Struts以降のフレームワーク登場に至る

487:デフォルトの名無しさん
07/11/13 02:21:50
ひとつ、サーバOSのバージョンアップに強い
ふたつ、1.x系を使い続ける限り、根幹部分の変化が少ないので、ノウハウが溜まる
   (慣れた頃には別のアーキテクチャを覚えなきゃ・・・、がない)

慣れに勝る便利さなし

488:デフォルトの名無しさん
07/11/13 23:09:56
慣れだけじゃなく、自前のカスタムタグなんかも
溜まってるし。
でも、Struts飽きた。

489:デフォルトの名無しさん
07/11/13 23:27:58
で、struts作ったクレッグは今なにやってんだ?

490:デフォルトの名無しさん
07/11/14 00:01:19
URLリンク(blogs.sun.com)

jMaki on Railsやってるのかな?

491:デフォルトの名無しさん
07/11/15 10:36:24
strutsを上司に説明することになって、
実際にstruts使ってるwebアプリケーションの事例を
紹介しないといけないんだけど、どこかご存知ないでしょうか?

492:デフォルトの名無しさん
07/11/15 11:39:18
JALとか、イートレード証券のモバイルサイトとか

493:デフォルトの名無しさん
07/11/15 11:54:25
テレビ王国とか

494:デフォルトの名無しさん
07/11/15 12:05:28
>>492
ありがとうございます。
他のスレも見てたら少しあったので追加。
JAL、ANA、三井住友のオンラインバンキング、イートレード証券のモバイルサイト

クラス名がまんま分かってしまうURLが多いですね・・・
もう少しだけ、事例ありましたら教えていただきたいです。

495:デフォルトの名無しさん
07/11/15 12:14:52
>>493
ありがとうございます。リロードしてませんでした・・・
テレビ王国はStruts2なんですね。勉強になります。。

496:デフォルトの名無しさん
07/11/19 02:01:37
struts2つかって、<s:textfield ... />とか書くと、
生成されたHTMLが<tr></tr>で囲まれるんだけど、
囲んでほしくないときは、
どうすればいいの??

497:デフォルトの名無しさん
07/11/19 11:18:19
<bean:write>で文字列を出力しているのですが、改行コードを除去して
表示することは可能でしょうか?

498:デフォルトの名無しさん
07/11/19 11:43:17
496ですが、自己解決しました。
コンフィグファイルでsimpleを設定したら、でなくなりました。

499:デフォルトの名無しさん
07/11/20 09:10:05
>>497
jakartaのString taglib使うといいぜ

500:デフォルトの名無しさん
07/11/22 20:36:43
Strutsマンドクセ

501:デフォルトの名無しさん
07/11/23 00:12:42
>>500
つStruts2

502:デフォルトの名無しさん
07/11/23 00:43:35
SEマンドクセ

503:デフォルトの名無しさん
07/11/23 00:55:32
SE=SexEngineerだったら・・・

504:デフォルトの名無しさん
07/11/23 02:49:25
Sexマンドクセ

505:デフォルトの名無しさん
07/11/23 04:42:35
>>504
見栄張るな


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4344日前に更新/258 KB
担当:undef