△△つづいて漏れにStrutsの良さを教えてくだっさい

このエントリーをはてなブックマークに追加
11 ◆lqgT6FBSpw
つづけてどうぞ。
JSTLがあればいらんじゃん、とかJSFでおわったな、とか偏見あふれる意見もどうぞ。

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1048030962/
沢村
3:03/11/07 21:30
びろーん

志村
参考スレッド

Servlet/JSPのフレームワークを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/-100

《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/-100

Java⇔RDBのMapping-Frameworkを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1049030272/-100
Struts使ってるサイトを見つけましたよ。

http://club.nintendo.jp/member/exec/index
JSTLがあればStrutsのTaglibが不用、とまでは思いませんが、
(<html:form>関連のタグは便利ですから)
やっぱり、標準のStrutsのTagLibには機能が足りない。せめて Struts-ELぐらい
まではないと、融通が効かなすぎるように思います。

もっとも、Taglibの指向するものは、View部分から必要最低限以外のロジックを
追放することですから、機能が多すぎるとまた意味が無くなってしまうのですが。
難しいです。

逆にJSTLは、必要最低限のロジックを超えて多機能すぎるように、私には感じ
られます。

前スレの質問(スクリプトレットで書かれている)を
http://pc2.2ch.net/test/read.cgi/tech/1048030962/987
JSTLで書き換えたもの
http://pc2.2ch.net/test/read.cgi/tech/1048030962/993

見事にきれいに書き直されていると思いますけど、正直、元のままでもそんなに
見づらくない。かえって、知識のない人にも読める分、元のほうが可読性が高い
のではないかとすら思うのです。慣れたら違うのかもしれませんが。
7前スレの993:03/11/07 22:26
>>6
> かえって、知識のない人にも読める分、元のほうが可読性が高い
> のではないかとすら思うのです。

「知識の無い」を「Javaの知識の無い」としてみてください。
要するに、デザイナー。
拒否感が違うみたい。
スクリプトレットに比べるとJSTLなら「変なタグがある」程度。
また、もっと根源的な問題意識を持つ方もおられるようです。
http://squab.no-ip.com:8080/wiki/522

上のリンク先では、Tablibという仕組みそのものに問題があると書かれているようです。よく分からないのですが、私の理解した範囲では、

どのようなTaglibを定義しても、アプリケーションが複雑になれば、必ずそのTaglib
では不足する局面が発生する。MVCを完全に分離できるというのは幻想だ。
このまま進めば、Taglibは、Javaそのものと同様の高性能、多機能な存在になるまで
進化しつづけるだろうし、
さらに最終的にはLISPのような、データとロジックの区分すら存在しないものにまで
到達してしまうかも知れない。
これは車輪の再発明に他ならない。

ということではないかと思います。

この意見の当否はわかりませんが、このリンク先では、MVCとはキレイな理想ではなく、
むしろ現実的な妥協の産物としているようで、大いに考えさせられました。
>>7
デザイナーさんとは面識がないので、何とも言えないのですが、例えば、
複雑にネストした分岐やループを持つページが、XMLになれば、
デザイナーさんの拒否感が少なくなるというのは、事実なのかも
しれませんが、不思議だなあと思います。

デザイナーさんとプログラマでは、思考回路がかなり違うのかもしれません。

Velocityがそのあたりを含めて解決しようとしているらしいですが、恥ずかしながら
私は何も知りません。
Velocityは $value がおきかわると考えておけばよろしい。

経験則からいうと、デザイナにとっては
XMLC>>Velocity>Taglibs>JSP Scriptlet
っぽい
11デフォルトの名無しさん:03/11/08 15:05
Tapestry>XMLC>Velocity>Struts>JSP
じゃないかね?
Tapestryについて語ろうよ!
http://pc2.2ch.net/test/read.cgi/tech/1067531714/-100

Tapestryも、XMLCも、テンプレートとなるHTMLファイルに、独自のタグを
一切含まない、純粋なHTMLであることが特徴らしい。面白いねえ。
デザイナさん大喜び?

しかし、プログラマ本人にメリットはあるのだろうか?
イントラのシステムとかで、プログラマが手早く作ったデザインでOKという場合でも
メリットはあるのかのう?

TaglibやVelocityにも同じ疑問がある。
>>12
そういうときには、スクリプトレットばりばりでも、ECSでも、
なんでもやればいいさw

そんなにキミはウェブデザインに自信があるの?w
14デフォルトの名無しさん:03/11/09 02:10
>>12
しかし、独自のタグは含まないけどHTMLのDTDからは外れるんだよね。
まあ、大抵の場合はデザイナー自身がDTDから外れまくりだから
いいといえばいいんだけど。
>>13
いや、すさまじく自信がない。
しかし最近たまたま、そういう仕事が多かったので。
にわか覚えで拡張タグライブラリを使いながら、
「このコードを見るのは、私だけだなあ」とか考えてた。

>>14
そうなんだ。
じゃあ、それを解決した新しいテンプレートエンジンが出るかもしれんのう。
ものすごく小さなニッチだけど。
>>15
マジレスすると、間違いなく自分しか触らないコードなら、
どんな実装方法でもかまわないと思う。
(実際には高い確率で他人が見たり触ったりするんだけどね・・・)

でも、規模が大きくなって、作業分担が必要になると、
Velocityみたいなテンプレートエンジンとか、
StrutsやTapestryみたいなフレームワークがあった方が
便利になってくる。
前スレ、dat落ちしたので、HTML化してもらいました。

△△もまいら漏れにStrutsの良さを教えてください
http://ruku.qp.tc/dat2ch/0311/09/1048030962.html
>>16
Strutsを知ったとき、いちばん感動したのは、ActionForm Beanと、htmlタグの
便利さだったんです。

昔、ASPの仕事をしていたのだけど、登録にエラーがあって入力ページに戻されるとき、
ユーザが入力した値が消えたりせず、入力ページのフィールドにそのまま保持されて
いる、という仕様を満たす必要があった。
これを作るのは結構面倒くさかった。単純なフレームワークめいたものを作って
対応したのだけど。

Strutsは標準でその機能を洗練された形で持っていたから、とにかくそれだけでも
ありがたかった。プログラマとしては大助かりですよ。

拡張タグライブラリにも、プログラマ個人にとっての利便を期待したんだけど、
HTMLタグ以外は「あれ?」という感じだった。同僚にコードを見せるときも、
かえってスクリプトレットの方が話が早かったりするし。

こういうプログラマの内輪だけでは、拡張タグのメリットって無いものですかね?
補足。
以前からJSPの仕事ではMVC的にやろうとしていたから、JSPには極力スクリプトレット
は書かないようにしていた。だからスクリプトレットを拡張タグライブラリに置き
換えること自体はすぐできた。

だけど、置き換えたこと自体のメリットを感じなかったのです。

よく「分かりやすいコードを書け。半年後に読み直す自分のために」と言うけど、
半年ぐらいたったら、スクリプトレットより読みやすくなるのかな?
それは、スクリプトレットがMVCに反する、というのが誤解だから。
アクションフォワードで画面遷移する際、フレームを解除して表示させたい
のですが、どうしたら良いのでしょーか!?
こう書けば出来るかな? と思ったけど「target」は無いらしい・・・
<forward name="success" path="/hoge.do" target="_top"/>

22デフォルトの名無しさん:03/11/12 18:00
Validator で、requiredif  を使って、あるラジオボタンがチェックされているときに
テキストエリアに文章が入力されているかチェックする。というのはどのように書けばいいのでしょうか?

23デフォルトの名無しさん:03/11/12 20:59
フレームワークは中世のフルアーマーみたいなもの。
足軽が身に付けても重くて動けなくなるのが関の山。
>>21
JSP側で<html:link forward="/hoge" target="_top">link</html:link>
ってやればどうかな。html:formの場合でも出来ると思うけど。
>>21
質問の内容がやや漠然としているので、いくつかの場合に分けてみる。

1.すべての遷移先でフレームを解除する場合。
 →>>24氏の通り、<html:form action='…' target='_top'>と指定する。

2.JSPページにサブミットボタンが複数あり、それによって処理が異なる場合。
 (DispatchActionを使って処理を変えるなどする場合)
 →それぞれのボタンに
  <html:submit onclick='this.form.target="_top";'>
  <html:submit onclick='this.form.target="_self";'>
などとすればいいと思う。

3.Action#execute()の実行の結果、複数のforwardへ分岐するが、
 あるforwardではフレームを解除し(エラー画面など)、
 別のforwardでは解除しない(通常の処理の継続など)。
→これは私には難しい。とりあえず思いつくのは、
 目的のページに遷移する前に、まずフレームを解除するためだけの専用ページに
 遷移する。そのページの中身はほとんど空で、ただ
 <html:form action='(本来遷移したいJSPへのグローバルフォワード)' target='_top'/>
<script type='text/javascript'>this.form.submit()</script>
 などと書いてあり、自動的に目的のページに遷移するようにする。

誰か 3.のもっときれいなやり方を教えてくだちい。
>>25自己訂正
<script type='text/javascript'>document.forms[0].submit()</script>
ですね。
27デフォルトの名無しさん:03/11/13 01:09
>>25
俺的には、全ての場合において
3番のやり方(目的のページに遷移する前に、
まずフレームを解除するためだけの専用ページに 遷移する。
そのページの中身はほとんど空で、)
でいくと思う。
Submitボタン一個の場合は他にやりようがないでしょ
>>27
1.はボタン一つでもまったく問題ないと思うが。
29デフォルトの名無しさん:03/11/13 01:46
1.すべての遷移先でフレームを解除する場合。
↑この条件がついているので却下しました
30デフォルトの名無しさん:03/11/13 03:35
lintが欲しいのですが、いいのないですか?Strutsのtaglibやscliptletも
検知できるようなlintです。
31デフォルトの名無しさん:03/11/13 05:58
>>30
あるなら俺もほしい。
32デフォルトの名無しさん:03/11/13 06:03
>>30
scliptletが、eclipseの親戚みたいで(・∀・)イイ
33デフォルトの名無しさん:03/11/13 06:06
>>32
おはYO!
 
34デフォルトの名無しさん:03/11/13 06:29
>>33
これから寝るYO!
お(^о^〃)や(^О^〃)しゅ(^。^〃)みぃ(^-^〃)♪
35デフォルトの名無しさん:03/11/13 06:56
>>33
おはよ。今日は晴れるかなぁ。
こまかいツッコミで申し訳ない。

>>30 >>32
×scliptlet
○scriptlet

scriptlet = script + let
let = 「小さな」を意味する接尾辞。(ex. booklet = ブックレット・小冊子)
3721:03/11/13 10:07
>>25
正解は、3のパターンでした。
フレーム解除用のページを挟む以外に無さそうですね。
お手数かけてしまい、すまそ。。。
38デフォルトの名無しさん:03/11/13 13:55
WebLogicの厳密な構文解析をかいくぐるにはどうしたらよいでしょう?
TomcatだとStrutsのタグの扱いは厳密にみてない気が。
カスタムタグのエラーってコンテナ毎に厳しさが違うもんなのか?
40デフォルトの名無しさん:03/11/13 23:16
>>38
そんなに厳密なのか?
それともWebLoicが独自解釈しているのかもしれないぞ?
41 :03/11/14 18:40
Windows上で開発したStrutsアプリをwarファイルにして、LinuxのTomcat4.1.29のwebapps以下に
おきました。
tomcatを起動してアクセスしてみると、jspは表示されるのですが、サーブレットが動いていないようで
HTTP Status 503 サーブレット action は現在利用できません 
というエラーが出てしまいます。

何をチェックすればいいのでしょうか? サンプルのexsamples/はちゃんと動いています。
42デフォルトの名無しさん:03/11/14 18:44
>>41
Strutsで簡単なActionクラス作って試していくしかない
そういうのって意外とありがち
おれも環境移行でそういう時あった
>>41
web.xmlさらせ。
44デフォルトの名無しさん:03/11/16 18:42
Tomcatのバージョンを4.1.29にしたらdministration Toolで
サーブレット action は現在利用できません 
がでるようになった。これもStruts関係?
45デフォルトの名無しさん:03/11/16 19:10
おい。Tomcatは4_1_24までにしとけよ
4644:03/11/16 20:01
Stableは4.1.27までみたいですね、今jakartaのWeb見て気付いた
バージョンダウンします。
47デフォルトの名無しさん:03/11/16 20:09
>>46
いや、4.1.29なのだが・・・
http://jakarta.apache.org/site/news.html#20031031.2
JakartaのWebサイト見てどうしてそうなる?
4844:03/11/16 20:16
ほんとだ、でもとりあえず4.1.27でAdministrator Toolが動いたからいいや(^^;
>>47
http://jakarta.apache.org/tomcat/

Tomcat 4.1.27 Stable is the latest release.
という一文がある。
50デフォルトの名無しさん:03/11/16 20:32
>>49
単にドキュメントのメンテ漏れと思われ
>>50
そうだとは思うんだけど「stable」に関わる文章だから、いちばん信頼できるのはそこに書かれてる一番低いバージョンということになる。
52デフォルトの名無しさん:03/11/16 20:49
>>51
でも、Release Buildのダウンロードサイトからは4.1.27はダウンロードできないよ。
>>52
そうなの?
そいつは一本とられたね。
5444:03/11/16 22:44
Apache 1.3.27にJKコネクタでつなぐのに、server.xmlを変えたら
サーブレット action は現在利用できません 
が出るようになった。
server.xmlを元に戻したらAdministrator Toolでエラーが出なくなったので、
なんか設定間違えたかもしれない。わからん。
どうしようかな。Apace1.3はJK2使えるのかな。
とりあえず寝る。
55デフォルトの名無しさん:03/11/16 22:45
>Apace1.3はJK2使えるのかな。
使えるよ。俺、仕事で使ってる。
>>54
それで、Tomcatに直アクセスしたらちゃんと動いてるの?
動いてないならJK以前の問題だよ。
5741:03/11/17 13:10
TomcatとStrutsのDataSourceの設定ミスだったよ。
58デフォルトの名無しさん:03/11/17 13:18
>>57
そういうのはさ、できればどこがどうだったのか教えてくれよ
後続の質問者にも役立つんだから
5944:03/11/17 17:39
server.xmlの設定ミスでした。お騒がせしました。デフォルトの
Coyote/JK2 AJP 1.3 Connector でよかったのにわざわざ
AJP 1.3 Connectorのほうを使ってた。
6057:03/11/17 18:50
>>58
ごめん。まだ、解決してなかったもので(w
jakartaのdbcpを使ってるんだけど、Linuxでは下のようなエラーが出てデータを読み出してくれない。
同じデータベースサーバへ読みにいってるんだけど・・・
DBCP borrowObject failed: java.sql.SQLException: Server configuration denies acc
ess to data source
2003/11/17 18:37:36 exception.LoggingExceptionHandler execute
致命的: org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server con
figuration denies access to data source
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(Driv
erConnectionFactory.java:85)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(Poolable
ConnectionFactory.java:184)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericOb
jectPool.java)
at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject(AbandonedObj
ectPool.java:117)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSo
urce.java:110)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource
.java:312)
6157:03/11/17 18:54
tomcatのserver.xmlはこんなふう。
<Context path="/viewReport" reloadable="true" docBase="C:\eclipse\workspace\viewReport" workDir="C:\eclipse\workspace\viewReport\work\org\apache\jsp" >
<Resource name="jdbc/webdb" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/webdb">
<parameter><name>username</name><value>masayasu</value></parameter>
<parameter><name>password</name><value>oct1019</value></parameter>
<parameter><name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value></parameter>
<parameter><name>url</name>
<value>jdbc:mysql://10.51.19.123/test?useUnicode=true&characterEncoding=Windows-31J</value></parameter>
</ResourceParams>
</Context>

strutsのweb.xmlはこんなふう。
<resource-ref>
<res-ref-name>jdbc/webdb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


>>44のは<ResourceParams name="jdbc/webdb"> と <res-ref-name> が異なっていたからのようです。

tiles で質問です。
tiles:insert って、ネストして使う事ってできないんでしょうか?
現在 jsp で以下のようにして使いたいんですが、

Can't insert page '/testLayout.jsp' : Illegal to flush within a custom tag java.io.IOException: Illegal to flush

という例外が発生します。
struts-template の頃はこれでいけたのに。。。

<tiles:insert definition="testUseAttributeLayout" flush="true">
<tiles:put name="bean" beanName="form" beanProperty="testUseAttribute" type="string"/>
<tiles:put name="title" type="string">
ががが

<tiles:insert definition="testLayout" flush="true">
<tiles:put name="title" type="string">
ほげ
</tiles:put>
<tiles:put name="body" type="string">
まげ
</tiles:put>
</tiles:insert>

</tiles:put>
</tiles:insert>
<script language="JavaScript">
 error = "<html:errors />";
 if (error != "") {
  alert(error);
 }
</script>

こんな感じでエラーダイアログ出したいんですけど、こうするとエラー発生時に
error = "エラー発生
";
ってな感じになって、「エラー発生」の後に改行が入ってしまい、スクリプトエラーになります。
エラーをダイアログで表示でしたい場合はどのようにすればよいのでしょう?
Validatorプラグインを使うしかないのでしょうか。
64デフォルトの名無しさん:03/11/18 14:28
>>63
html:errorsじゃなくて、bean:messageタグ使えば?
>>64
bean:messageでも改行されてしまいます・・・
↑嘘でした。改行されませんでした。使い方がよくわかってないです。
6757:03/11/18 16:33
>>60-61
解決しますた。データベースのアクセス制御が書き換えられていたよ・・・。
>>67
お疲れ。
まあそういうことってあるよね、
>>64
validateメソッドでerrors.add("form",new ActionError("errors.required","入力ミス"))と
しておいて、JSPに<html:errors/>と書くと「入力ミス」と表示されますが、
<bean:message key="errors.required"/>と書くと「null」と表示されます。
<bean:message/>でどのようにエラーを表示するのでしょうか。
>>69
application.propertiesだろ。
つか、文字列出力だけなら普通bean:writeじゃないの?
>>70
application.propertiesってのはkeyのことですか?そんなkeyはないって言われます。
errors.requiredっていうのはリソースファイル(ApplicationResources.properties)に
errors.required = {0}と設定されているわけなんですが。
やりたいことは、validateで弾かれたエラー内容をダイアログ表示で知らせたいということなんですが、
みなさんどのようにしてるのでしょうか。
今はエラー内容をbeanにしまって<bean:write/>で表示させてます。
72 :03/11/19 16:10
>>71
struts-config.xmlで、Exceptionを受け取る設定はやってある?
73 :03/11/19 16:11
Struts で、リンクやボタンがクリックされたら新しいウィンドウを開く。
ということは可能ですか?
>>73
あなたがJavaScriptを理解していれば、Strutsに関係なく可能です
7573:03/11/19 22:40
>>74
ありがとうございます。JavaScriptはほとんど使ったことがないです・・・。

JavaScriptで開いたウィンドウから、ActionFormへのデータのやりとりとかにもJavaScriptの知識が必要でしょうねえ・・・。
76デフォルトの名無しさん:03/11/19 23:02
>>75
こんな奴と仕事したくねぇ。。
(((( ;゚Д゚)))gakugakuburuburu
77デフォルトの名無しさん:03/11/19 23:38
JavaScriptなんて知らないほうがいいよ あんなもん
78デフォルトの名無しさん:03/11/19 23:38
JavaScript マンセー、バージョン・ブラウザに依存しまくりのコード書く香具師よりは
>>73 超特許侵害中!!
>>79
単純にサブウィンドウを開くだけなら特許侵害にはならないよ。
81デフォルトの名無しさん:03/11/20 12:05
>>79-80
会話の意味がわからないのだが
どう使おうとユーザの勝手なんじゃないの?
どのあたりから特許侵害の話になってるのかわからないんですが・・・
もしかすると、おれももしかして特許侵害になるような使い方してるんじゃないかと不安です。

>単純にサブウィンドウを開くだけなら特許侵害にはならないよ。
ってことは、複雑に開くと特許侵害なんですか?
具体例希望
>81
なんか、無くなったみたいだよ>特許侵害

相当たたかれて、サイトの方も閉じているみたい。
ttp://www3.ocn.ne.jp/~cipa/

Strutsとは関係なくてスマソ
じゃあ、全くのデマってわけじゃなかったんですか?(今までは)
それにしても、どうやって使ったら特許侵害になるのか・・・?
もしかして、他のHPにリンクしたらどうのこうのって言う話?
だったらわかる。

おれはてっきり、Strutsの使用法に制限があるのかと読み違えていた
ひろゆきのメルマガ見た釣りだと思ったのだが・・・
マジだったの?
まだ残ってるね。「超特許侵害中」
ttp://2ch.net/

# スレに関係ないんで、この辺で。。。
8781:03/11/21 12:04
なんだ、みんな全然情報を収集していないのか。

ttp://internet.watch.impress.co.jp/static/yajiuma/ の11/18と11/20
ttp://slashdot.jp/article.pl?sid=03/11/17/0826232&topic=54&mode=thread
ttp://www.openspc2.org/JavaScript/

このあたりを読んどけ。
単にサブウィンドウを開くだけで抵触するわけではなくて、特許請求の範囲
として請求項1から4までがちゃんと記載されているので、そんなに
荒唐無稽なわけでもない。
そんなわけで「超特許侵害中」は件の特許侵害にはなっていないと思う。

特許請求内容は、以下のページで文献種別に「B」、文献番号に「3393199」と
入力して「文献番号照会」ボタンをクリックすれば見れる。
ttp://www.ipdl.jpo.go.jp/Tokujitu/tjsogodb.ipdl?N0000=101
88  :03/11/21 15:00
質問です。

<logic:iterate id="executive" name="executiveList">
を使うときには、いつも

req.setAttribute("executiveList", list);
とやっているのですが、他にスマートなやり方はないでしょうか?
89デフォルトの名無しさん:03/11/21 16:07
>>88
どこがスマートでないと感じるのかよくわからん
9088:03/11/21 17:50
>>89
beanタグとstruts-config.xmlの設定だけでできないかなあと思ったもので。
>>88
<logic:iterate id="executive" name="executiveActionForm" property="executiveList">
92 :03/11/21 20:36
validation.xmlを使った入力チェックはまだ不安定なのでしょうか?

設定はあっているようなのですが(エラーになる入力をいれると次の画面へ遷移されずに、リロードされる)
メッセージが表示されたり、されなかったりで不安定です。
安定させるtipsは無いでしょうか?

93デフォルトの名無しさん:03/11/21 22:10
>>88
ていうか,Strutsのlogic, bean のタグはもう使う必要ないでしょ.
JSTL使えよ.
Strutsのタグで必要なのは,html とtilesだけだろ.
94デフォルトの名無しさん:03/11/21 23:29
>92
不安定とはどう意味だ?
自分のプログラムのバグをvalidatorのせいにするとは、失敬な奴だな、君は。
96 :03/11/22 10:33
>>95
<html:errors/>でエラーメッセージが出力されたりされなかったりするんですよ。
97デフォルトの名無しさん:03/11/22 12:40
>>96

それだけの情報だと

1たす1が2になったり
1たす2が3になったりするんですよ.
どうして,いつも2にならないんでしょうか?

っていってるようにしか思えんぞ.
9896:03/11/22 14:06
>>97
それは、お前の頭が悪いから。


>96
少なくとも俺が参加した3つのプロジェクトでは、validatorは意図したとおりに動作している。
<html:errors />でエラーメッセージが出力されたり、されなかったりするというような
怪しい動作はしたことがない。
100デフォルトの名無しさん:03/11/22 14:24
>>96
まぁ 再現方法突き止めてStruts保守担当者にメールする時間があるんだったらすれば? オススメ
じゃあねーッ みんな愛してるよーッ ブツッ ザッザーッ
101デフォルトの名無しさん:03/11/22 18:33
>>96
どういうエラーをキャッチするバリデーションなのか教えてくれよ

「メッセージが出たり出なかったり」に規則性ってある?

リクエストは全てサーブレット経由にしてますか?
102デフォルトの名無しさん:03/11/23 10:59
デザイナはスクリプトレットを毛嫌いするというが、
JavascriptのロジックはOKなんかいな。
>>102
そこってどっちがやるのか微妙な気がするんだけど、
そういうのはおいておいてもデザイナ側だけでデバッグまでできるかできないかってのは大きいと思う。
104 :03/11/23 12:49
>>100
ヘタレは史ね。
>>102
どりーむうぃーばーがやってくれる。
正確にいうとスクリプトレットを毛嫌いするのはオーサリングツール。
106デフォルトの名無しさん:03/11/27 01:41
ActionFormで使えるDate型は java.sql.Date だけど、これの toString() って
yyyy-MM-dd 固定だから、 yyyy/MM/dd とか yyyyMMdd にしたい時面倒なんだよね。
<html:text /> だと formatKey 使えないし、BeanUtils.populate で例外出したりするし
結局String型で拾ってから、改めてDate型に内部変換したりするハメになる。
このへん上手く解決してる人いませんか?
107デフォルトの名無しさん:03/11/27 02:00
>>106
>ActionFormで使えるDate型は java.sql.Date だけど、
これはどういうことなの?
java.util.Dateはつかえないの?
本気で質問の意味がわかりません
108 :03/11/27 07:39
>>106
 ヘタレは市ね。
>>106
108のようなバカはほっておいて、
<html:text>ってなんでもかんでもStringで受けないか?
validationでエラーになったときに入力値をそのまま表示しようと思うと
結局のところActionFormのフィールドは全部String型になっちゃうじゃん。
110デフォルトの名無しさん:03/11/27 17:11
>>106
日付や時間の入力のこと?

それなら<html:select>で選択させてる。
クラスやメソッドはjarにしたりして使い回せるので楽。

>yyyy-MM-dd 固定
文字列のクラスに指定文字で区切られたデータを切り離してくれるのがあったはず。
それを使えば?
111106:03/11/27 23:00
>>107
説明不足ですみません。 正しくは DynaActionForm でした。
http://jakarta.apache.org/struts/userGuide/building_controller.html
を見ると、Dateはjava.sql.Dateになってます。
これだとyyyy-MM-ddになってしまうので、ActionFormに直したんですが
こっちだとjava.util.Date使えるんでしょうか?
やたらとpopulateで例外出すんで、ダメかと思ってました。 strutsのソース追ってみます。

>>108
はい。まごうことなきヘタレです。 逝って来ます。

>>109
やっぱり<html:text>だと、フィールドはStringが無難なんでしょうかね。 textってぐらいだし。
intとかちゃんと変換してくれるんですが、わざと数字以外を入れると 0 になってしまい
変更前の値を保存してくれなかったりするのが面倒でした。

>>110
<html:select> もありですね。 そっちも考えて見ます。
業務システムが入力時にyyyyMMdd形式を基本にしてるので、そっちに合わせたかったんですが。
今はStringで受けてworkDate.split("/")とかやってますが、データはDBに入れるんで
java.sql.Dateを別に用意したりしてます。 formからレコードのオブジェクトに変換するのがちと手間です。
112デフォルトの名無しさん:03/11/29 23:23
tilesで質問です。

異なったWebアプリを、Tilesを使って一画面にまとめることは可能でしょうか?
>>112
もしそうなった場合
Tiles設定ファイルはどこに置くんでしょうか?
>>112
Portal製品を使え。
>>112
>>114 関連で、Jetspeedはいかが?
116114:03/12/01 07:27
>>115
逆質問。
Jetspeedは雑誌でしか読んだことないのだが、
strutsで作成したWebAppをポートレットとしてそのまま
割り当てることが出来るの??
できない。
Portlet APIでラップするか、OpenSymphony SiteMeshでも使うことに
なるんでないの?
JSFの仕様書を読んでいるのだが、
500ページに渡る大作で正直しんどい。
>>118
さらに言うと、JSFにはバグがたくさんある。
sunのフォーラムに目を通すといいけど、酷いぜ。

そんなあなたにこの論文を
http://www.theserverside.com/resources/article.jsp?l=SimplerJava
>>119
仕様にバグがたくさんあるってこと?
>>120
違う。今の実装(まだ参項実装だけどEA4だっけ?)では
実装がバグバグで使い物にならないということ。
仕様にバグがあるかどうかはしらないけど、FacesContextは
正直仕様のバグだとみなされても仕方が無いかも
122デフォルトの名無しさん:03/12/06 14:16
多次元配列を扱う場合はどうすればいいですか。
例えば、社員リストを以下の形で表示してほしいという要望があったとき
(この要望には従わないといけない)、
支社
 部
  課
   社員
漏れは、素直に4次元配列を使うんだが、strutsでは、ActionFormに
どうやってセットし、JSPでどうやって取り出しますか。
また、多次元配列自体このスレで何度か話題に出てきて、
使うような仕様・設計が悪いともいうんだが、昔の会社の上司も
多次元配列を毛嫌いしていたが、漏れには何が悪いのかよくわからん。
どなたかレスお願いします。
public class Branch { // 支社
private Division[] divisionList;
public Division[] getDivisionList() { return divisionList; }
}
public class Division { // 部
private Section[] secionList;
public Section[] getSectionList() { return sectionList; }
}
public class Section { // 課
private Member memberList;
public Member[] getMemberList() { return memberList; }
}
多次元配列なんかいらね。
124122:03/12/06 14:47
>>
で、strutsではどう表現しますか?

あと漏れの考えはオブジェクト指向に反するかもしれないけど、
ただ単にDBから検索して結果を表示する場合、いちいちオブジェクト
作って値をセットするというのは面倒くさいんだよね。
みんないちいちオブジェクトに値をセットして、で、取り出すときに
もメソッド使って取り出してるのかな。
多次元配列のデメリット感じないんだけど。
>>124
ちなみに何歳?最近勉強してる?
何でもかんでもActionFormにいれなきゃならないって思ってるやつ多いのかな?
最近、うちに派遣で来たやつもそうだった。
ほうっておくと、ひとりよがりのコーディングをするのでえらい目にあった。
127122:03/12/06 15:37
>>125
年はまま往っているし、勉強もしとる。strutsは垣間見ている程度。
昔はいちいちすべてオブジェクトを作っていたが、最近は状態を保持
する必要のない一過性のものまでクラスは作らない。
128デフォルトの名無しさん:03/12/06 16:49
>>127
やべぇよあんた...
129122:03/12/06 16:58
>>128
お前、そうやって決め付けてるようでは、大したことないやつだな。
頭の固いやつは、自分の常識に凝り固まっており、何を聞かれても、
そんなの当然だ、常識だ、勉強しろとしか答えられない。
そいつは実際のところ何一つわかっておらず、教えられたことを
何も考えずに鵜呑みにして絶対だと言い張る。
>>129
人に罵詈雑言を吐くときは、自分があてはまっていないか注意するように。
「俺は違う」と思い込んでいなければ、そのセリフは言えないはず。

質問に誰もレスしないのは、いったいどこから教えればいいんだか…という話で、
俺としては本を読んでくれ、というのが一番楽なんだけど。あまりに知らなさすぎ。
131デフォルトの名無しさん:03/12/06 17:48
こういう奴が俺様フレームワーク作って悦に入っている奴なんだろうな
132122:03/12/06 18:13
ははは、やっぱり思ったとおり、本の名前も挙げられず、
ただ単に、本を読んでくれとしか言えない。。。
自分から罵詈雑言を言い出したのをお忘れなく。
133デフォルトの名無しさん:03/12/06 18:24
人に聞かないとどんな本があるのかもわからない奴が何か吠えてるな
Struts in Action でも読んでおけや。
134デフォルトの名無しさん:03/12/06 18:25
ただし、英語読めるのならな。和書はどれも一長一短。
・・・と思ったらStruts in Action は来週あたりに和訳が出る予定。
135122:03/12/06 18:44
回答してくれてとりあえずサンクス。
136デフォルトの名無しさん:03/12/06 19:09
こんな手間ばっかりかかってめんどくさいだけのテクノロジー使う
意図って、なんなんだ。

「これがJava Server Facesを使う理由だ」
「これがStrutsを使うメリットだ」

ってのをしっかり説明している人ってみたことないし、そんな文章も読んだことない。
ワザと難しくして悦に浸ってるだけとしか思えん。
137デフォルトの名無しさん:03/12/06 20:46
122は一番一緒に仕事したくないタイプ
メリットが出てくるのは、10画面以上くらいの規模になってからかな。
すぐにメリットは得られるよ。

難しくないし。
「手間がかかる」「めんどくさい」と言う奴は、
その裏で得られている煩雑な処理のメリットを忘れている事が多い。


13944:03/12/06 21:11
多次元配列はJAVAの欠点
140114:03/12/06 21:38
>>136
すくなくともStrutsに関してはデメリットはないと思うぞ??
書籍やWeb等十分な情報があるし、
お手軽なので最近はライブラリ感覚で使っている。

全然関係ないけど、キミ今だにコマンドラインから
javac
とか打っていない?(プゲラ
コストを考えるときに、
単に一つのプロジェクトの開発コストだけじゃなくて
保守フェーズや次のプロジェクトのコストも考えると
フレームワークを利用するメリットが大きい。

今のStrutsぐらいにメジャーな技術になれば
外注が最初からStrutsを使えるとか知っているとかいう可能性も大きくなる。

もちろん、J2EEパターンなどの採用についても同じことがいえる。
Data Transfer Object とか Front Controller とかいう用語で意思が通じれば
仕事が早い。
>>122
アナリシスパターン嫁
>>122
データを持ちまわる段階で4次元配列にするなんてありえない。
最終的なデータ出力段階で、レンダリング中の一プロセスとして配列化するのはあるだろうけど。
どちらがどうとも言えないが、本のタイトルを出さないことがそんなにひでぇか?

Strutsに関してのデメリットは、仕様が複雑なことかな。
EJBが背後にあるから、無駄にエンタープライズを意識しているような気もする。

JavaServer Facesを使う理由は、クライアントモデルへの対応だろうか。
クライアントにデータをバインドし、MVCモデルの完全な一環として
サーバとクライアントでデータのやり取りをするシステムは必要といえば必要か?
現段階の実装ではまだ何ともいえないけど。

しかし何と言っても、俺は、エンタープライズが嫌いです。
>>144
Strutsの仕様が複雑????
あんなにシンプルなのに???
別にEJB前提でもないし・・・・
わけわかんね
>>145
シンプルなのはJSPもしくはせめてカスタムタグまでか…
Strutsのどの部分が複雑かは難しいけれど、全体としてはどうなのかな。
TilesとかJSTLとか、それ単体ではシンプルかもしれないけど。
言いたいこと伝わるかな?
なんか組織図に4次元配列どうのこうのという話がでてるけど、
すとらっつと関係ないやん。設計の問題やん。

もし部付の社員とか、課の下に係とか、支社と部の間に本部ができたらどうすんねん。
そのうち9次元配列にでもする気かい? もしフォルダとファイルの階層構造作るん
なら100次元配列にでもすんかい?

こういう場合、クラスは2つで十分。あとインターフェイス1つか2つ。
デザインパターンの勉強しなはれ。
>>146
JSTLとStrutsは直接関係ないのだが・・・
>>148
JSTLが出てきても、
影響なしに融合できるほど「Web層に特化した軽いフレームワーク」だというのも
Strutsの利点の一つだな。

150138:03/12/07 09:38
>>141
同意。

「10画面以上くらいの規模」って書いたけど、
10画面を分子にして、プロジェクト数で割って欲しい。

10プロジェクトで利用すれば、1プロジェクト当たり1画面で元は取れる計算。
つまりすでにフレームワーク習得のためのコストも減って、
使って当たり前の状態に。
151122:03/12/07 11:59
みなさん、いろいろ意見ありがとうございます。
Strutsと関係ない話になってすみません。
実際、4次元配列は使ったことがないのですが、2次元配列はたまに
使うことがあります。フレームワークがJSPではStringで取り出すよう
になっていたためと、基本的に画面とDBを中心に考えて、表示内容は
ほとんどSQLで処理して、ロジック部分ではただ単にSQLの結果を表示
内容としてセットするだけの形が多かったために、クラスを作らない
形態になってしまったのかもしれません。ちょっと考え直します。
昔の上司でこういうコードを強要する奴がいたが、122もそういうクチだったのか。
public class BXXX_01{
 private String[] param = new String[1000];
 private String getParam(int i){return paran[i]}
 private String setParam(int i, String p){paran[i] = p;}
}
public class XXX001_042 extends HttpServlet{
 public void doGet(HttpServletRequest request, HttpServletResponse response){
  BXXX_01 xBean = (BXXX_01)request.getSession(true).getAttribute("bean");
  if(xBean == null){
   xBean = new BXXX_01();
   request.getSession().setAttribute("bean", xBean);
  }
  // 略。データベースコネクションを獲得する。
  ResultSet rs = statement.exequteQuery("SELECT * FROM T_012");
  int i = 500;
  while(rs.next()){
   xBean.setParam(i + 1, rs.getString("hogeId");
   xBean.setParam(i + 2, rs.getString("hogeName");
   xBean.setParam(i + 3, rs.getString("org1");
   xBean.setParam(i + 4, rs.getString("org2");
   xBean.setParam(i + 5, rs.getString("org3");
   // 以下略
   i += 20;
  }
  // 略。コネクション等の後始末
  request.getRequestDispatcher("/XXX001_043.jsp").forward(request, response);
 }
}
153152:03/12/07 12:57
JSPではこんな感じ
<jsp:useBean id="xBean" class="BXXX_01" scope="session"/>
<tr>
<td><%=xBean.getParam(501)%></td><td><%=xBean.getParam(502)%></td>
</tr>
>>151
> 表示内容はほとんどSQLで処理して
危険ですね。
考え直すだけ未来があるな。ちょと安心
156デフォルトの名無しさん:03/12/07 16:46
他人のソースをいろいろ読む大切さを痛感・・・
>>152
絶句
158デフォルトの名無しさん:03/12/07 22:08
はしご高が文字化けします。
初期表示では化けていないのですが、
<html:errors>から
画面遷移すると
?で表示されます。
ご存知の方いたらご教授お願いします。
>>158
文字コードをUTF-8にしる。
160122:03/12/07 23:38
>>152
こんな感じです。一応MVCモデルでモデルクラスでSQLの結果をStringもしくは
String配列にセットしてから、
xBean.setStringArray("HOGEGENRE", hogeGenre);
xBean.setStringArray("HOGENAME", hogeName);
でJSPで
<% for (int i=0;i<Integer.parseInt(xBean.getString("HOGEGENRECOUNT",i));i++) { %>
<tr><td><%=xBean.getString("HOGEGENRE",i)%></td></tr>
<% for (int j=0;j<Integer.parseInt(xBean.getString("HOGENAMECOUNT",i));j++) { %>
<tr><td><%=xBean.getString("HOGENAME",i,j)%></td></tr>
<% } %>
<% } %>
という具合に取り出します。
161136:03/12/08 00:15
冷静に考えれ。入力フォームページのたびにクラス一つ作るんだろ?
めんどくさいだろだろ。

リクエストを直で扱う方法こそ最強。
162デフォルトの名無しさん:03/12/08 00:18
Strutsで作られたシステムをメンテナンスすれと言われたら泣くよ。

サーバサイドでJava使うこと自体、かなり無意味無価値なのは、
最早明らか。技術分からない経営陣が勝手に技術基盤選んで、
それに騙されてる中途半端なプログラマが沢山いる。そろそろ気づけ。
>>162
大規模Webで代替手段って何があるかな?
あおりではなく、普通に知らないので教えて欲しい。
>>160
とりあえず直感で話すと、メンテナンスしたくはないな
160のコードだけ見ても、xBean.getString("HOGEGENRECOUNT",i)が何を返すのか
直感的にまったくわからない。特に上の行、なんでループ変数iで毎回読み込んでるんだ?

このようにそういう設計のミス(だと俺は思う)によるコードは、可読性を著しく落とすし、
バグの発生率も上げる、気がする
>>162
Strutsじゃなくて、どんなフレームワークならOKですか?
それともフレームワークを使わないシステムをメンテナンスしたいということですか?

Javaだからだめですか?
COBOLならOKですか?
C#でドットネットですか? PHPですか? PerlでCGIですか?
ASPでVBScriptですか?
166デフォルトの名無しさん:03/12/08 00:49
>>163

まず、アプリサーバとインターフェースとしてのウェブサーバをごちゃごちゃにしちゃいかん。この時点でPHPは消える。
Perlはもう古いだろ。
ASPだのC#だのは知らない。これはいいかもしれないし悪いかもしれない。
漏れがいいと思えるのを例としていうと、Rubyだな。
drbを使えばサーバサイドアプリが作れる。
データとhtmlのバインディングはERBという技術もあるし、
Amritaを使うとフォームの値とプログラムデータをシンプルにマッピングできる。
HTTPのリクエストはそのまま扱えばよい。フレームワーク必要なし。
>>166
drbがdrubyのことであるとしたら、どうやらリクエストごとにスレッドが起動するみたいなんだけど。
もしそうなら大規模ではとても使えないと思う。違ったら訂正よろしく。

それに、Rubyでも出来るけどJavaでも出来るよね。全否定するからには何かあるんじゃないの?
>>167
スレッドじゃなくて、リクエストごとにプロセスが立ち上がる、の間違い
>>168
なお悪いじゃん。。。
170デフォルトの名無しさん:03/12/08 01:23
結局みんながstrutsを採用する理由と言うかメリットって何でしょうか?
何かしら光る物があるからそれなりに使われているのだと思うのですが
教えてください
自作してると結局Strutsみたいになる。
かといって、Strutsの仕様を見てると冗長な気がちとする。
Actionオブジェクトがスレッドセーフになればいいと思うんだけどね。
後フォームの処理が微妙。(どれでやっても微妙だとは思う)
172デフォルトの名無しさん:03/12/08 01:40
>>167

スレッド大量に動くためのカーネルを作って、動かすとかしたらどうか。
サーチエンジンとか利用者とにかく多いという場合の意味での大規模なら、modruby側で全部リクエストを処理できるような、またちょっとした仕掛けが要ると思うけどね。
利用者がある程度限られてるけど、しかし業務ロジックが複雑になりがちという意味での大規模ならアプリサーバとウェブサーバ分ける価値がある。
そんなもの必要無いほど単純なサービス(掲示板とかデータ入力、検索するだけとか)なら、PHPのように作っていいんじゃないかね。
173デフォルトの名無しさん:03/12/08 01:42
>>171

アプリケーションの性質に合ったリクエストの処理があると思う。
だから、アプリケーション毎に適切なフレームワークを少しづつ構築していくのがいいんじゃないか。
Struts ありきは無駄なだけだ。
>>173
それ、逆行してない?
仕様の共通化、設計の共通化がフレームワークを使う意義だと思うのだけれど。
アプリケーション毎に適切なフレームワークを少しづつ構築するためのフレームワークが必要だな。
mod_rubyとかdrubyいってるやつは実際につかったことのない素人にしか思えない。
残念ながら、rubyはまだまだエンタープライズな利用に耐えるだけのもんじゃない。
>>172
プロセスが立ち上がってしまう時点で大きなボトルネックになりそう。
apacheのモジュールとして組み込むと、細かい指示が出来なくなるし。
(出来たとしてもそれはCのソースコードを直接いじることになる)

大規模であればJavaで出来るし、ノウハウもライブラリも充実しているから、
やはりmodrubyを使ったほうがいい、というのはやはり間違っているといえると思う。

小さいものに関してPHPを使えというのはそのとおりだと思う。
正直利用者が1万人程度のサービスであれば、ASPとAccessで十分出来るしね。
そこでstrutsを用いることを否定はしないけど。牛刀を用いて…というほどではないし。

>>171
たとえばスレッドセーフになれば、当然パフォーマンスが落ちるわけで、
シンプルにしたいと思えばある種のトレードオフが生まれるのかもしれない。
そういう場合は自分でstrutsをスレッドセーフに継承して使ってやればいいけど、
スレッドセーフに最初からなっていたらそういうことが出来ないから正しいと思う。

フォームの処理はJSFなんてものが出てきたが、あれは微妙というか駄作の香り。

>>174
適材適所でしょう。すでによく出来たフレームワークがあるとはいえ、
何に対しても使えるわけではないし。
それにstrutsを使っても、それをベースに何らかのフレームワークを作る必要は
必ず出てくると思う。strutsは業務プロセスまでカバーしてないからね。
178デフォルトの名無しさん:03/12/08 16:30
>>174

単にリクエスト処理するのに何がフレームワークだといいたい。

>>176

どこらへんが?

>>177

drubyを使うのは単なる常駐プログラム。
リクエスト毎にプロセスは立ち上がらないよ

小さいものってどういう意味?

使う人数が多い意味での大規模と、ロジックが複雑になるであろうとい
う意味での(ソースコードの)大規模化は違う。

漏れが言うのはロジックが複雑になるほう。
そのときにはPHPなんて使えない。
178にとって、フレームワークとはなんですか?
>>178
おじちゃん、おじちゃん。何を主張したいんだい?
独り言なら夢板でやっとくれ。

> 漏れが言うのはロジックが複雑になるほう。
> そのときにはPHPなんて使えない。
「PHP は」じゃなくて「スクリプト言語は」の間違いじゃないのかね。
Ruby もダメぽ。
>>171
WebWorkの場合はActionインターフェースを実装したクラスは、
リクエスト毎に生成されるらしいから、その辺ちょっと有利かも。
182デフォルトの名無しさん:03/12/08 19:48
>>180

どこがどのようにだめなのかと聞きたい。

>>181

少なくとも、フォームをオブジェクトにマッピングするフレームワークなんてのは、
面倒で無意味ってこった。なにがやりたいのか。リクエストオブジェクトを渡して
くれるだけで十分だ。だから Servlet がいいフレームワークと言えるな。

作業効率を高めるためにフレームワークがある。Strutsのダメなところは無意味な
クラスがゴロゴロできてコードを読む手間が増え、開発効率が落ちる(それに、ク
ラスローディングのコストが高くなり、遅くなるんじゃないか。)

Struts作った香具師の会社じゃそういうふうにしようってしたかもしれんが、そんな
クソな規約を世間に言ってみたところで、無視されるだけだろ、、、と思っていたら、
jakartaブランドなのかはしらんが、謎なことに広まってる。この謎の理由を漏れは
知りたい。
183ヽ(´ー`)ノ:03/12/08 20:07
> どこがどのようにだめなのかと聞きたい。
こっちが聞きたいな。
Struts を使って開発効率が落ちるなんて始めて聞いたよ。

> 無意味なクラスがゴロゴロできてコードを読む手間が増え、開発効率が落ちる
キチンと使えてないだけじゃん。
馬鹿でも使える銀の弾丸はありませんぜ。
184176:03/12/08 20:16
まず、178がエンタープライズっていったときに
大規模システムに必要な要件が思い浮ばないのがやばい。

例えば「マスタリングEJB」によると、それには
* RPC
* 負荷分散
* 透過的フェイルオーバー
* バックエンドの統合
* トランザクション
* クラスタリング
* 動的再配置
* クリーンシャットダウン
* ログ作成および検査
* システム管理
* スレッド処理
* メッセージ指向ミドルウェア
* オブジェクトライフサイクル
* リソースプーリング
* セキュリティ
* キャッシュ
などなどがあると指摘されている。

んで、このうちRubyにある実用的な実装って何よ?
そもそもdRubyなんてクラスタリングもできないじゃん。

> どこがどのようにだめなのかと聞きたい。
スクリプト言語のどこがどのようにだめなのかがわからない奴に何言っても理解不能と思われ
>>185
evalもないような言語にいう゛ぁられたくないやいっヽ(`Д´)ノ
>>186 HotSpot。
君たち、漫才おもろいで。

PHPもそうだが、スクリプト言語といった時点で大規模には向かないという印象がある。
違うぞ向いているぞというなら別にperlでも十分なわけだし。
エキスパートばかり集められるなら、それこそevalの塊 Lisp でやりたい。
しかし、そんなことはなくて、人の質はばらばらなので静的な制約の強いJavaがいいな。
190デフォルトの名無しさん:03/12/08 21:10
>>184

クラスタリングできるじゃん!!

>>188

印象かよ!!
>>190
あれだけある要件のうち、一つだけですかい?

> 印象かよ!!
周知の事実でしょ。
192デフォルトの名無しさん:03/12/08 21:13
大規模っていうのは、技術の話よりもっと重大な問題がある。

そんなことより、Struts のいいところを語ってくれ。
193デフォルトの名無しさん:03/12/08 21:14
>>191

いや、わざわざ挙げてもらってありがたいけど、
EJBだろうがRubyだろうが手間も必要なノウハウも
大して変わらんと思うよ。
>>194
176=184=186ですのでおまちがいなく。

ところで、EJBってご存じですか?

RubyでEJB相当のことが同じ手間でできるのでしたら、
ぜひ利用したいので、その方法を教えてくださいませ(プゲラッチョ
いままでマジレスしていたが、ただのJavaをしらない素人だったんだね。
ま、食わず嫌いというか保守的というか、そういう考え方が必要になる時代も
いずれは来るかもしれないね。その頃あなたは使えないエンジニアだろうけど。
Rubyで1億超えるような案件があったとして、
保守してくれるベンダはあるかな?
>>197
ネットワーク応用通信研究所
199デフォルトの名無しさん:03/12/09 01:32
>>195
>>196

Javaプログラマの株下げるような書き込みはやめれ
>>195

具体的にEJBのどの機能について?
>>199
知ったかはやめれ… 知らないことは知らないというべき
202デフォルトの名無しさん:03/12/09 01:53
>>201

わかった。あんまりいいたくなかったがEJBは無意味に複雑で遅くてクソだわ
203しもじも:03/12/09 01:53
RubyもWebアプリの世界ではまだまだ分が悪いな・・・
有名な構築例としてはtDiaryくらいしかないし。
まっ適材適所ってことで
>>202
そのセリフだけでEJBについてわかっていないのが良くわかるな(w

EJBって何を指しているんだが。使ったことないくせによく言うよ。。。
EJBは実は制作効率悪い。それを有り難がる技術選択の出来ない部長と
中途半端な知識を持つプログラマ、こういうプライドの高いセミプロが格好の
カモなんだよね。そろそろ気づけ。
>>205
荒れているときには、特にソースを出すようにして。
せめて、どの部分が具体的に製作効率が悪いと思うのか、論拠と共に。

独り善がりな意見なら誰だって書ける。荒れる要因になるだけ。
202の人が荒らしたのも、結局は主張するばかりで内容が伴わなかったからだから。
>そろそろ気付け

アホ?
>EJBは実は制作効率悪い。
使ったことがないことが丸わかり。

>それを有り難がる技術選択の出来ない部長と
>中途半端な知識を持つプログラマ、
>こういうプライドの高いセミプロが格好のカモなんだよね。
自分が使えないから悔し紛れに書いてることがバレバレ。
一番プライドが高いのは自分。煽られて必死

>そろそろ気づけ。
おまえが必死なことはみんな気付いている(プゲラ
(´-`).。o(…正直、根拠もソースもない独り言は夢板でやって欲しいなぁ…)
2101 ◆lqgT6FBSpw :03/12/09 12:03
ここは漏れにStrutsの良さを教えるスッドレですよ。
Rubyでサーバサイドやっている場合は別として
JavaでWebアプリの場合、Struts以外にどんなフレームワークを使っていますか?

うちでは、昔は自社製フレームワークを使っていましたが、
最近ではStrutsかTurbineを使っています。

StrutsはvalidationのコードをActionFormに閉じ込めておくことができるのと
validationでエラーを検出した場合にユーザの入力を失わずに、
入力フォームを再度表示することが簡単なところにメリットを感じています。
Rubyってよくわからんのだが、EJBのトランザクション管理と同等の機能あるの?
あれを自分で実装することなんて想像もしたくないのだが。
Strutsで開発効率が落ちるとか言ってるやつはEclipseを触った事が無いんだろ。
Rubyと同じ気分で、EmacsだけでStrutsと格闘しようとしたらしんどいのは当然。

それから、スクリプト言語だからすなわち駄目という訳でもない。
Yahoo! ShoppingのコードはLispで書かれている(少なくとも2001年までは)。
>>213
さらにWSADならばプラグインもいらずに…  クソ高いけど
Rubyのスレないの? そっちでやったら?

とりあえず今までの議論をまとめると、Rubyと言いたいだけということでいい?
216デフォルトの名無しさん:03/12/10 01:03
Javaなんてウンコ
議論パターン
http://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html

不毛な議論をしないためにも読んで(読ませて)おきたい
>>216
キター
というほどでもない
> EmacsだけでStrutsと格闘しようとしたらしんどいのは当然。
Emacs で作業したって Ruby より Struts の方が効率いいよ。
皆さんはツール使ってるの?
action-mappingとか編集してくれるよーな奴。

こいつら次第でStrutsの使い勝手って大きく変わると思うのだけど・・・
>>221
WSADけっこういいよ。
ツールの使い心地はなんだかんだでエディタで決まる。
>>222
そんな金ないよー。俺じゃなくてプロジェクトだけど。
WSADがJSF対応するそうだが、これはちょっと「I B M 必 死 だ な」の予感。
JSF対応って書きたいだけだろ、と。

225 :03/12/11 10:48
>>221
Improve_Struts Editor for Eclipse を使ってる。

struts-config.xml に記述した web ページの遷移をグラフィカルに表示してくれます。
でも、編集は struts-config.xml ファイルを直接編集しなければなりません。

これで十分です。
>>221
とりあえずstruts console
EclipseにもNetBeansにも組み込める
金が無いんならStruts StudioのCommunity Ed.という手もある。
SwingアプリだからUIはダサいけど機能は充分だよ。
有料版ならEclipseベースだし。
228  :03/12/11 22:26
Struts でセキュアなwebアプリをつくるにはどうすればいいの?

>>228
Strutsじゃなければわかるの?
>>228
Strutsだとどういう問題があるんだ?
231228:03/12/11 22:57
Strutsで、Formの入力などを暗号化したいのです。
232デフォルトの名無しさん:03/12/11 23:05
>>231
それは別にStrutsの話じゃないでしょ
httpsとかの話じゃないの?
233デフォルトの名無しさん:03/12/11 23:11
>>221
てか、開発者ならさそのくらいのテキストファイル構築ソフトぐらい
自分でチョイチョイッと作ってみようって気にならないもんか?
ソースコードを色分けでHTMLファイルにしちゃうツールとか
Base64エンコード&デコードプログラムぐらいみんな自作で持ってんだろ?
>>233
すでにいいものがあるものを作るのは、作ること自体が目的じゃない限り、あほらしい。
>>233
誰も知らない俺様ツールを一人で使うより、
みんなが知っているいいものがあればそっちを使いたい。
234に同意。なんであるのにわざわざ自分で作らなきゃならんのよ?
236228:03/12/11 23:47
>>232
Strutsで、httpsやるにはどうすればいいの?
237デフォルトの名無しさん:03/12/11 23:50
>>236
おいおい。。
サーバの機能じゃないのかそれは・・・
Apacheでも試してみなさい
>>233
いいの作って、公開してくれ!
チョイチョイとね。
240デフォルトの名無しさん:03/12/12 00:02
>>233、234、235
別にいいんじゃないのどっちでも・・・
例えばC言語バリバリやってるUNIXerは「俺様関数」作って成長するわけだし
同じ議論したら、考え方もJavaやってる人と逆の人がいるかもしれない
Javaみたいに痒いところに手がとどくツールが整ってる言語やってる人は
「あるものは使う」で間違ってはいないだろうし。
ただ、そのくらい(StrutsのConfig吐くぐらい)のツールなんて・・・
ましてやaction-mappingに限定すればそんな時間かからんだろ?
GUIだってサクッと作れちゃう言語だから
適当にテキストボックスに項目追加していくようなやつでも一時間ぐらいでできるだろ?
「あほらしい」とか思ってるうちに出来ちまいそうだ。
文字列操作が混雑しそうならXML関連のAPI使えばもっと楽に出来そうな予感がするが。

>>237
サーバがhttpsを使えても、Strutsでは使えないよ。

Struts SSL Switching Extension を使えば別だけど。
http://www.janit.com/TechnoInf/Java/Struts1.1b3/faqs/ssl.html

>>228さんもこういうのが知りたかったのでは。
まあ、はっきりいってそのぐらいサクッと出来ないようじゃ
お客様からの緊急のバグクレームにも戸惑ってしまうだろう
電話受けて1時間以内にかたずけられないようじゃホントの意味での
プログラマじゃない
ZDNet:SSLは「ウイルスの最後の隠れ家の1つ」と指摘する独WebWasher
http://www.zdnet.co.jp/enterprise/0309/22/epn08.html
>>240
でっちあげるのに時間はかからないが、仕様どおり正しく動くようにするのには、結構時間がかかると思うぞ。
「プログラムを書く」ということの怖さを知らない人の意見だな。
メンテナンスを考えたことがない人か。

同じ要求を満たすなら、プログラムは短ければ短いほどいい。極限はプログラムを書かないことだ。
>>244
おいおい、ちょっとまてよ
ストラッツの高々コンフィグファイルごときで
そこまで考えてやるのか?
間違ってれば勝手にエラー出して止まるだろうに・・・
そういう力技のプログラミングも必要だよ
自分で
書く
書かない
の差は大きい
>>245
だから、すでにいいツールがあるのに、力技で作る必要はない。
作るのが目的じゃない限り。
248247:03/12/12 00:25
というかstrutsを使う価値も同じだと思うのだが。
strutsで、Shift_JISを使うと、フォームへのアクセッサを使用した時に
文字化けします。

request.setCharacterEncoding("Windows-31J");
をアクションクラスで、宣言するだけでは駄目なのでしょうか?
ご存知でしたら、教えていただけませんか?
>>249
アクションクラスではもう遅い。フォームにセットされる前にしなくては。
Servletフィルタ使うか、RequestProcessor拡張汁。
>>245
個人的には「ただでさえ楽したいからStruts使ってるのに、
一々ツール作ってられるか!!」という感じだな。

そもそも、ロクにエラー処理もしないようなツールを作って
プロジェクトで使う気ですか?
そんなもん使わされる同僚が不憫だよ。
それとも、プロジェクトの参加者各自に俺様ツールを作らせるんか?
作らなくていいプログラムを力技で作るプログラマとは一緒に仕事したくない。
知ってて煽ってるとしか思えない書き込みばかりで萎える。
書き捨ての俺様スクリプトは死ぬほど書くだろ。
>>253
すでにいいものがあるのを知ってるときは、書かない。
>>253
struts-config.xml生成ツールが書き捨てで良いものか…
org.apache.struts.action.ForwardActionって使ってます?
文字通りparameterのURIにフォワードするだけのActionなんですが。

ウマ本p121でJSPを直接呼び出させないためにこれを使い云々と書いてあるんで
使ってみた訳なんですが、結局はフォワード先のJSPのURIがブラウザのロケー
ションバーに丸見えになり、イヤンな感じです。

結局全て.doで隠蔽するには、しょーもないforwardオンリーActionをちまちま作る
しかないってことなんでしょうか・・・
257256:03/12/12 18:36
typo
誤)org.apache.struts.action.ForwardAction
正)org.apache.struts.actions.ForwardAction
struts-config編集ツールを書き捨てで書くなら、直でいじった方が速い気がする。
100kBytesくらいのstruts-config.xmlを知ってるが。
(1.0.xの頃の話)
>>256
URLは、いったん公開したらなかなか変えられないものと認識すべき。

.jsp を剥き出しで公開するよりは、
ActionServletのようなインテリジェントなコンポーネントを介させておいたほうが
後で何かと便利。
>>256
Actionを介さない処理があるプリケーションで、モジュールを切り替える時に
JSP -> JSPだとモジュールが上手く切り替わらないから、そういう場合に
ForwardActionをかますようにするという使い方もある。
262デフォルトの名無しさん:03/12/12 22:57
>>256

<action path="/hoge"
forward="/WEB-INF/jsp/hoge.jsp">
</action>
263デフォルトの名無しさん:03/12/13 00:23
>>262
そうだよね〜
おれも
>結局はフォワード先のJSPのURIがブラウザのロケーションバーに丸見えになり、イヤンな感じです。
↑この部分に関して
「あれ?そうだったけ?」と思ったよ

てか、サーバサイドパターンに慣れてしまったので
もうJSP→JSPなんて、たとえStruts使ってなくても書かなくなってしまった・・・
264デフォルトの名無しさん:03/12/13 13:40
ActionnのexecuteメソッドでうけとるActionFromが、Tomcat再起動したときにnullになることがあるのだが、どういうこと?
265264:03/12/13 14:11
というより、Exception creating bean of classになってる。
266264:03/12/13 14:14
あ、アプリケーション起動しすぎでメモリが足りなかっただけかも。
>>264
strtus-configのformbeanの定義でアトリビュートをtyepって書いてない?

つうか、まずはgoogleで検索しる!
268264:03/12/15 08:20
>>267
えっと、それは再起動したときにnullにならないこともあるのですか?
269 :03/12/16 13:25
Struts in Action 翻訳発売記念age!
>>269
情報サンクス。買っとこう。
http://www.amazon.co.jp/exec/obidos/ASIN/4797323442/
>>269 >>270 ここで宣伝しても逆効果なだけだよ
>>271
おれ、ココ見て買ってしまった・・・
ぴえろ本(?)買った人感想よろ。
>>271
270だけど、宣伝じゃないんだけどな。
原書の出版社のサイトで、原書の一部分だけを読めるんだけど、
その内容がとてもよかった(Struts Tilesの話)ので原書を買おうかどうか迷ってた。
で、ちょうどタイミングよく269の発言があったので、これは買わねば、と。

実はちょうど今、本屋で買ってきたところ。読んだら推薦図書スレに感想書くよ
275デフォルトの名無しさん:03/12/19 21:55
本屋でパラパラ見てみた、
結構よさげ。

でも4800は高杉...
正直、Struts in Action 自体があんまりいい本ではない。
277デフォルトの名無しさん:03/12/20 03:21
>>276
どこらへんがよくないと思いました?
買おうか迷い中です。。
>>277
>>276じゃないけど、ちょっと見た感じとしては内容が古い気がする。
どちらかというとオライリー本の方が俺は好き。
>>278
俺は原書斜め読みだけど、Struts in Actionは初心者向きだったような。
Servlet/JSPの知識がある人が初めてStrutsに触れてみました、という。
オライリーはリファレンスチックだったような気がする。
280デフォルトの名無しさん:03/12/20 12:11
>>278
原書はStruts1.0ベースの部分もあったらしいけど、
翻訳時に全て1.1ベースに置き換えられたらしいよ。
281いなむらきよし:03/12/20 14:59
キケー!
>279
う〜ん、読んだ人によって印象違うみたいですね。
漏れの感想だと、前半は基礎を固めるための情報が提供されていて
後半、実践に有益であろう情報が満載って感じ。なので、前半を理解できないと
後半が理解できない罠。

リファレンスとしての堅い資料ならオライリーだけど、現場で置いておきたい資料
としては、もれはStruts イン アクションを推す。
283   :03/12/25 13:11
Struts SSL Switching Extension とTilesってなんか相性が悪いみたい。

TilesのライブラリがExceptionを出すよ。
284283:03/12/25 15:29
StandardWrapperValve[action]: サーブレット action に例外を割り当てます
javax.servlet.ServletException: TilesPlugin : Specified RequestProcessor not compatible with TilesRequestProcessor
at org.apache.struts.tiles.TilesPlugin.initRequestProcessorClass(TilesPlugin.java:360)
at org.apache.struts.tiles.TilesPlugin.init(TilesPlugin.java:164)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1158)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:668)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
ApplicationResources.propertiesに、コメントってどう書いたらいいの?
通常のJavaのプロパティファイルと同じ。
#で1行コメントアウトできる
>>284
Struts SSL-extは使ったことないからよくわからんけど、
ControllerとしてRequestProcessorの代わりに
org.apache.struts.action.SecureTilesRequestProcessorを
使うようにしたらいいんじゃないの?
288デフォルトの名無しさん:04/01/02 19:26
valaidaterを使用して、日付の入力チェックをしたいとおもってます。

yyyy/MM/ddとyyyyMMddの入力を許可したいのですが、
maskを使用するのがよいのでしょうか?
validateDateで2種類のフォーマットを許可するようにできる
のでしょうか?
valaidater→validater
>>288
maskで正規表現でチェックするのが一番確実と思われ。
ちなみに、validator だ。
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
292デフォルトの名無しさん:04/01/03 19:15
validatorのrequiredifってjavascriptでチェックしたいとき、
デフォルトで使用できるんですか?
どれとも自分で定義でしょうか?
293デフォルトの名無しさん:04/01/07 11:40
Strutsで作ったアプリをSSLで使いたいと思います。

tomcatをSSL対応するように設定し、https://hoge.net:8443/Struts-apl/
でうまく動いています。

上で紹介されていた、Struts-SSL-extを使ってタグを置き換える必要があるのでしょうか?
このスレはいつから質問スレになったんだ?
スレタイ読んで首吊って氏ね。
295  :04/01/08 10:39
>>294
ぷ。答えられないヘタレなんですね(w
296デフォルトの名無しさん:04/01/08 10:54
このスレはいつから首吊りスレになったんだ?
スレタイにふさわしい書き込みをしろや、ボケ。
297デフォルトの名無しさん:04/01/10 02:51
すみませんが、質問です。

Tomcatでは、TagLibの属性の値の指定に、スクリプトレットを使ってint型の変数を
割り当てることはできないのでしょうか?

具体的には、
<% int test = 10; %>
<html:text property='passwd' maxlength='<%= test %>'/>

このようなコードは書けないのでしょうか?
当方、このコードは、必ず以下のようなコンパイルエラーになってしまいます。

[javac] C:\***\ProjectFiles\***\work\org\apache\jsp\test01_jsp.java:78:
org.apache.struts.taglib.html.BaseInputTag の
setMaxlength(java.lang.String) は (int) に適用できません。


当方のStrutsのバージョンは1.1
Tomcatは4.1です。
なお、他のアプリケーションサーバ(Oracle9iAS)では動くことが分かっています。
298297:04/01/10 03:09
追伸です。
上のコード、JRunでは同様にコンパイルエラーになりました。

また、属性の種類をいろいろ変えて試しましたが、
accesskey
maxlength
onblur
size
styleId
tabindex
いろいろ試したけれど、どれも同じようなエラーになりました。
299297:04/01/10 03:18
さらに追伸ですが、今回の仕事の場合、
<% int test = 10; %> を
<% String test = "10"; %> にすることはできません。
実際には、ここは既存の(修正の権利のない)オブジェクトのプロパティなのです。
300デフォルトの名無しさん:04/01/10 03:43
>>297
toString噛ませてみたら?
<html:text property='passwd' maxlength='<%= Integer.toString(test) %>'/>
301297:04/01/10 03:53
>>300
説明が足りなくて、すみません。それもできないのです。
新規で作るページはそれでいけますが、
既存のページをいじる権利がないのです。

既存のページはOracle9iASで開発されたのですが、それを何とかTomcat上で
動かしたいのです。
302297:04/01/10 04:00
それにしても、ここを見てみると、maxlengthなどの属性値は
String型しか与えられないようにも見えます。
http://jakarta.apache.org/struts/api/org/apache/struts/taglib/html/BaseInputTag.html#maxlength

しかし、<%= %>は内部の式をStringに変換して出力するのだから、intであろうが
キャストされてStringになってタグライブラリに与えられるのかと思っていたの
ですが…。

このコードが動くOracle9iASと、動かないTomcat4.1, JRunと、果たしてどちらが
正しい挙動なのか、分からなくなってきました。

もちろん、キャストされることを私は望むのですが。

Tomcatのユーザの方で、バージョンや設定によって、上のコードを動かすことのできた
方はおられませんか?
303デフォルトの名無しさん:04/01/10 04:20
>>297
つーかこんな夜更けに仕事かい。。おつかれさま
>>297
それぞれの環境で JSP 変換後の Java コードはどうなってる?
org.apache.struts.taglib.html.BaseInputTag に setMaxlength( int ) を
無理矢理つけるのはだめなのか?

適当に言ってみる。
305297:04/01/10 10:47
すみません、ちょっと離れておりました。

>>304
Strutsのライブラリを修正することはできません。共同開発なので…。

・Tomcat 4.1.29
_jspx_th_html_text_0.setMaxlength( ComDb.HGGDbMshLen[ComDb.HGD_DB_MSH_SKCD] );

・Oracle9iAS
__jsp_taghandler_3.setMaxlength( OracleJspRuntime.toStr( ComDb.HGGDbMshLen[ComDb.HGD_DB_MSH_SKCD]));

Oracle9iASでエラーが起こらない理由が良くわかります。Stringに変換されている。

この9iASはどうも謎で、コードに多少の問題があっても、勝手に動くようにしてくれるの
ではないかと思い始めました。
web.xmlのdtdが web-app_2_2.dtd のままでフィルタが使えたり、
同じくweb.xmlの日本語コードがEUC_JPなのに <?xml version="1.0" encoding="ISO-8859-1" ?>
と冒頭に書いてあっても、そのまま動いたり。

どなたか、何か良い方法をご存知ではないでしょうか…。
疲れた…。
クラスも JSP も編集できないのに、どうにかしろってのは無茶苦茶。
Tomcat あるいは Oracle9iAS のどちらかが間違った仕様だとしても何なのさ。
自分が調査した結果を踏まえた上で、これこれこうだからここを手直しさせてくれって頼めよ。
それが君の仕事だろう。
307297:04/01/10 11:31
>>306
そのとおりだと思います。また説明が足りなかったようです。すみません。
私が必要としていることは、
「果たしてTomcatでこのコードを動かすことは、どうしても不可能なのか?
 それとも設定やバージョンによって、動かすことが可能なのか?」
を確定することなのです。

関連した仕様の情報を書いたのは、それを書いたほうが見通しが利いて、皆さんに
情報を提供していただきやすいかと思ったからです。どちらが良い悪いにこだわる
つもりはないのです。

「仕様では動く(動かない)のが標準」「しかしこう設定すれば動く(動かない)」
といった情報を求めております。どうかお願いいたします。
>>297
今日も仕事してんのか? 仕様上うんたらは本家に聞いてみたら?
その前にこっちにマルチしてみるとか。
ttp://www.jajakarta.org/kvasir/bbs/technical
309297:04/01/10 15:05
>>308
はい、仕事です…。
ご紹介ありがとうございます。
今すぐのマルチポストはさすがに失礼ですので、もうしばらく待たせていただきます。
310297:04/01/12 13:24
少々、状況が変わりました。
既存のJSPのコードを多少修正してよいことになりました。
ということで、<%= String.valueOf(i) %>で行けそうです。
と言っても、これも量が多くて大変なのですが。

状況が変わった理由ですが、Oracle9iAS と Tomcat4.1 で互換性のないコードが
かなり多いことが分かってきたからです。
例えば、
・9iASでは、<jsp:include>で読み込まれるJSPは、先頭行で charset の指定を
 する必要がない。読み込み元のJSPコードが自動的に指定される。
・<% out.flush() %>というコードがあると、Tomcat4.1ではそこで出力が終わって
 しまうが、9iASだと続行する。
・その他

一般的に、Tomcat で動くコードは 9iASでも動きますが、その逆はかなり難しい
ようです。しばしば、JSPから変換されたJavaファイルをデバッガで追いかける
必要がありました。
311297:04/01/12 13:24
個人的な見解ですが、これは 9iAS が非標準的なコードの実行を許しているため
ではないかという気がします。もしそれが正しいなら、一時的には便利ですが、
9iAS で構築されたシステムは、他のアプリケーションサーバに容易に移行でき
ないことになります。これは Oracleの一種の抱え込みではないかという気がして、
どうも釈然としません。
まあ、今ははっきりした結論は出せないわけですが。

ということで、どうしても答えを知らねばならぬ必要はなくなったのですが、
きちんと結論は出したいので、いずれ下の掲示板で質問するかもしれません。
http://www.jajakarta.org/kvasir/bbs/technical

いろいろありがとうございました。
>>311
その見解は正しいと思う。Tomcatが目指すものはServlet/JSP仕様への忠実な準拠だが、
商用AP鯖は堅牢さや高可用性も重視する。コンテナ側で補えば動くようなことは
補っている可能性が高い。
HTMLタグの閉じ忘れが少々あっても表示できてしまうIEみたいな感じ。
313デフォルトの名無しさん:04/01/17 16:45
ログ読んで思ったけど、みんなStrutsで悩んでいるんだね。
フツーにServlet使ったり適当なスクリプト言語使ったら起こらないような問題ばっかり。
Strutsって結局プログラマの生産性下げてばかりいないか?
314デフォルトの名無しさん:04/01/17 17:11
>>313
Servlet/JSPで、PGの好きなように作らせたら凄いことになるよ。。

でもまあServletで作りましょう、継承用Servletを作っておいてそれを使いましょう、
あれそれってStrutsやん。という話で。


実装メンバが全員J2EEに精通していれば、いいんだけどね。
>>314
だから Struts は開発の生産性をあげるものでは無いってことね。
2次開発のメンテとかはマシになるのかな。
無限ループでつか。
ほんとにログ読んだのかと小一時間問い詰めたいんだが。
議論パターン
http://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html

不毛な議論をしないためにも読んで(読ませて)おきたい
319デフォルトの名無しさん:04/01/17 18:04
ドリームチーム。
全メンバ、Struts/Eclipse/Linux無問題。


現実のプロジェクト。
Struts/Eclipse経験はリーダーのみ。
残りは新人、Coboler、VBマソ。
320デフォルトの名無しさん:04/01/17 18:05
>>315
継承用Servletを作る工数は浮くよ。

あと"俺Servlet"よりは生産性は高い。設計がいいからね。
321デフォルトの名無しさん:04/01/18 02:19
>>314, >>315, >>319, >>320

そういう能力差を埋めるためのクッションという意見あるけど、
Strutsは能力差を埋められるという理論が謎すぎる。
なんでもそうだがStrutsもそれを使う経験がないと使いこなせない。

無駄な場合がほとんどだよね、という意見で最近は固まりつつあるような気がしてる。
Strutsは、J2EEを知らないプログラマが使えるものではないけれど、
能力のあるプログラマたちが、決まりきった作業を軽量化するという目的には
うまく機能するのではないかと思う。

私にはその能力がないわけだが。
323デフォルトの名無しさん:04/01/18 03:03
>>321
あくまでServletと比較した時の話な。

Strutsでテンプレソース用意しておけば、
J2EE初級者も戦力になる。

リーダーとしての負荷は、Struts<Servletだったよ。


Strutsステ、とした場合なにを使ってるかが興味ある。
.NET?WebWork?Tapestry?
324デフォルトの名無しさん:04/01/18 11:27
>>319
新人よりもコボラーとVB厨が足を引っ張る予感
325デフォルトの名無しさん:04/01/18 21:44
>>323

Servletとなるとねぇ、やはりStrutsが有用なシーンも多くなるのかもね。
やっぱJavaが全体的にWebサービス提供に不向きな感じがする。

PerlとかRubyとかPHPとかならもちろんフツーにリクエストを扱えばよいね。
326デフォルトの名無しさん:04/01/18 21:46
漏れのリアルな実感は↓に近いよ。
http://itpro.nikkeibp.co.jp/members/SI/oss/20031007/1/

> 高負荷になる部分はJavaで,という傾向もないですね。むしろ,負荷がきついとサーバーの台数が
> 必要になるので,コストの安いPHPという傾向にあります。

大規模開発に向かないっていってもなぁ、クソな組織が作ったら何を使おうがダメに決まってるだろ。
>>326
正直、よく分からないので、教えてほしい。
PHP を勉強中なのだけど、PHPの良さって何?
大変評判がいいのだけど、マンモス本を読んでる途中での、私の正直な印象は、
「こんな貧弱な言語、不自由でつらいなあ」というものなんだけど。

言語としてしっかりしている分、Java の方がよほど楽だと感じている。


あと、Strutsの良さが分からないと書いている人がいるけれど、私もよくそう思って
いた。だけど、J2EE の知識が増えていくと、「なるほど、このためか!」という
納得がいくつも得られた。
いまでは Struts などのフレームワーク無しで、素の J2EE 開発をすることなんて
考えられない。Strutsにいろいろ任せられるから。

今思えば、Strutsを使う前は、本来やるべきことをやらないで来たのだなあ。
今まで楽だったのは、開発してるWebアプリの問題点を解決せずに放置してた
からなのだったことよ(詠嘆)。

Strutsに批判すべき点があるとしたら、不要だという点より、機能が不足している
点だと思う。詳しい知識がない人でも使えるようにならなきゃ、ちゃんとした
フレームワークとは言えないだろう。過渡期の存在だとは思う。
328ヽ(´ー`)ノ:04/01/19 10:45
> PHP を勉強中なのだけど、PHPの良さって何?
開発費が(多分)安い、くらいしか思い当たらん…。
Perl と両方勉強したけど、Perl の方がパワフルだし、
読みにくくなるのも気を付ければ大丈夫だと思うんだけどな。
世間の評価はそうでもないようだ。よー分からん。
俺の正直な感想は「なんでこんなモン流行ってんのよ、早く無くなるか改善するかしてくれ」なんだけど。

あとドキュメントが少ないと思う。
初心者入門レベルのドキュメントじゃなくて、もっと実用的なドキュメント。
趣味じゃなくて仕事でやる場合が多いだろうし、結構間違った使い方してるトコロ、
多いと思うんだけど…。
>>325
Servletでもフツーにリクエストを扱ってもいいよ。
ここで問題にしてるのは、フツーにリクエストを扱ってたら、
大規模開発で発生する構造上の問題をどのように解消するのか。
Strutはそれを解消するのに有効かということ。
PerlとかRubyとかPHPにも、そのためのフレームワークはあるだろ?

>>327
>PHP を勉強中なのだけど、PHPの良さって何?
手軽さってのはどう?アプリケーションの設定をしなくても、
拡張子.phpでスクリプトを書いちゃえばそのまま動く。
一応、クラスや継承もサポートしてるので、オブジェクト指向も可能。
PHP5からは例外なんかもサポートするらしいので、
マンモス本のPHP4から比べると多少強力になってるかも。
手軽さだけならaspの方が。
PHPでは仕様がクソすぎてできませんでした。こんな私はOOP厨失格ですか?
struts1.1を使っています。tilesを使用しているのですが、
putに設定するJSPファイル内にStringを挿入したいのですが
どうすればいいのでしょうか?putlist?
333sage:04/01/20 22:38
フォームをオブジェクトに見立てるという無意味極まりない
抽象化をありがたがるJavaコミュニティって普通にヤバいだろ。
DOMではformもオブジェクトだね。
>>333
口だけの評論家ステ
見え見えの上げてる時点で、暇人の煽りだろ
>>333はWebWork派の刺客
338デフォルトの名無しさん:04/01/21 08:44
「日本発の世界戦略」,Struts普及作戦の舞台裏
http://itpro.nikkeibp.co.jp/members/ITPro/J2EE/20030914/2/
オブジェクト指向を否定するとああなるのか。
UMLもSmalltalkも否定する輩の浅はかさを垣間見た瞬間だった
入力された値に基づいてImageを作成してこれを表示させたいんだけど、
表示のさせ方が分からない。
Action内でImageを作るところまではできるんだけど、

BufferedImage img = foo.createImage();
request.setAttribute("hoge", img);

ってやって、jspの方でいろいろStrutsタグ使ってもうまくいかない。

BufferedImage img = foo.createImage();
JPEGImageEncoder enc = JPEGCodec.createJPEGEncoder(response.getOutputStream());
enc.encode(img);

ってやるとjpegになるけど、jpegになったimgのみで困る。

普通のHTMLのページにimgタグで普通に画像があるようにしたいんだけど、どうしたらいいの。
>>340
別サーブレットにする。
cewolfとかjfreechartとかのソースを参考にど〜ぞ
342340:04/01/21 22:35
>>341
JFreeChartは使ってるけど、サーブレットなんか使ってたっけ? JPanelをそのままhtml
に表示できないよね。

それと、その別サーブレットにするってのをStrutsでどうやるんだか分かんないんだけど。
1回のPOSTで2つのアクション実行? 2つのサーブレットのresponseを1つのjspに表示?
jspでどのタグ使うの?
ごめん。ぜんぜん分かんない。
341じゃないけどhttpとファイルについて知らないとそれむり。
htmlの中にはimgタグしかかかない。ブラウザはそれを読んで
画像のパスへhttpアクセスする。意味分かる?
HTTPわかってない人間でもStrutsが使えるってのは素晴しいことだな。
>>340
拡張子 mht でググれ
>>344
それ「使える」って言わないし。
>>346
「結果として」使えてる
それよりもHTTPもわからないような人間が
プログラマとしてやっていけるということに
技術の進歩を感じるね。
まあそんなに知識なくてもシステム組めるようになるのが理想だからねぇ。
さらに技術が進歩すればユーザが直接システム組めるかもな。
そうなりゃ、SE/PGのほとんどはビーク
一般ユーザーが利用する OS に
XML エディタが notepad.exe のごとく標準で搭載される世の中になるとする。
一般ユーザーは XML 文書をプレーンテキストのような存在として扱うわけだ。

それはそれで、IT技術者は バイナリエディタを使うようにテキストエディタを使って仕事をするだろう。

物事には抽象/詳細のレイヤが厳然とあって、
やはり専門技術者はいつづけると思う。

>>341
Struts の Action でも、出力用ストリームにデータを送った後で
return null;
として終わるとバイナリデータを送れるんじゃなかったっけ?
352340:04/01/22 19:47
> htmlの中にはimgタグしかかかない。ブラウザはそれを読んで
> 画像のパスへhttpアクセスする。意味分かる?

java.awt.Imageのインスタンスでファイルじゃないのよ?
いちいちファイルに保存してそのパスを渡してHTML側から参照するなんて
そんなバカなことをせんでもいい方法を聞いているんだが?

http語る前に自分のレベルを知れよ。

>>352
アイタタタ
354340:04/01/22 19:54
>>351
340見てくれれば分かると思うけど、jpeg変換してバイナリで送れるけど、htmlファイルにjpeg画像
がついてるって感じじゃなくて、まるごとjpegになって表示される。
355340:04/01/22 19:54
>>345
それをStrutsでどうやればできる?
>>340
JPEGのバイトストリームを送ることができて、なぜHTMLがわからんかなー
あれ、ネタだとおもったら、マジ?
>>355
imgのsrc属性に指定されているurlがservletを指してたら?という話。
343さんに謝る気があるならもっと詳しく書くが。
359358:04/01/23 01:20
正確にいうと
>>352
へのレスね。
>>358
すいません、僕があまりに物知りませんでした。。
マジ馬鹿でした。
よかったら、おしえくてください
をを、下手に出たから書いたげるよ。

(1) QueryString や PathInfo を使って動的にJPEGイメージのバイトストリームを出力するサーブレットを作る
(2) このサーブレットの servlet-name を "JpegServlet" として登録する
(3) JpegServlet の servlet-mapping を "/img/jpeg/*" として登録する

こうしておいて、HTML に
 <img src="/img/jpeg/FOO/BAR"/>
と記述すれば PathInfo="FOO/BAR" に対応するJPEG画像を表示できる。
362 :04/01/23 15:36
Action クラスから、<logic:iterate> のoffsetやlengthを指定する方法はありますか?
>>362
スクリプトレットか、EL を使うしかないと思う。
EL を使うなら、Struts-ELか、JSTL を使うことになります。

Struts-EL はこのページの下のほうに。
http://www.janit.com/TechnoInf/Java/Struts1.1b3/faqs/indexedprops.html

JSTL と EL については、このあたりを参考に。
http://homepage3.nifty.com/solar/jstl/jstl04.html
364362:04/01/23 16:53
>>363
ありがとう。

Strutsだけでは、前の10件、次の10件の制御は、ActionでListを作成するしかないようですね。
スクリプトレットは使っちゃいけないのかな?

EL じゃない素の Struts は、

<bean:define id='offset' name=...>       という風に変数定義して、
<logic:iterate id=... offset='<%= offset %>' ...

と書くことを想定していると思うんだけど。
366  :04/01/24 01:12
'offset' の値は、IntegerのBeanとかで指定できるとかあるけど・・・やり方がよくわかんないや。
FormのIntegerからも、Form内のInteger型Propertyを持つBeanからも値がとれてないみたい。

>>365のやり方しかないみたい。
>>329

> ここで問題にしてるのは、フツーにリクエストを扱ってたら、
> 大規模開発で発生する構造上の問題をどのように解消するのか。

いや、それはStrutsは何の解決にもならない。↑のバイナリストリーム
どうこうの話みていても分かるとおり、面倒くさくなる場合がほとんどだろう。

アプリケーションにあわせたシンプルなフレームワークを作るしか
ないんじゃないの。Strutsは本当に意味無い。
>>367
アプリケーションにあわせたシンプルなフレームワークを作るのに飽きた人がstrutsをつかっています。
> いや、それはStrutsは何の解決にもならない。↑のバイナリストリーム
> どうこうの話みていても分かるとおり、面倒くさくなる場合がほとんどだろう。

あれをめんどくさいと思う規模の開発って何だ?
なにより、JPEGのストリームを出力する件は、Strutsとは何の関係もないし。

・サーブレット名の定義およびサーブレットとURLの対応付け
 →Struts の担当範囲
・JPEGデータを動的に生成し、バイナリストリームとして出力する
 →JavaServlet の担当範囲

動的出力部分は、perlスクリプトだろうがJavaServletだろうがPHPだろうが、
似たように作らなきゃならん。
>>367
んじゃ、つかうな。
371329:04/01/25 17:48
>>367
レスサンクス。
でも、バイナリストリームの話は激しく違うぞ。>>369の言う通り。

面倒くさくなる場合ってのも良く分からないが、
確かにログインするだけとか、アンケートフォームが2-3あるだけとかで、
残りは全て素のHTMLだけって場合は分かる。
でも、そういうのは素のHTMLがどれだけあっても「大規模開発」とは思ってないので、
申し訳ないがご了承いただいてくれ。
あと、ユーザからのパラメータを取らずに、
一定のルールで表示を変えるだけのSSIだけで出来そうなページなんかもそうかもね。

その他に、Strutsが意味なさそうなのってどんなケース?
Strutsがベストな選択肢とは言わないが、
アプリごとにフレームワークを作った方がましとまで言わせる理由が知りたい。
アプリごとに作るって、最早使い捨てみたいなもんじゃない?
有限会社NITのサイトのトップページから、
Jakarta Struts 1.1 beta 3 ドキュメント日本語訳 が消えている…。
webで日本語で読める資料としては、唯一に近かったのに…。
http://www.janit.com/TechnoInf/

まあ、営利事業だから仕方がないのだが。
今まで大変お世話になりました。ありがとうございました > JANIT の中の人。

# Googleのキャッシュからならまだ行けるぞ。急いで Go だ!
これを機会に本家嫁
submitボタンを使ってOKとキャンセルを振り分けているのですが

<html:submit property="hoge">

普通のHTMLで表すなら
<input type="submit" name="hoge">

の"hoge"の値により処理を振り分けようとしているのですが。
いざ、Actionクラスのrequestから値を取得しようとすると
何処にもないんです・・(´・ω・`)

ActionFormに関係ない値は捨てられてしまうのですか?
また、これらの値を取得する方法はありますか?

・・というか他ので振り分けを行った方が良いでつか? (´・ω・`)
375>>374:04/01/26 14:29
<action
path="/switchAction"
input="input_index.jsp"
name="inputReportForm"
scope="session"
type="jp.associant.www.wrsystem.user.action.SwitchAction"
validate="true"
>
<!-- 荳区嶌縺崎ェュ縺ソ霎シ縺ソ -->
<forward name="load" path="/loadDraft.do"/>
<!-- 荳区嶌縺堺ソ晏ュ� -->
<forward name="save" path="/saveDraft.do"/>
<!-- 謠仙�コ -->
<forward name="present" path="/presentNewReport.do"/>
</action>
376>>374:04/01/26 14:30
public ActionForward execute(
ActionMapping map,
ActionForm form,
HttpServletRequest request,
HttpServletResponse res)
throws Exception {

String find = "load";

//ここでActionを切り替えます。
if (request.getParameter("submit1") != null) {
find = "load";
} else if (request.getParameter("submit2") != null) {
find = "save";
} else if (request.getParameter("submit3") != null) {
find = "present";
}
377HTMLはこうなる。:04/01/26 14:31
<html:submit property="submit1" value="下書き読込"/>
<html:submit property="submit2" value="下書き保存"/>
<html:submit property="submit3" value="提出"/>

375が書いてくれたことを実現するためのクラスがStrutsには既に用意されている。
org.apache.struts.actions.LookupDispatchAction のJavadoc見れ。
ご苦労。>>375
379デフォルトの名無しさん:04/01/26 14:34
>>375 の path="/saveDraft.do"/>

は、 struts-config.xml 内の別のAction
個人的にはここが気になる。
request から parameter が消えてしまうなんて、ありえないと思う。
どこかでミスをしていると思うんだが。

> いざ、Actionクラスのrequestから値を取得しようとすると
> 何処にもないんです・・(´・ω・`)

> ActionFormに関係ない値は捨てられてしまうのですか?
> また、これらの値を取得する方法はありますか?
381 :04/01/26 19:28
<html:link> でSubmitはどうやればいいのですか?
onclick
383374:04/01/27 02:10
レス下さった方サンクスです。

>>380氏の言うとおりrerquestからparameterは消えてませんでした。
何を思ったかgetAttributeになってました・・。
無事に解決しました。スマセン(´・ω・`)

ちなみに>>375氏とほぼ同じような処理を行ってます。
>>378氏のLookupDispatchActionも良いのですが、
<html:submit>のpropertyを利用する場合だけは
例外的に使えないのでし。
384374:04/01/28 17:21
> >>378氏のLookupDispatchActionも良いのですが、
> <html:submit>のpropertyを利用する場合だけは
> 例外的に使えないのでし。

ウソでした・・。
getKeyMethodMap()を使ったら無事に解決しました。
DispatchActionと勘違いしてますた。
スマセン(´・ω・`)
>>374
<html:submit property="submit" value="submit" />
で値が入らない貝?
386385:04/01/30 11:37
ごめん解決済みか。
いつのレス見て書き込んでるやら>自分
387_:04/01/30 16:47
Tomcat+StrutsでJAASで認証をやった人いる?
>>387
つい先週、そんなシステムを納品しますた。
色々大変だたーよ。
389  :04/01/31 09:37
>>388
詳細キボンヌ
契約上、詳しいことはかけません。
技術ソースは、海外サイトにある、とだけ言っておきます。
391デフォルトの名無しさん:04/01/31 15:54
Strutsの何がダメって、フォーム / オブジェクト というムリヤリな抽象化
するセンスがヘン。

フォームへの値の展開はもっと分かりやすいテンプレートライブラリ
を使えばいいし(スクリプト言語はここらへんが発展している。文字列操作がやりやすいからだと思う)
リクエストの取得は(リクエストなんてどんなもんが送られてくるか分からないんだから)
そのまま扱えばいい。
 まあがんがれ。
393デフォルトの名無しさん:04/01/31 17:14
>>391
僕は >>391 とはまったく正反対な見解を持っているよ。
Action や ActionForm は、存在自体は必須だと考えている。
ただし Servlet などとは分離させたりして、設計が洗練されて欲しい。


システムをレイヤーに分割するのが、設計の基本。
そのなかでWeb層に特化してフレームワークをこしらえたのが Struts。

レイヤーは常にプロセッサのトポロジーで、「IPO(Input-Process-Output)」モデルに従う。
 Input は ActionForm。
 Process は Action。
 Output は Viewコンポーネント(JSP など)。

レイヤーと他レイヤーの間のインタフェースはしっかり設計するべきだが、
その洗練がちょっと足りない感じ。

でも無いよりは1000億万倍マシで、ありがたく使ってます。オープンソースマンセー。
394デフォルトの名無しさん:04/01/31 19:41
Javaのフレームワークに詳しい方、
これを落として、まともなものか糞か判断して頂けませんか?
ttp://www.geocities.jp/harumanx2000/pasta/
webprogにスレ立ってます
【Java】Cascading Logic Sheet
http://pc2.2ch.net/test/read.cgi/php/1075470288/
面白い。試す価値はある。ただ少し重いかもしれない
PullとPushの両方サポートしているってのはおもしろいかも。

他のフレームワークとの相違を表にまとめて
Pastaの位置付けについて明確にしたり、
あとはPetShopをサンプルアプリケーションでつくってみるとか。
>>395
JMeterで測ってみたら10クライアント同時アクセスで
スループット780/minだったのでスピードは問題なさそうです。
>>396
ありがとうございます。
SunのEJBのサンプルみたいなの試しに作ってみます。

では、webprog板に戻ります。スレ汚し失礼しました。
>>391
んなこといったらJSFの立場はどうなる。
399デフォルトの名無しさん:04/02/04 15:28
Struts でページ遷移を記録しておいて、任意の過去のページへ移動させるのに
いい方法はありませんか?
400358:04/02/04 21:11
>>399
ActionForwardを返す前に、session属性にスタックしてみては。
401399:04/02/04 21:59
>>400
session属性には何をスタックしておけばいいのでしょうか?

html:link にくつけるpropertyの値とかでいいでしょうか。
>>401
ふつーにフォワード先でいいだろ。
403初心者:04/02/06 19:48
Actionクラスの作成単位って機能単位が良いですか?
機能単位ってのは例えば、商品というものに対して
検索・登録・変更・削除を行うという意味です。
この場合は、綿密な設計作業が必要になりますね。

商品や顧客情報など一つの画面に複数の物象があり
それらをいっぺんに登録する場合はどう設計するか悩みます。

画面単位という意見もあるもので。
この場合、一つの画面の全ボタンを一つのActionが対応します。
手っ取りばやい気がします。

機能単位の場合は同一の画面に別機能のボタンがある場合、
LookupDispatchActionを使いまくりですね?

その他、Actionクラスの作成単位で良い方法があれば
ご教授よろ。
404初心者:04/02/06 19:53
も一つ。
ActionFormってどこまで使いまわします?
Actionで値抜いたら終わり?
ActionでActionFormからER図とかで設計したModelクラス(JavaBean)に
わざわざ値をつめ直すような人いるかな?

ActionFormはあくまでも画面(View)なのでBLまで
ひっぱりたくない人もいるはず。
405俺もStruts初心者:04/02/06 21:01
>403
画面単位が前提ってことは無いんじゃないかな。
(実際には、1画面に対してActionクラスが1というのが多いだろうけど)
Actionクラスとしての決定的な単位は、フォーム単位だよね。
画面設計がちゃんとしてれば、理想的な、「フォーム≒機能単位」になるかと。
そうなると、要求定義の段階でSEが実現可能にまとめたかどうかに行き着く。
ということで、おまえのせいだこの野郎!S木!
>405 理想的な、「フォーム≒機能単位」
訂正: 「機能≒フォーム=Actionクラス」

まあ、あくまで俺の理想なんで、他の人とか一般的には違うかも。
>>404
俺のとこではDAOでActionFormは使わないよ。
ActionでActionFormからModelに詰めてる。
日時データは変換必要だし、
ActionFormは複数のテーブルに跨ってる事もあるんで。

詰めなおしメソッドは、テーブル定義書から
perlで自動生成してるので手間はなし。
408初心者:04/02/06 22:03
1画面に<form action=XXX></form>が複数出現する場合、
どれか一つのPOSTでは他のFormの項目はPOSTされないため、
処理後に自画面に戻った場合は他のFormの項目が消えそうな気がするんですが
どうなんでしょう?

というより、Actionクラスをビジネスロジックを呼び出す
ヘルパクラスとすれば、Actionがどんな単位であってもビジネスロジックは
再利用されるから、さほど悪影響はないのかな???

ビジネスロジッククラスが機能単位であれば
1画面 = 1Action = 1Form でいいのか… よくわからん…
409初心者:04/02/06 22:10
DAOってのは詳しくわかりませんが、
テーブル単位にモデル(Bean)があるイメージですよね。
なるほど詰めなおしもありですか。参考になります。

ちょっと話はそれますが、DAOの場合複数のテーブルにまたがる
処理、SQLはどこに記述してますか?
>>407

> perlで自動生成

く、くだらなさすぎる・・・
411デフォルトの名無しさん:04/02/06 23:35
ORマッピングツールかなんかつかってんの?
ASP.NETとJ2EEの使い分けはどうなるのでしょう?
Web Matrixを触ってみて、もうJavaを使う理由がなくなりました。
使う理由があるとすれば政治的理由だけでしょう。
Web Matrixはコードビハインドができないと聞いているが…
JavaでいうとJSPオンリーで作るようなもの?
>>413
その Web Metrix は設定を変えても再起動しなくいい OS 上でも動くのか?
Strutsをプログラム初心者でもわかるように解説してくれてるサイトありますか?
418デフォルトの名無しさん:04/02/07 23:04
むずいじゃん
>419
「日本語で」Strutsをプログラム初心者でもわかるように
解説してくれてるサイトありますか?
>420
ttp://www.jajakarta.org/struts/struts1.0/ja/target/documentation/userGuide/index.html
一つ前のバージョンだが。1.1は鋭意翻訳中だ(俺以外の誰かが)
>421
これを最初に読んだ時、excite翻訳をそのまま載せてるのかと思ったぞw
もっと上手い翻訳はできないのかな。。。
そりゃ英文読むよりはずっと分かりやすいけどさ。
文句だけは一人前だな
>>422
じゃあ、おまいがjajakrtaに参加して率先して校正作業してくれや。
参加方法もWebサイトに書いてある。要はMLに入るだけ。簡単。
文句つけるぐらいなら自分で動け。
・・・中の人より
>>422
excite翻訳して手直ししてるだけなんだからしょーがない。
>425
excite翻訳も結構進歩してるね。
技術系文書なら、少しの手直しで使えるレベルまでになってる。
427デフォルトの名無しさん:04/02/08 21:46
>>400
ちょっと話が違うかもしれないけど、何処から遷移してきたのかを
環境変数から取ろうと思ったんだけど、request.getHeaderには無かった。
HTTPのヘッダから取り出すと思ってるんだが、そもそも間違ってる?
>>428
request.getHeader("Referer")でとれない?
asp.netも勉強しとくかなぁ。。。
最近J2EE案件減り気味で。
431428:04/02/10 08:42
>>429
ちょっと会社でやってみるね。
getHeaderNamesだでenumを回してみたけど、Refererは無かった
んだよね。

>>430
そんな難しくないと思いますよ。JSFみたいな感じかな。
JSFが流行るとすると、Strutsはあまり目立たない所で使われる
ようになるんですかね。
>431
>JSFみたいな感じかな。

それって逆じゃん・・・
「MacのGUIってどう?」
「Windowsみたいな感じかな、」

>>431
Referer は無理だろ。ブラウザのバージョンや、フレームセットの有無、
URL によって返さない場合がある。ブラウザ依存。
Referer によるセキュリティホールの件もあるしな。

入ってるときだけでも取れればいいんだったら使える。
>>428-429 >>431
"Referer"じゃなく、"referer"ではどうよ?

まあ、>>433の言うとおりではあるのだが・・・。
435 :04/02/12 11:44
Struts で JDBCRealmによるフォームベース認証はどうやればいいのですか?

また、Actionの中でユーザーのroleを設定したりすることは可能でしょうか?>
>>435
JDBCRealmによるフォームベース認証を勉強してから出直せ
Strutsとは関係ないことぐらいわかるだろう
>>436
StrutsでJDBCRealmによるフォームベース認証をどうやるか聞いてるんだよ。
質問を読minaosite
出直せ。

>>435
struts-config.xml のactionのroles属性で、指定できる。
>>437
で、おまいは罵倒するだけで答えられないのか?>プ
DB側でDate属性である項目をview側で表示・入力させるにあたり、
Date←→Stringの変換ってどこでやってます?

controlerでやると処理が「散らばり」そうなので、なんとなく
model(っつーかBusiness-Delegate)側でやってるんですが、
皆さんとこではどうですか?
>>439
<fmt:formatDate>
441 :04/02/12 16:48
>>438
罵倒だけしているのは>>436>>438だけなわけだが。
>>440
JSTLですか。なるほど。
最近までTomcat3ベースで開発してたんで、盲点になってました。
(マジで)

<fmt:formatDate>で整形するということはdtoにはDateで入ってきてるわけで、
String→DateはAction(controler)でやるってことですね?
>>442
俺はデータクラス(Model)ではCalendarインスタンスで持ってて、それをそのまま渡す感じ。
JSPでは
<fmt:formatDate value="${cal.time}" pattern="yyyy/MM/dd" />
みたいになるかな。
444デフォルトの名無しさん:04/02/18 16:01
ちょっと教えてください。
Actionからビジネスロジックを呼び出すときって
requestオブジェクトとかも渡す方が良いですか?
sessionへのset,getはどこでやるのがよいですか?
445デフォルトの名無しさん:04/02/18 16:11
>>444
ビジネスロジックのオブジェクトが、リクエストをそのまま受けるってのは、
ビジネスロジックの設計という意味では如何な物かと思うけど。

コントロールの部分がきちんと分解してビジネスロジックに渡すべきではないか?

そうしないと、ビジネスロジックが電文形式を知らなければならないということになると思う。
446デフォルトの名無しさん:04/02/18 18:11
>>416
Strutsのメリットを書いた日本語なんてないよ。なぜならStrutsにはメリットがないから。
447 :04/02/18 20:22
Strutsで、戻るボタンで戻るのを防ぐにはどうすればいいですか?
>>444
ビジネスロジックというのは、Strutsを使うのをやめて他のにしたとして、場合によったらWebすらやめて別の方法をとるとして、それでもまったくそのまま使えるようにしとくもんじゃないのかな。
>>444
request渡しちゃうと、ビジネスロジックのクラスがjavax.servletパッケージと居着いてしまうのが
生理的にやだなー。たいしたことじゃないけど。
>>447
Servletで、戻るボタンで戻るのを防ぐ方法は知ってるの?
451444:04/02/18 23:16
ということは、Actionで事前にセッションの情報を取得してそれをBLに渡す。
Sessionにセットする場合も、ActionでBLの戻り値を
受け取ってActionでセットすることが良いわけですね。
452444:04/02/18 23:30
連続で申し訳ないですが…
そんじゃ、同じ理由で
同様にBLクラスにActionFormやデータベースアクセスコードも排除した方が良い?
1.ActionFormはモデルクラスにつめ直す。(たとえ同じアクセッサであろうが)
2.JDBCのコード云々は別クラスで行う。BLからはデータアクセスクラスをnewしてメソッドを呼ぶ。
 (データアクセスクラスはテーブル単位に作成する?)
でOK?
モデルの設計とかってみんなやってるんでしょうかねー?
ActionFormは画面単位だけど、モデルは機能単位のまとまりですよね。
設計に手間がかかるんだなー。
StrutsってUnit Testやりづらくねー?
Dependency Injectionパターンのフレームワークのほうがいいと思うけどなー。
>>453
素直にIoCでいいだろ。
>>450
スレと全然関係ないが、戻るボタンを完全に防ぐ方法思いついた。
画面遷移の度に新規ウインドウOpen→元ウインドウCloseやりゃいいよな。
 
 
 
 
半分寝ぼけているのでツッコミ不要。
>>452
ActionFormの項目とビジネスロジックに渡すメッセージの内容が同じなら
別にする必要はないと思う。
(画面設計とデータ設計が同じ括りになってるってことだな。)

JDBCに関しては規模によるし、Torqueとか使うかによると思うけど。
RDB-Classのマッピングはそれだけでスレがあるから参考にしてみては?
この板をJavaとRDBで検索。
457447:04/02/19 12:56
>>450
サーブレットは基本程度しか知りません。

java->jsp・サーブレットをちょっと->Strutsという流れできましたので。
>>452
ビジネスロジッククラスの実装を始める前にテストケースを
作成するようにすれば、自然と他クラスへの依存度が低い実装になると思う。

俺だったら、アクションクラス内でActionFormを元にモデル生成&DAO
インスタンス取得を行うようにして、最後にビジネスロジックにそれらの
モデルとDAOを渡してGo!だな。
>>450
必ずいるな。お前みたいなやつ。
>>444
ActionFormを渡すのはやめた方がよいと思う。
パラメータとして渡すだけでいいときもあるから、必ずしも
Beanにして受け渡さなくてもいいのじゃないか。
461444:04/02/20 00:16
みなさん回答Thanksです。
BLにActionFormを渡したくないのは
・BLを画面(View)と関連づけしたくない
・BLにStrutsを入れたくない
があるけど、後者の場合ActionErrorsとかもBLに入れないのでしょうか?
>>448 さんの意見ならそうですよね。

あと、DAOって詳しくわかってないのですが、デザインパターンのことですか?
私はテーブル単位にクラスを作成し、フィールドのアクセッサがあって、
データソースの取得からSQLの発行を行うものと勝手に思っているのですが…
>>458 さんの「DAOインスタンス取得を行うようにしてBLにDAOを渡してGo」を
詳しく解説希望です。DAOについてのサンプルPGってどこかにないですかね。
>>461
まあ、全部が全部有用なわけじゃないけど。
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
463399:04/02/20 00:54
>>461
ビジネスロジックからのExceptionをActionErrorsに詰めればOK。
>>461
DAO は、モデルクラスからデータベースアクセスを分離するもの。

たとえばドメインモデルクラスUserがあるとする。
おそらくいくつかのプロパティをもっているだろうが、とりあえず置いておく。

User オブジェクトをuserIdから見つけたり、新規に insert したりする必要がある。
これはモデルクラスが担当する(ex.1)か、モデルクラスのライフサイクルクラスが担当する(ex.2)。

ex.1
class User {
 static User find(String userId);
 static void insert(User user);
}

ex.2
class UserRepository {
User find(String userId);
void insert(User user);
}


さて、ユーザーの情報は時と場合によって様々なストレージから取得することになる。
DBMSを用意できていないプロジェクト初期にはフラットファイルやXMLファイルかもしれない。
RDBを使うとしても、開発時と実行時でDBMSが異なるかもしれない。

「どこから取得するか」は、ドメインモデルには関係ない。
だから、DAOクラスにデータアクセスを集約することでモデルクラスの再利用性を高めるのです。
465444:04/02/20 01:54
>>462 >>463 >>464 thnksです。
ちょっと調べましたので、464さんの言われたことは納得です。
ただこの場合DAOのクラス(class User)というのはモデル毎に作成する
ということでしょうか?必ずしもモデルクラスとDBのテーブルが
1対1で対応しているとは限らないと思いますが。

DAOのサンプルPGMは以下がそうですね。一番下のauctionです。
データソースの取得とかActionからDAOの呼び出しが複雑すぎて…
ttp://www-6.ibm.com/jp/software/websphere/developer/download/wasstx.html

再利用性、メンテナンス性などとそれにかけるJava周りの知識習得の学習コストでいろいろ葛藤してます。
スレ違いすみません。
466デフォルトの名無しさん:04/02/20 10:26
Action.execute()でActionForwardを返しますが、その時別な
サーバーのURL(例えば'http://2ch.net')を指定したいときは
どうするのですか?
return new ActionForward("http://2ch.net");
じゃだめでした。
467デフォルトの名無しさん:04/02/20 10:41
>>466
ActionForward#setPath
request#sendRedirect して return null;
間違えた。
s/request/response/
470466:04/02/20 11:21
できました。ありがとう。 > response#sendRedirect - return null;

ActionForwardに固執する必要なかったんですね
>>459
オマエモナー

>>447
君の言っている「戻るボタン」がIEの「戻る」ボタンなどのことだったら、ボタンの動作は(たぶん)キャッシュから前画面を表示するだけなので、サーバー側で制御するのは無理ぽ。
IEのソースコードを見たわけではないので、確実にそうかと言われると不安なのだが。
教えてエロイ人!
>>471
ブラウザ、HTTPヘッダのキャッシュの設定によっては戻るボタン操作時に
サーバへリクエストが発生することがある。
ただ、サーバ側ではこれが戻るボタンによるリクエストかどうかは通常は
判定できない。
HttpSession等を使ってページ遷移履歴を管理すれば可能だが恐ろしく面倒だね。
>>472
sessionで管理すりゃ分かるんじゃねえの?
>>447
JavaScriptで history を消そうとしても JavaScript を Off にされたら駄目だし。
その手の問題は、「戻る」を制約するんじゃなくて押されてもよいように設計するべきだよ。
475デフォルトの名無しさん:04/02/21 17:44
Struts利用時のセッション管理って、どんな感じ?
>>475
Struts非利用時と同じ
477デフォルトの名無しさん:04/02/21 18:05
>>476
ヨンクス
478デフォルトの名無しさん:04/02/24 02:08
Actionクラスってボタン毎に1つでOK?
>>478
そんな制約あるのか?マッピング先がいくつあっても問題なかろう。
そこが設計のセンスになると思う。
リクエストのパラメータにフラグ入れられるんだから、
上手いことやると綺麗なActionになる。
結構昔のJAVAWorldに載ってたショッピングカードのサンプルとか参考になるんだけど。
481デフォルトの名無しさん:04/02/24 09:18
>>478-490
DispatchAction、LookupDispatchActionも忘れないで
482デフォルトの名無しさん:04/02/24 09:32
formタグのactionをhttpsにしたいんですが、strutsのhtml:formを使った場合はどのようにすればいいでしょうか?
483四苦八苦:04/02/24 09:58
PCが勝手に再起動してかなり困ってます。状況は、立ち上げるときに2〜5回程度再起動したり、スクリーンセイバー後、ハードディスクを再度読み取る時、無線LANやUSBに何かを挿し込んだ時に発生します。PCは購入して1年半ぐらいです。
一応、対処として04年版のウイルスバスターでスキャンしたところウイルスは発見されませんでした。ブラスター型のウイルスかと思い、タスク マネージャのプロセス覧に、"msblast.exe"等があるか見てみましたがそれも発見できず、Windows Updateも
更新してみました。セイブモードで立ち上げた場合でも再起動します。システムファイルチェックや[ファイル名を指定して実行]に再起動を止める方法の1つとして[shutdown -a]もやってみましたが、変わりはありません。正常に動いていた時のシステム復元もやりました。
何が何だか分かりません!
どんな些細な情報でもやってみますので、誰か助けてください!お願いします。
484四苦八苦:04/02/24 10:09
あ、グーグルで検索したらありました。では!!
485デフォルトの名無しさん:04/02/24 14:18
strutsって<>&"などを、自動でエスケープしてくれてますよね?
でも内部で同じXMLデータを使いまわしてると

&amp;amp;

って延々と増えていってしまうのですが。。。
strutsの問題じゃないのかな?
486デフォルトの名無しさん:04/02/24 15:11
>>480
綺麗なActionってのは、結果的にどういう単位になってるの?
>>481DispatchAction、LookupDispatchAction
ここから更にボタン単位のActionに飛ばすということが、Jakarta攻略2なる
本に載ってたような。

結局どういう単位がいいのかわからん。
画面単位って固定すると、同じ機能を持ったボタンが複数画面に点在する場合は
どうしようとか…
>>486
じゃばわーるどの2002・05あたりを読めたら嫁。
典型的なショッピングサイトのサンプルでとりあえず一式は載ってるから。
488デフォルトの名無しさん:04/02/25 22:18
>>487

あのじゃばわーるどの本でもそうだけど、Strutsで何がどう開発効率よくなるのかよくわからん
489デフォルトの名無しさん:04/02/25 22:21
struts-config.xmlで管理する方法が、
どうにも美しくない。
Token使えよ。
491デフォルトの名無しさん:04/02/25 22:49
ほっといても Struts は JSF に食われる運命。
JSF は Struts に一緒に使えるとかいうのは無理矢理であってツギハギになるだけ。
で、その JSF は Struts と異なり仕様であるため各開発ベンダの実装が必要で
IBM、Sun、BEA、Oracle にとって金になるから必死で宣伝している。
ベンダにくっついてるライタの記事も JSF マンセー。

形だけの Struts や、ベンダ金もうけ専用 JSF はやめて
開発効率が高く、直感的、JSF より優れたデザイン分離の Tapestry にしとけ。
492デフォルトの名無しさん:04/02/26 00:20
>>491

大方同意だが、Tapestryってのもこれはこれで、くだらなさそう。
Javaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは
WebWork ボソ
Spring ボソ
494 :04/02/26 01:19
Tapestry、jakarta徹底攻略2のチュートリアルが動かないから見捨てたよ(w


>>482
ssl-extension Struts でぐぐってー。

Seaser ボソ
495デフォルトの名無しさん:04/02/26 01:21
>>493

ネットで調べた。激しくワロタヨ。
白雉なのか知障なのか、よくもまぁそんなくだらないもの作りつづけられるよね。
>>495
システムの開発工程を俯瞰できない視野狭窄馬鹿特有の感想です。
497一ユーザ:04/02/26 02:30
スキル向上も結構だが、
ユーザが求めてる、使いやすいシステムを作ってくれ。

エンジニア自己満足なシステムに萎え萎え。
スレズレスマソ
>>497
>ユーザが求めてる、使いやすいシステム
だったら、これが何なのかはっきりさせろよ。

ソフトウェアは魔法の杖じゃねーよ。

>>492
>Javaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは

プロの方とお見受けしました
するとweb系アプリの開発言語はなにが適しているんですか?
Webアプリの開発言語?
んなもん、PerlかPHPに決まってんだろ。
コンパイル言語使ってる時点で終わってんだよ。
馬鹿も休み休み言え。
笑うとこですか?
Webアプリ=掲示板と思っている厨房が粋がるスレはここですか?
>>502
ショッピングカートだよ。
セッションなんかも使っちゃうんだよ。
Webアプリ=解析機能付きアクセスカウンター
Webアプリ = メール送信フォーム
506デフォルトの名無しさん:04/02/26 21:33
Struts1.1 の環境で、 struts-config.xml に自作の <controller> を指定し
て、<set-property> で プロパティに値を設定しようと思ったのですが、起動
時に struts-config.xmlを読み込むところでエラーが出ます。
# Digester 内で ControllerConfig#hogehoge に設定しようとしてエラーと
# なります。

ソースを追った所 ControllerConfig に properties 等も無く、また ConfigR
uleSet での Digester のルール記述にも controller/set-property の記述が
見られませんでした。

struts-config_1_1.dtd では controller に set-property を指定出来るよう
に書かれていますが、設定できないのはバグなんでしょうか?


struts-config.xml:
 <controller processorClass="MyRequestProcessor">
  <set-property property="hogehoge" value="hogeValue"/>
 </controller>

エラー:
 [ERROR] Digester - -Begin event threw exception <java.lang.NoSuchMet
 hodException〜省略〜
507デフォルトの名無しさん:04/02/26 22:45
Jakarta Velocity 最強

<input
 type="text" name="usrId"
 value="$Escape->getText($bean->UserId)"
/>
>>506
public class MyControllerConfig extends ControllerConfig {
 public String getHogehoge();
 public void setHogehoge(String);
}
を作って、

<controller className="MyControllerConfig" processorClass="MyRequestProcessor">
 <set-property property="hogehoge" value="hogeValue"/>
</controller>

じゃね?
試してないけど。
Eclipse用のStrutsプラギュイーンで、フリーでオススメってなんですか?
510一ユーザ:04/02/27 01:21
自作
公開しる
512デフォルトの名無しさん:04/02/27 09:22
>>507
Velocityって微妙じゃねぇ?
taglibとか使えなくなるし。
といっても便利機能はfmtとJakartaのstringくらいか。
struts( ´∀`)つ ミ
ベロは、あれだな、汎用テンプレートエンジンっていう側面があるから、
Webアプリに適用した場合に、美しくない。
特にデザイナと一緒に作業するときはサイアクだ。
これはStrutsにも言えることだけど。
デザイナーとのコラボがあるなら、断然タペだな。
515506:04/02/27 14:21
>>508
おぉ、こんな方法が・・・
ご指摘頂いた方法で値を渡すことが出来ました〜
ありがとうございます。 m(_ _)m

MyRequestProcessor で MyControllerConfig に設定された値を取り出すのは、
こんな感じですね。
 ((MyControllerConfig)
   this.moduleConfig.getControllerConfig()).getHogehoge();
516デフォルトの名無しさん:04/02/27 14:32
>>514
タペのタの字も知らない位うぶな俺に、詳細な説明(できればStrutsの比較付き)でタペのすばらしさを教えてくれ。
>>516
「Jatartaプロジェクト徹底攻略2」買うか、タペ開発者が作ったプレゼンパワポファイル見れ。

一番解りやすいのは、Struts用に作ったテンプレ(jsp)ファイルをブラウザで見たときと、
タペ用に作ったテンプレファイルをブラウザで見たときの見栄え。
タペ用だと、まんま完成に近い状態でのUIを見ることができる。
デザイナに渡すときは、これが意外に重要。
518デフォルトの名無しさん:04/02/27 15:08
>>517
>タペ用だと、まんま完成に近い状態でのUIを見ることができる。

ベロでも似た様なこと言ってたが、これって本当?
ぶっちゃけ、ちょっとしたことしようとすると、いきなりデザイン崩れたりしないか?
もしくは、ちょっとしたことができないとかない?

俺はJSPで他の共通部分読み込んだりしてるんで、デザインとかあきらめ気味なんだが。
>>518
試しに使ってみたら?
自分の目で確認するのが一番早い。
だいたい、JSPにロジック入ったりするってのは、全然MVC分離になってない。
520デフォルトの名無しさん:04/02/27 15:29
>>519
ロジックかどうかは微妙だが、taglibだとカレンダークラスのフォーマット、改行をbrタグへ置換とかできるのよ。
こういうのをわざわざコントローラーやモデルでやるのはどうかと思うわけよ。
それに、共通部分の読み込みとかしないと、わざわざ同じことを何回もやらなきゃならないわけよ。
変更なんてあったらしゃれにならんし。

タペは一度使ってみるが、たとえ良くても個人的に使うぐらいだろうなぁ。
521デフォルトの名無しさん:04/02/27 17:51
StrutsでMySQLから検索して表示したレコードの横にチェックボックスを作り
チェックしたレコードだけ削除するってやり方が載ってる本って
ありますか?マスタリングJakartaStrutsだとリンクを使っている
みたいなのですが、チェックボックスでやりたいです。
チェックボックスの使い方も書いてない参考書は無いと思うが・・・
<html:form>内で <html:checkbox / multibox> を使うとチェックボックスが出るので
パラメータの受け方が違うから、好きな方を使えばよい・・・ ってこいいう次元のハナシじゃ無いのか。
どの程度のレベルで質問してるのかワカランので、外してたらスマン。

DBから受けたデータ + チェックボックスのboolean を格納するクラスDBRecord(仮名)を作り、
表示したいActionFormで、private List dbRecords = new ArrayList(); なり、配列なりで
フィールドとして持っておく。 そして setter getter を実装。
宣言時に = null にしておくと、BeanUtils.populate()が例外を吐くのでやってはいけない。

<html:checkbox>でチェックボックス表示。 reset() で最初に全てtrue/falseで初期化するのに注意。

フォームからsubmitされ処理を受けたActionで、formからgetDbRecords()なりで取得し
チェックボックスのbooleanがtrueだったものを削除処理、で良いのでは。
>>521
つーかリンクを使って出来るならチェックボックスも使えるはずだろ
524521:04/02/29 00:54
>>522
>>523
レスサンクス
Strutsで使えるTagLib?で、
 ・ページ切り替えができる一覧表示機能
 ・ページ内で、各項目を選択するためのチェックボックス付き
 ・ページ切り替えしても、チェックした内容が保存されてる
っていうものあります?
>>525
taglib を組み合わせろ。
できる
>>>525
Strutsベースではないが、こんなのもある。

ttp://displaytag.sourceforge.net/
528デフォルトの名無しさん:04/02/29 11:46
>>500

Perl か PHP 理想からは遠いけど、Javaよりは何倍もマシだと思うよ。
Javaは面倒な手続きが多すぎる。複雑。遅い。文字列処理弱い。どうにもならない。
(Javaはクライアントサイドじゃいいソフト多いんだけどねぇ。)

サーバサイドは適当なスクリプト言語使うのがいいんでないかな。
529デフォルトの名無しさん:04/02/29 12:10
スクリプト言語でもフレームワークを使っては意味が無い
スクリプト言語界でも俺様フレームワークは沢山あるからね

プロジェクト毎に、必要に応じて、必要なものだけ、自前でシンプルに作るのが一番だと思うよ
リクエストを直で扱うだけで十分な場合も多いし
>>527
情報クスコ。チェックボックス連動機能は無いのかな?
でも便利そうだね。ありがとう。
んじゃ漏れも手持ちのネタを。
http://jsptree.sourceforge.net/
これもStrutsじゃないけど、ツリーが手軽に表現できそう。
>528, 529
あえてマジレスしちゃうと、チームとしてプロジェクトを完遂させようとなると、
誰もがプログラミングの技術が高いわけじゃあないので期待できないのよ。

んで、詳細設計がおわってさーコード書くぞとなったときに、
ビジネスロジックを書くのに慣れたPGに、さー書いてちょうだいと言うだけ。
表と裏はもうできてるのを与えて、そのI/Fだけ教えて。
フレームワークを発明して実装してる時間も金も人材もない。

Strutsを導入することのメリットは、外注さんの面接のとき
「フレームワークとしてStrutsを利用します」「Strutsならわかります」
と、言葉が通じること(たぶん意味も)。腐ってもデファクトスタンダードみたいな。
ん?俺いま言った「腐ってもデファクトスタンダード」って名言じゃない?
賞味期限が短いからすぐ腐る。
> プロジェクト毎に、必要に応じて、必要なものだけ、自前でシンプルに作るのが一番だと思うよ
> リクエストを直で扱うだけで十分な場合も多いし

車輪の再発明って言葉しってるか?毎回毎回「似てるけど違うもの」を考えるのか?
おまいが一人でアプリ作成し、未来永劫おまいがメンテを続けるのならそれもよし。
しかし普通は毎回毎回おまいのオリジナル実装を理解するのに時間かけるよりも、
「腐ってもデファクトスタンダード」なStruts覚えるのに時間かけた方がお得だわな。
マジレスすると、PHPなんかのスクリプト言語は、Webの「フロントだけ」を作るなら
簡単だし工数少なくてすむケースが多いから、Javaで全部組み上げるよりも
メリットが多いことも結構ある。
ただ、PHPとかでバックエンド側まで作り込むと、破綻に近いことになるケースが多い気がする。
特にDBとのやりとりとかで、トランザクションとか考慮しないタコイカ実装が散見されるし。
>>535
それは本当か? 例えば J2EE 設計に十分な知識と経験がある香具師が
PHP とかでモデリングやトランザクションを綿密に設計しても破錠しやすいのか?
本質は言語の問題ではなくてアーキテクトの問題ではないのか?

言語により、型安全であることやコンパイル系であれば文法チェックなどの
差はあるのは認める。
PHPやPerlって、J2EEパターン適用できるの?
オブジェクト指向っぽくなってきたとは聞くけど。
継承やインタフェース実装による多態とかができれば
>>536の理屈は通るけど。

あとはEJBコンテナと同等機能を自前で実装することを
考えるとぞっとするのだが、PHPで大規模システムを組む人は
自力でやっているのだろうか・・・・?
Strutsの話しようぜ
PHPやPerlで、Strutsもどきのものってどこまで作れるんだろ?
PerlでJavaのコンパイラやVMを実装しる。
Rubyで実装したJavaVMなんてのがあったYO!
http://www.namikilab.tuat.ac.jp/~sasada/prog/rava.html
542デフォルトの名無しさん:04/03/01 22:32
おまいらストラッツ、ストラッチ言ってる場合じゃないですよ。
海外で少し前から Struts 離れが進んでたけど、フレームワーク開発者が
IoCコンテナの衝撃を受けて急激に方向転換してますよ。

Tapestry(HiveMind)、Seasar、WebWork2(XWork)、Spring が
IoCコンテナに傾倒しています。IoC とは Inversion of Control 、
制御の逆転です。Spring のオサーンが独りで騒いでると思ったら
波及してしまったようです。

Apache Avalon メンバの間でも話題になってるようだす。
>>542
IoCに関するほどよい情報源、キボンヌ
>>542
何をいまさら。
Strutsだって、制御の逆転だろ。
それに、Seasarは海外じゃないし。
それから、Picoもよろしこ。
HibernateはSpringのIoCコンテナをサポート。
IoCは、むかしからHollywoodといわれてたんだが。
もっと有名な言葉でいえば framework 。
548542:04/03/02 05:23
こんな時間に起きてしまった。。。

>>547
それはうすうす感じてた。制御の逆転? フレームワークじゃねーか? と。
で、知ってたら教えて欲しいんだけど、なぜ今 Pico や Spring、HiveMind が
IoC を謳って出てきたの?

これらって結合度が異常に低いので既存フレームワークのあらゆるレイヤに
使えるよね。ORマッパーと組み合わせたり。そのへんが今までのフレーム
ワークと一線を画していると思ってるんだけど違う?
フレームワークとライブラリ(API)の中間に位置するって感じ?
>>548
IoCコンテナ自体は、ロッド・ジョンソンが前からいってるから、
今になって急に出てきたものじゃない。
単に汎用的なコンポーネントの構成ツールだったんだけど、
AOPと組み合わせることによって、EJBなみのリッチなサービスを
POJOに対して適用できることが分かってきたので、
一挙にスポットがあたったんでしょ。

サーブレットさえ動けばなんとでもなるし、
サーブレットがなくてもロジックのテストはできるしね。

Springが老舗だけどMVCの部分はあまり使われていないようだ。
StrutsでSpringを使うためのプラグインもあるらしい。
http://struts.sourceforge.net/struts-spring/
フレームワークなど、最新のものを追うもんじゃないよ。
枯れて、実績が出てからで十分。
>>551
実業務に使うのはそう思う。でも技術者が「最新技術を追う」っていうのは
無駄っていうこと?

またフレームワークってほどおおげさじゃなくてもいいと思う。
例えばここにあるメソッド開始、終了のロギングサンプル。
ttp://javatapestry.blogspot.com/

Spring のデバッグインターセプターと
HiveMind のロギングインターセプターの比較。
>>550
既に Struts のプラグインがあるんだね。
サンプルでは Action 生成時に必要なインスタンスがセットされる
ようになってるね。なんとなく開発環境と本番環境とかで設定変えるとかに
便利な気がしないでもない。
>>551
印度人にやられますよ
>>554
お前からして、すでに遅れてる。
今は中国人。
WebObjects万歳
画面Aから、社員コードを検索するダイアログDを開いて、複数項目を選択し
また画面Aに戻して画面更新。
ダイアログDは、別の入力画面Bからも呼ばれ、画面Bに選択結果を戻す。
ダイアログD2は、顧客コードを検索し、それもまた複数の画面から呼ばれ (繰り返し)・・・・・・

って、入出力アクションが増えstruts-configがどんどん肥大して、しかも非常に醜い。
JSでなんとかするにも、顧客-支店等、複数のコードを返す時、これまたあまりエレガントでない事態に。
キャンセル時、または帰ってきたコードで画面更新する時のvalidate回避など、こいつも
また美しくない事になってしまう。 つーか自分で読んでて嫌になる程面倒。

検索ダイアログの一覧から選択してオブジェクトを帰す処理って、struts的には
どんな方法がモアベターなんでしょうかねぇ・・・
Struts やめる。
559557:04/03/02 23:40
やっぱ面倒だけどここだけservletで動かすか、Tapestryでも調べてみるかなぁ・・・
Tiles 使えば、普通に論理的画面と物理的画面を分けられる。
複数の論理的画面が単一の物理的画面を持つようにすればいいじゃん。
このスレだって、よく見てみるとIoCへ少しずつシフトしてるじゃん。
562 :04/03/03 00:06
IoCはまだリサーチ段階かな。
実プロジェクトにはまだまだ使えない。

もし使うとして、PG教育コストに対するメリットありますか?IoCは
IoCは、とにかくUnitTestが書きやすい。
FowlerはService LocatorパターンでもUnitTest書けるぞって言ってるけど、
ちょっとめんどくさい。

StrutsのActionは, HTTPに依存しているからUnitTestしにくい。
cactus持ち出すのはなるべく避けたい。
>>557
Struts1.1使ってるんなら、SubApplication使って、struts-config.xmlを
分割管理しる
>>562
教育コストはかなり低いだろ。
POJO使うんだから。
コンポーネントの管理の仕方が統一されるから、
これまであった余分なオーバーヘッドが
すくなくなる(はず)。

コンポーネントのライフサイクルもコンテナが
管理するから、無意味にオブジェクトをnewしまくる
ようなことも、メモリリークも減るはず。
まあ、そもそもで画面遷移・連携が多いアプリはWebでは大変だよな。
この辺は後発の.netのWindowsFormの方が良いと思える。
まあStrutsの話題でもないか。
Tapestry には画面遷移を管理する機能はない。不要だから。
まあStrutsの話題でもないか。
>>567

自分で管理しなきゃだめなんじゃん。
フレームワークとかいっても余計な方言覚えなきゃならないだけで
得なことがないんだよ
自前でやることを考えて行ってるのか?
>>568
フレームワーク使ってないの? Servlet もフレームワークだけど。
あ、いちからソケットで書いてるのか。納得。
struts-config.xmlが肥大化するほうが鬱なわけだが。
SubApplication使うと醜くなるしな。
SubApplicationって、βのころの呼び方だね。
今はモジュールの分割という。
でも、モジュールの分割しなくても(SubApplication使わなくても)
configファイルを分割して使えるのは知ってるよね?
シラネ
>>572
でも構文汚いよ。後付けだからしゃーないけど。
>>574
???具体的にどこが汚い?
モジュール分割するほうがよっぽど汚くない?
576デフォルトの名無しさん:04/03/05 20:19
>>570
Javaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは
>576
だからPHPでもRubyでも何でもいいから好きなのでやれ。
ここで語るのは、Javaじゃなきゃできないような大規模な案件やる奴だけでいい。
大規模案件はJavaじゃなきゃできないと思いこんでるオメデターがいるスレは、ここですね。
>>577
相手にするな。
「Pro Jakarta Struts」
ttp://www.amazon.co.jp/exec/obidos/ASIN/159059228X/

ずうっと前に注文したのを忘れていたのが今頃届いた。
もうStrutsに対する興味が薄れてきていて読むのがつらい。

いい本なんだけどねえ。
>>577
勝手に Java を大規模専用にするな。藻前はあれか?
大規模やってたら自分がえらくなったと錯覚するクチか?
大規模の末端で設計・製造したくらいでいい気になってるに 256 ジャバ。
p2並みのウェブアプリは大規模?
p2 ってなんだ?
大規模の明確な定義は無いと思うけど("大きい"の明確な定義がないように)
なんとなく 5000 人月超えるくらいになるとまず大規模だと思うなー。
Strutsのリファレンス系書籍でいいのない?
5000人月なんてきいたこともない
586583:04/03/06 12:20
>>585
そうなんか? 俺が少し噛んだ電力会社の基幹システムが Java だったけど
1 万人月超えてたぞ。 UFJ 銀行の J2EE とかは数万人月だろ。
まー >>585 は世間知らず。小規模しか知らないってこった。
小規模がバカだとは言わないが、自分とこしか知らない無知はだめだな。
大規模っていっても小規模の寄席集めだろ
>>588
なんだそりゃ? なにが言いたい?だから PHP とかで十分ってことか?
大規模は技術的なことより組織制御の難しさが全然違うだろ。
なんだそりゃ
規模が云々とか、進んでるだの遅れてるだの終わってるだの言っておきながら、
開発規模を人月でしか計れないロートル並の脳細胞ですか。
久しぶりに笑かせてもらったよ。
592 :04/03/06 14:17
個人的には数人のプロジェクトで、
1年くらいまったり開発したい・・・
>>591
なんだそりゃ
>592
それはだれしも思うな。実は今俺がそうだが。

でも、数千-数万人月の仕事で、
Strutsとかオープンソースのフレームワークつかったりする?
オープンソースは使ってなかった。
GUI のフレームワークがあったが恐ろしく糞だった。
596 :04/03/06 20:40
>>594
そんなbigプロジェクトで使うものは、
政治的に決まるものさ。
オープンソースなんかありえない。間違いない。
商用フレームワークって、strutsみたいなオープンソースと比べてどうなんだろ?
導入しようにも、結構な値段でクソだと困るしなぁ。 ちょっと使ってみないとワカランし。
TapestryがパクったというWebObjectsは、値段も安く評判がいいので気になっているのだが。
Java 用だと商用フレームワークでも Jakarta プロダクトベースなのが多いけどね。
WebObjects ってまだ開発続いてるの?
数十人月のプロジェクトでも、上がおバカなおかげで
オープンソースなのがはじかれたりする。
でも、商用の高いのは買ってもらえない。
で、自力でオープンソースより格段に信頼性の低い自前フレームワークができる。
ありがち。
>>600
JDK もソースはオープンですよと言ってやれ。
>>600
まあねえ。
フレームワークに相当する部分を別枠にして人月計算してコスト計上すれば
説得させられるのではと思ったりもするけれど。

# 買ってといったら予算は増やせないが、掛け持ちで作業するメンバーは増やせるので
# それでどうにかしろとか言われて鬱なので。
>>601
そーじゃなくて、高いモノ使った方が営業的にいいってことだろ。
>>603
高いものは買ってもらえない。
605 :04/03/07 00:12
まあ営業的に数字あげたいんで。
tomcatよりもWebSphere
MySQLよりもOracle
linuxよりもWindows

特に理由がなければ少しでも数字あげて、見積もる罠
>>605
それって競合他社に負けないの?
ガチな場合限定?
高い物をそろえて、予算を釣り上げるというのはよく行われてるよ。
サポートも付くし。

でもLinuxよりWindowsはないんじゃ。
普通Solarisとかさ。
>>600
Jakartaのプロダクトは総じてクソだから、正しい判断だと思うよ。
>>608
ろくすっぽ満足なテストもされてない自己満足の自社製フレームワークよりは、
よっぽど使えるけどな。
>>608
少なくともアンタのコードよりは品質高いと思うよ。
IBMがコンペに参加すると、
ハードとWebSphereとDB2を原価で出しやがるから、絶対勝てねえ。
>>580
ならもれにくだちい。
Turbine 機能満載だがちょと古い
Tapestry 新進気鋭、オブジェクト指向、イベントドリブン
Struts 糞、情報量だけが唯一の強み、日本ではバカウケ
StrutsはApache Strutsプロジェクト(ApacheのTop Levelプロジェクト)に昇格するかも。
現在投票中。
昇格すると何かあるの?
Antも昇格したよね?
616デフォルトの名無しさん:04/03/07 14:21
>>613
糞の理由が無いが?
617デフォルトの名無しさん:04/03/07 15:23
>>613
糞って言ってみたかっただけちゃうん。
実際 Struts って他のフレームワークに比べて優れているの?
シンプルで情報量が多いだけ?
シンプルでバカでも使えるのは普及に関しては重要な要素。
昔のカメラで言えば、「ボタン押すだけ」と「一眼レフ」みたいな。
大多数の素人にとっては前者で必要十分だし、プロは後者が当たり前。
620デフォルトの名無しさん:04/03/07 16:52
>>619
その例えは適切ではない。
Strutsはシンプルだから他のフレームワークと組み合わせて使う事ができる。
ボタン押すだけで拡張性の無いカメラと一緒にするのはおかしい。

シンプルであることは十分な利点なのでプロでもStrutsを使って開発する場合があります。
621デフォルトの名無しさん:04/03/07 17:50
どんなWebシステムにも最適なフレームワークがあるのか?
Strutsもあるケースには最適となることはあるだろ。
>>619 よ教えてくれ。
プロが使うフレームワークってのを。
大多数の素人 = プロの Web アプリ開発者
プロ = 一部のマニアや物好き

オーディオで言えば音楽は聴いても、普通は高級アンプはいらない。
ラジカセでいい。
そういえばWebSphereにもStruts用ののウィザードがついてたなー。
独り言なのでsage
624デフォルトの名無しさん:04/03/08 20:54
StrutsでEJBは使えるの?
Strutsは、画面遷移を定義して動かすフレームワークなだけに
逆にデメリットになる場合があるんだよなぁ。
不特定のページから呼び出される検索ダイアログ、ログインフォームなんかを
その「不特定」 を完全に定義して 「特定」 しなくちゃならない。 つまり汎用性が無い。

それを汎用性を持たせて仕組みを作るのは、きわめてStruts的でない解決法だと思うんだが
そうしないとやってられん場合も多々ある。 2.0とかでは対策されるのかな。
Strutsの何がどうシンプルなのかわからん。くだらないクラスを作らなきゃならんし、
書式も覚えなきゃいけないし。
>>626
あちこちの画面から呼び出す場合は、どうするの?
>>627
自分の作るものに対して、フレームワークがしっくりこないならそんなものだろ?
フレームワークはあくまで手段・ツールであって、目的ではない。
今となってはStrutsもシンプルじゃないよね。
個人的にはActionとActionFormが分かれてるのが一番うざい。

ActionFormが使い回せて嬉しいプロジェクトって帳票が絡むような
ものだけで、一般的なWebアプリケーションではActionFormの流用
って難しくないかい?
>>630
必ずしも全ての項目を使用しなくていいことと、派生を考えれば流用は可能だが。
ダイナでいいじゃん
>>631
無理に流用すんなよ。
>>630
Tapestry にしる。
>>632
Struts はめんどくさいけど Dyna は問題外。
>>635
どう問題外なの?
>>628
そのあちこちを全て定義するか、Struts的ではない方法で [呼び出し-選択-戻り] を行う。
>>636
文字列指定して get してキャストって美しいか?
コンテンツアシストも利かず、あげくに実行時にエラー。
楽? 人それぞれかもな。
639デフォルトの名無しさん:04/03/10 00:01
>>637
inputパラメータに呼び出し元を全て登録できないでしょ。
>>639
だからinputとforwardを変えた同じアクションを沢山用意するか、
input使わないでAttributeに呼び出し元を保存しとくとか、シケた方法になってしまうのよ。
>>638
BeanUtilsでコピーしちゃうから面倒では無いと思ってる。まぁ簡単とも思わないけど。
ConvertUtils#register で Converter 登録してやれば変換もしてくれるし。
642デフォルトの名無しさん:04/03/10 11:34
STRUTS で HTMLのフレームを使ったページを作れますか
>>642
html:frameタグを使ってみては如何?
ActionForm はEclipseでせったげったの自動生成させるから、全然手間じゃないよね。
デバッグ考えるとダイナの方がよけい手間ばかりじゃねえ?
>>642
ナビゲーションとメインメニューから、コンテンツフレームをいじくるようなのは
普通にできる。 ただフレーム解除は結構面倒かも。
>>641
BeanUtils も美しいか?便利さは否定しないけど使いどころが難しい気がする。
ActionForm から DAO とかにコピーしてまう香具師も
いるから危険な匂いがする。何のためにレイヤー分けてるんだと。

まーあまりそんなこというと Map インタフェースさえも
否定するのかってなるけど、全否定ではない。

でも俺は人のコードを保守するとき、あらゆる入れ物に Map 使いまくり
だとかなり萎える。挙句の果てにキーを static final で定義してたり。
それだったらアクセッサなしの小さなインナークラスのほうがましと思う。
647デフォルトの名無しさん:04/03/11 00:13
>>642
普通に使えます。
Tomcatのアドミンツールを参考にするといいですよ。
648 :04/03/11 22:31
>>642
<html:link>で、targetを指定してやるだけでok。
フレーム使うかなあ?
エラー発生時の処理とか面倒じゃない?
古くさいし。
アクセス解析、セキュリティ対策、画面遷移、イレギュラーな操作。
フレームは利点より欠点が多すぎる。でも初心者はフレーム好き。
過去ログに車輪の再発明とかでてるけど、
Strutsやらなにやらは古タイヤの再利用くらいだとおもう。

ほしい物に似てるけどちょっと違うんだなあ。
だから車体を古タイヤに合わせて設計してみました、みたいな。

似たようなもの毎回作っちゃってもいいんじゃないの?
設計の再利用ってもう流行ってないのかな。
実装なんて再利用しようとても毎回しっくりこないんじゃない?

これ、JBossというかEJBのときにも思った。
既存の道具生かすためになんか本体側で無駄な苦労してるなあと。
>>651
いいこと言った。まったくそのとおり。
> だから車体を古タイヤに合わせて設計してみました、みたいな。

実装がフレームワークに依存しちゃうからね
最近IoCが流行ってるのはその反動なのかねぇ?
654デフォルトの名無しさん:04/03/12 20:38
>>651

同意。

そうなんだよ。

もともとウェブプログラミングは単純なものなんだから、
単純なまま作って、先のこと考えすぎないで、XP的にやっていきゃいいんじゃないかね。

StrutsはYAGNIの原則に反してる。
>>642
tilesとかどお?
ここに書き込んでる人ってStrutsで何作ってんの?
amazonレベル?
yahoo auctionレベル?
>>656
そういう大量のトラフィックが問題になるところはOO的とか実装の美しさとか言ってる場合ではなく、
いろんなトリック使って負荷分散、ボトルネック解消やってると思うよ。


(ページとオブジェクトをマッピングさせるなんて全く美しくないと思うが)
659デフォルトの名無しさん:04/03/13 01:36
>>658
誰へのレス?
読めないんでリンクつけてくださいな
660デフォルトの名無しさん:04/03/13 01:44
>>659
>>1
なんか、JSTL 覚えてからは <html:form> だけの為に使ってる感じ > struts。
ここで聞くのもどうかと思うんだけど、struts の taglib を使う方法は無いんだろうか……。
>>661
それでダメだと誰か言ったのか?
663661:04/03/13 11:13
あ、ゴメン。
Struts を使わずに、Taglib だけって話。
>>656
パフォーマンスがシビアなサービスほどこういうもので
遊んだりしないのでは?

国内2位くらいのオークションはTomcatすら使わずJServで
アプリサーバはほとんど自前のコードだったと思う。

某プロバイダのアクセス数上位のコンテンツもPerlだったり
完全に独自に書き上げたJavaのアプリサーバです。

ほとんどの無名ECサイトはたいしたアクセスないので
そういうところではStrutsとかEJBコンテナとか使っても
大丈夫なんではないかと。
665664:04/03/13 12:43
ところで、121ware.comやビックカメラはJavaのシステムみたい
なんだが、やたらと「混雑しております」ページが出るよね。
どんなシステムなんだろう。
作りが悪いのかハードが追いついてないのか・・・。
666デフォルトの名無しさん:04/03/13 14:14
>>>665

楽天を見習ってほしいですな
http://itpro.nikkeibp.co.jp/members/SI/oss/20031007/1/

> 高負荷になる部分はJavaで,という傾向もないですね。むしろ,負荷がきついとサーバーの台数が
> 必要になるので,コストの安いPHPという傾向にあります。
>>665
同時接続数を監視しているかどうかの違いじゃないの?

むしろ、ほったらかし(混んでても接続OK)の方がしくみとしては良くないのでは?
>>677

どっちもイクナイ
>>664
まあ、君が職業プログラマーじゃないことはよく分かった。
670デフォルトの名無しさん:04/03/13 22:13
>>699

いや、職業プログラマだろ。
>>664は暗にEJBやStrutsはプログラマのお遊びということを指摘しているわけで、
漏れもこれに同意だよ。

>>664
> ほとんどの無名ECサイトはたいしたアクセスないので
> そういうところではStrutsとかEJBコンテナとか使っても
> 大丈夫なんではないかと。

WebProg板のこのスレが参考になる。

JSP/Servletで構築されたサイト
http://pc2.2ch.net/test/read.cgi/php/1063121571/
>>670
はっきり言って>>664が職業プログラマだったら無知すぎる。
Javaプログラマじゃないことは確かだな。
突っ込みどころ満載。

>こういうもので遊んだりしないのでは?
>Tomcatすら使わず
>アクセス数上位のコンテンツもPerlだったり
>そういうところではStrutsとかEJBコンテナとか使っても大丈夫なんではないかと。
673 :04/03/14 13:36
>>664
>>アクセス数上位のコンテンツもPerlだったり

えっ! Perlを使うとアクセス数が増えるのか!
尾も白くない
675651=664:04/03/14 17:01
>>672
Strutsで遊んでいるプログラマ様、
ご指摘の部分、なにを言いたいのでしょうか?

俺が言いたかったのは、現実的なサービスは
プリミティブな部分や枯れきったものしか使わないってこと。
>>672は相当頭悪そうだw
677デフォルトの名無しさん:04/03/14 17:36
じゃあ俺が書いてみる。

>こういうもので遊んだりしないのでは?
色々欠点がありつつも世界中で使われてるんですが。
Strutsと他のフレームワークを組み合わせたりするのを知りませんか?

>Tomcatすら使わず
ブハッw

>アクセス数上位のコンテンツもPerlだったり
話の流れと関係ないです。

>そういうところではStrutsとかEJBコンテナとか使っても大丈夫なんではないかと。
Strutsはオープンソースなんだから、おかしな所は自分で修正すればいいんです。

それともパフォーマンスがシビアな現実的なサービスにはPerlとか、Tomcatとか
使えばいいんですか?
>>675
自分で書いて、不具合出たらどうすんの?
Strutsの方がよほど枯れきってると思うけど。

ライトウェイトなフレームワークなんだから、シビアな場所でも充分使えるだろうね。
最近有名になったばかりだから、まだ使われていないだけで。
phpが最強と思われ
680デフォルトの名無しさん:04/03/14 17:49
phpはapache以外との組み合わせだと、処理が極端に遅くなるんじゃなかったっけ。
681デフォルトの名無しさん:04/03/14 17:56
PHPはDB関係がヤバイ
>>680
IISと使うと処理10分の1・・・。
Strutsを使ってるサイトを見たけりゃ、この辺から辿ってみれば?
http://nagoya.apache.org/wiki/apachewiki.cgi?StrutsProjectPages
http://nagoya.apache.org/wiki/apachewiki.cgi?StrutsWebLinks
>>678
不具合でたら、自分で直せばいいじゃん。
自分で書いたソースなら簡単に直せるわな。
それができないやつは他力本願で生きとけ。

といっても別に他力本願が悪いわけじゃなくて、自力でなんとかしようとしているやつを非難するのがわるい。
685デフォルトの名無しさん:04/03/14 20:44
自力でなんとかしたら工数かかるじゃん。
しかも、出来た物がいいものともわからない。
それに協力会社とか使ったりする時や、外部に納品してからメンテナンスしてもらう時にも
Strutsの方が遙かに簡単に出来る。
PHPやらPerlって水平にスケールできるの?
セッションのレプリケーションは?

まじで教えてくれ。
できるんだったら、そっちつかいたいから。
687デフォルトの名無しさん:04/03/14 22:21
>セッションのレプリケーションは?
レプリケーションせずに、ロードバランサーにお任せするってのがダメな規模の仕事?
>>686
mod_perlってもう安定したのかな。

>>687
ロードバランサーを使わないと出来ないって事?
689デフォルトの名無しさん:04/03/14 22:47
>>688
特別なレプリケーション機能があれば別だが、あったっけ?

ちょっとマシなロードバランサーを導入すれば、最初にアクセスしたサーバーに
次回以降も繋ぎ続けてくれるから、何も考えずにセッションを利用すればいい。
(サーバーが途中で吹っ飛ぶと、セッション情報も当然飛んでしまうが)
マシンを増やすのも楽々だし。ま、これでOKな規模ならばってことだけど。
>>684
CPUから自作しろ。
LB とレプリケーションだとっちがパフォーマンス稼げる?
DNS ラウンドロビン+セッションクッキーという poor な方法しかやってことないもんで。
Session Clusteringって実際にどれぐらいつかわれてるんだ?
ServletでいうところのHttpSessionの中身をDBへいちいち書き込むわけでしょ?嬉しいかな?
>>692
セッションレプリケーションってDBだけ?
他の方法のはないの? DB介さないやつとか。
トム猫5は、セッションリプリケートするのに、DBなんかいらねーだろ。
695デフォルトの名無しさん:04/03/16 08:27
プロセスあぼーん
OSあぼーん

がどんな頻度で発生するかを考えれば、必要性が分かる。

HttpSession 自体を使用禁止にすることもあるよ。>高可用性のため
>>694
DB使わない方式って実装はどうなってるの?
他にセッションレプリケーション実装はどんな種類があるの?
インメモリレプリケーション。
分散ハッシュマップでセッション(クッキーetc.)をキーにして
コピーしまくり。
インメモリのDBじゃあるまいな? MAPでしこしこやってんのか?
>>698
もうちぃと賢いだろうけど、原理はそんなとこじゃないかねぇ。ソース読む気しねぇ・・・

ソケットのハートビートみたいなので同期をとるんでしょ。
HttpSession自体を使用禁止にするってストイックだな。
>>691
普通に考えたらLBが有利
セッションレプリケーションはネットワークに流れるデータ量をちゃんと抑えないと泣くよ
一般的にいって、入力チェックはコントローラの仕事でしょうか?モデルの仕事でしょうか?
個人的にはモデルの仕事だと思うんですが、Strutsではコントローラ部分でやっちゃうから、どっちかなーと。
あ、でもJavaScriptでやったらビューの仕事になるのかな。
>>701
なんでモデルが値の妥当性を判断するの?
MVCモデルの理解の根本がまちがってないか?

Strutsでも別にコントローラーがやってるわけではないと思うよ。
コントローラーがビューに対して機能を提供してビュー側でやってる感じだけど。
>>701
MVC と妥当性チェックに直接関係ない。フレームワークとして統一されてるいるに
こしたことはないが、厳密には処理を保証するために各レイヤの入り口でチェック
されることが望ましい。

モデルでチェックするのは全然間違いではない。ただし、このチェックは
モデルに対する妥当性チェックであるべきで、コントローラでチェックすべきものは
モデルで行うべきではない。

例えば DB に格納するときのリレーションチェックは DB 任せの場合もあるし、
モデルで検証する場合もある。これはシステムによりけり。

もっと細かい視点で見れば、メソッドは処理を保証するために引数の
妥当性チェックをおこなったほうが良い。標準 API などでよくある
null チェックなどがこれにあたる。
validateを使用してクライアント側の入力チェックを行おうと思っています。
さらに、application.propertiesとは別にメッセージ用のプロパティファイルを
使用したいと思っているのですが、うまく読み込んでくれません。
bundleは設定しており、サーバー側のチェックではきちんと読み込んでくれるのですが。。
クライアント側のチェックには別のプロパティファイルは使用できないのでしょうか。
application.properties って Struts じゃなくて web.xml の問題じゃなかったか?
せっかくTLPになったのに誰もあげてないのかよ。
>>706
よかったですね。
Struts-Layoutってかなりイイかも
http://struts.application-servers.com/

似たようなのを作ってる最中に、資料を検索してたら見つかったんだが
<table>タグによるリスト表示なんかで、ソートしたり一行ごとにbg-color変えたり
リストから checkbox / radio での選択とか、ポップアップカレンダーでの日付選択とか
jspでロジックを書かずに、作成/修正/表示モードごとに表示方法を変えたりとか
かなり使えるっぽい。 つーか俺が作ってたのよりずっと良かった。
リスト表示だと displaytag なんかもあるけど、アレよりちょっと使える。 でもexportは無い。

ググってみても国内では全く情報が無いんだが、誰かWikiとか立てないかな。
709デフォルトの名無しさん:04/03/23 22:20
>>708
うぉぉぉぉ。デモだけしか見てないけどむっちゃええやん、これ。
>>708
うわ、かなりイイですねぇ。
つかってみたいが、英語あんま読めないのがツライ..
711 :04/03/24 12:56
>>708 スマートでいいね!
この間、似たようなの作ったよ……_| ̄|○
まぁバイト代出たからいいけど。export が無いのは何でだろ?
713708:04/03/24 14:35
仕事で使うつもりなんで、現在英語と格闘してます。 でも内容は難しくなさそう。
どっかのWikiでStruts-Layoutの特集でも立ててくれれば、理解できた範囲で
なんかネタ書けるかもよ。
そういやここが出来たスレがDATオチしたな。。。
ttp://hiki.ex-machina.jp/JSP/?c=index
715708:04/03/24 16:11
>>714
あ、別スレでこんなのありましたね。
んじゃ、時間を見つけてここに書きます。
Wikiの書き方を知らんので、どう書くのが使いやすい情報になるのか判らんのですが
ずらずら書いて、ちょっと溜まってきたら整頓します。
俺の勉強メモとして書くので、ポ前等も添削、整頓宜しくお願いします。

つーか仕事中だ俺
ライセンスはどうなってるの?
商用以外は自由そうだけど

許可をえないといけないってこと?
you must first obtain an agreement from Improve.
>>710

どこがどうスマートなのかわからん
というか、align="center"とかCSS使うこと全く考慮されてなくてキモい
718708:04/03/24 17:38
>>717
セッションごとにスキン(css)切り替え機能があるんで、自分の好きなようにcss書けって事だと思われます。
アプリでのデフォルトスキンを書いてやれば、かなり自由に書けるハズ。
あと、alignも対応してる様子。 あんまり使うとcssと矛盾しそうですが・・・
クライアントはFlashでいいじゃん。
漏れ最近そんな仕事ばっかりorz
FlashでXMLSocket使ってみたいんだけど、
いい資料サイトある?

スレ違いsage
FormオブジェクトとO/Rマッピングで作るDataオブジェクトが
そっくりな場合があるんだけど(Userテーブルとかのマスタ系)
同じクラスにしちゃってもいいのかな。
それともFormオブジェクトはデータの運び屋として、別々の
ままにするか・・・。
皆さんはこういった事を感じることは無いですか?
test
>>721
おなじ「インスタンス」じゃなければいいんじゃないの。

ORM オブジェクト→DTOにつめて→DTOをformのsetter/getterでラップ

てのならよくやりますが
Struts はもう業務ではやりたくない。
飽き飽き
725721:04/03/30 08:31
あくまでラップですか。
冗長っていうか、なんか同じコード書いてるなーって思うんです。
現状はBeanUtilsを使いまくるって感じ。
O/Rマッピングのスレに、リンクを張ってみますね。

>>724
そうなんですか。私も自分の中で早く枯れたフレームワークに
したいです。
726  :04/04/07 00:35
Strutsで、グーグルの検索結果のように、1,2,3,4,5,と検索結果へのリンクを作成するのに
便利なタグライブラリってないですか?
Display-tagとかよく使い方がわからないもので・・・。
ちゃんとサーバーのリソースの配分とか分かって物を言ってるか?
煽りでなくて。

>>726

Pager Tag Library
http://jsptags.com/tags/navigation/pager

Struts のサイトよく読めちゃんと書いてあるだろ。
とりあえず入門書なんでもいいから一冊買えよ。
誰か、こんな記事書いたうんこに罰を与えてくれ
ttp://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_1.html
>>730は、@ITだからとりあえず糞だろうと、
内容も確かめずに判断し叩いているんだろうなぁと、
記事を読まずにレス。
>>731は屁と思ってふんばったら実が出るタイプ。
>>731
内容見てからレスしろよ。730は何を今更・・・の感があるぐらい、
あちこちでさんざん叩かれている悪評高い記事だよ。
>>731自身が
>内容も確かめずに判断し叩いているんだろうなぁと、
を行っていることを「記事を読まずにレス」と書いて証明してるよ。
こんなヴァカは放置した方がいい。
しかし、どの変がクソなのかは誰も説明してないな(w
>>735
別に何も気にならなければ、書いてある通りにやったらいいよ。動く事は動くし。
ただ、「今後なくす予定だから使うなよ」っつってる機能を堂々と紹介するのはいかがなものか。
>>733
でもだいぶ直されてるんじゃないの?
ちゃんと見てないけど指摘されたらすぐ直ったってのもどこかで見たぞ
そうなんだ。ていうか改定履歴とか無いしわからない。
でもどのみちStrutsのデータソース使ってる時点でだめなんじゃないの。
>>735
tp://bbs.msn.to/top.jsp?id=bv6673 の
2004-02-23 19:51:13「X-Menで日本語」スレッド見てみ。
ひどいねこりゃ。
>注:本稿のサンプルコードでは、以前から用意されているStrutsのデータソースマネージャ
>を利用していますが、今後リリース予定のStruts 2.x以降では非推奨(または削除)となる可
>能性があります。今後、Strutsからデータソースを利用する場合には、コンテナ経由での設
>定を行うことをお薦めします(Java TIPS「JNDI活用でデータソース管理を一元化する」を参
>照)。

一応書いてるな、最初から書いてあったのか、後から書き足したのかは知らんが。
じゃあ最初からそうしろ、もしくは該当部分まるっと直せと小一時間
しかもアクションクラスにロジック書きまくって…EJB使う時どうするつもりだよ。
ある意味勉強になるな。
おれもwriterになれるなw
お前ら @IT とかに記事書くとこまでたどり着けないくせに
口が達者だな。あとライタは苦労のわりに金にならんぞ。
入門の解説で、一番簡単にDBアクセスできる方法を紹介するのが
悪いことだとは思わんなぁ。
とりあえず繋いでフレームワークを試してみるのが目的の記事だし。
詳しい人向けに、こういう方法で業務に生かせって書いてる記事じゃないし。
まぁ、文句言っている奴は、自分の尺度から少しでも外れる解説に
ケチをつけるしか能が無い奴らなんだろうけど。
オープンソースはなぜ大衆市場の要求を満たせないか
ttp://japan.linux.com/opensource/04/04/04/1358215.shtml?topic=1
>>745
お前みたいのが多いから困るんだ。
>>741
書き足したんだよ。
>>741
図なんかも直しまくり。いいんだか、わるいんだか。
よりよい記事にしようという姿勢は、
認めてあげてもいいんじゃないでしょうか
>>747
解った気になって居るバカの典型みたいな意見だな…
まぁ、鬼の首を取ったようにと言うのはこのことだろうな。
解説を執筆する人間ともあろう者が、廃れる技術を推奨するなんて!って。
>>748>>749
直したら直したで、それ自体は別に良いことだけど、
改版履歴付けてくれないと困るんだよね。

改版履歴つける→自分の記事の間違いを認める、ってことになるのが嫌なのかね?
糾弾するより勉強材料と考える大人はいないのか。
示唆に富んだ内容だと思うのだが。
勉強材料も何も、間違ったことを教えてたらプロのライター失格だろう。

つーか、こいつがしつこく擁護するのはなんでなんだろう。
山田だから
で、どこが間違ってるの?
今後サポートしなくなる接続方法で解説しているという点以外で。
JBuilderのStruts開発環境って使い勝手いいの?知ってる人いたらおしえれ
開き直り厨キタ━━━━━(゚∀゚)━━━━━!!!!
>>757
Actionにビジネスロジック書いてるところ
小さい話だが、BookInfoのコンストラクタ、意味無いよな。この辺分かってて書いてるんだろうか?
>>758
俺はStrutsStudioのフリー使ってる。かなりいい。
>>761
無意味だし、明示的に初期化するにしてもせめてフィールド宣言のとこでしとけと思うな。
馬鹿なんじゃねえの。
>>755
示唆に富んでるといったのは記事の内容じゃねーんだ。
別にこの本屋はどうでもええのよ。
何が問題になってるのかもわかってねー奴がいるから、
夢中になって叩いてねーで勉強しろよって言いたかった。
誰も説明できねーじゃん?
>>760
別に間違いではないと思うが。
>>760
Servletを動かしてみましょうって解説のサンプルで、
Actionとロジックをわざわざ分けている解説を殆ど見た事が無いんだが…
>>764
え、誰も理解してないって思ってたんだ?w
>>765
ストラッツ・イン・アクションでも嫁

>>766
こいつは単にわかってないだけ(Actiionをコントローラではなくモデルだと書いてたし)
よくもえるねんりょうですねw
話題ロクにねーからなぁ
>>765
ストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁


本の受け売りかよ…
まあ、限られたスペースで要約を書くよりは良書を示して「読め」と言ったほうが楽ではあるな。
本を持ってない/買う気の無い人には不親切ではあるが。
@ITを叩くのが、自称上級厨のトレンドだからねぇ…
2chで自己擁護するのが、ライターなり損ないのトレンドだよねぇ…
@ITって執筆するといくらくれるんだろ。
誰か書いた人いない?
>>771
ストラッツ・イン・アクションはStrutsの作者が書いた本だぞ。
タペストリ・イン・アクションは?
>>776
作者が正しいとはかぎらんだろ。
>>778
現代国語の試験問題で作者が正解するとは限らないように?
ツァラトストラはかく語りき
>>741
ところで「まるっとXX」って表現よくみかけるんだけど、
元ネタなんなの?
>>776
本家の本かどうかは、受け売りとは関係ないのでは?
本人が理解してやるべきでないと言っているか、
作者が言うんだから全員そうすべきだと言っているのかで大分違う。
>>782
それを理解してる奴が>>765のようなことを言うとは到底思えないけどな。
とやかく言う前にとりあえず読むもんは読んどけと書いてあるだけ。
その上で自分の意見として言うんなら別に構わないと思う。

でも、コントローラにビジネスロジック丸ごと書いててはMVCもヘッタクレも無いだろ。
>でも、コントローラにビジネスロジック丸ごと書いててはMVCもヘッタクレも無いだろ。

これが揉めている原因なのだと思うのだが、とりあえず動かしてみるというサンプルでも
本来の決まりに則って、ロジックを分けてまで説明するべきか、
とりあえずStrutsを動かしてみることだけを重点に置くかで違ってくるのではないかと。
批判している人は、たとえ簡易的に動作させる場合でも、MVCを少しでも崩すのは
けしからんことだと言っているんだよね?
それならそうと最初から書いておくべきだったんだな。
データソースにしてもそうだけど、最初から「これはとりあえず動かすことを
目的としてるからいろいろはしょったりしてるけど、実際はこう書くことは
望ましくないから気を付けること」とあればよかったんだけど、それをしなかったのがそもそもよくない。
で、指摘されて直したはいいけれど、あたかも最初からこう書いてますよとでも言うように
こっそりと直して、修正履歴とか追記とか一切無しなのがこれまたまずい。
別にそれは、設計する人の判断なのではないかと。
Actionにロジック書いたら動かなくなるのならアホだけど、全く問題なく動くわけだし。
推奨と必須を混同したらきりが無いと思う。
で、そもそも本当に初心者用に書いたのなら、当然注意書きには気が行くはずで、
それが無かったということは、記事書いた奴が本当にわかっていなかった能なしか
わかってはいたけど記事としてまとめるのが下手な能なしということ。

初期状態では、アクションクラスを「Model」と紹介していたことからすると、
初心者向けに簡略化したと言うより、自分自身がよくわかっていないまま記事書いたと言う方が
正しいんじゃないの。
まあ、2年くらい前の日本語情報では、Actionを
Modelに位置付けて解釈したライターをJavaWorldや技評の雑誌
やWebでよく見かけた。
そいつら、何事も無かったように、最近ではActionをControllerとか
言ってる。

ActionがModelだろーがControllerだろーが、Strutsはクソなんだから
そんなのどうでもいいじゃん。
Strutsは糞。Jakartaもクソ。
たかってるやつらはみんなうじ虫。目くそ鼻くそ。
>>789
そんなあなたのお勧めは何? 良かったら教えてください。
よほど糞な実装でもない限り、Actionにべた書きしたロジックを分離するのなんか
大して手間がかかるわけではないだろ。
開発前に新人君に「Actionにロジックは書かないでね、ここの決まりだから」とひとこと言えば済むだけ。
>>788
「今になってこんな事書くな」ってのが大きいんだと思うよ。今回の場合。
>>790
『俺が作った最高の独自フレームワーク』とか言われるのがオチだと思うが…
>>793
恐いもの見たさで見たいよな。
>>794
仕事でなければ、人のソースを見るのは割と楽しいしねw
>>788
そりゃ Action にビジネスロジック書いてりゃ Model だろ。
分離したら Controller になるだけで。

極端な話 3 画面くらいのシステムで再利用性や保守性とか
全然関係無い場合は分離しないほうがまし。
それさえ判断できない香具師がいるし、明確な指標もないから
初心者向けに Action にロジックを書くことは推奨しないって言ってるだけ。
初心者じゃなけりゃ最終的にどちらがコストが低いか自分で判断するでしょ。
まあ、Actionにビジネスロジック書くな、とか
StrutsのDataSourceセテーイじゃなくてコンテナとかその他のDataSource使え、は
添付のドキュメントにもしっかり書いてあるわけだが。
酸瘤ライターが読んでるわけない。間違いない
>>797
だから、必須と推奨を混同するなって。
>>799
それを理解して使うのはいいんだって。
理解もしてない奴が初心者向け記事を書くなっつー話だろ。
山田はM$厨なので、注意w
昔はViewにロジック書いちゃイカンというMVC厨がいたもんだが、
今度はControllerにもロジック書くなってか。
Action がコントローラだと思ってるのか?
「ビジネスドメイン層のコントローラ」に対するWeb層のFacadeだぞ。
>>803
じゃあそうしろよって気がせんでもない。
(本当にそうならActionやめてFacadeにすればいい。)

Actionって名前になってるのは、役割をControllerとかFacadeに限定しないためだろ。


いかん、大人気ないことを言ってしまった。○| ̄|_
まぁ、何も無かった頃からの色々な過程を見ないで、いきなりMVC学んだ人が
殆どだろうから、MVCは神みたいな存在になっているんだろう。
大事なのは、モデルを守ることではなく、効率を上げることなんだが。
>>797
それって誤解じゃないの?
GenericDatasourceは推奨されてないけどDBCPを使用した
BasicDataSourceまで非推奨にはなってない。

In Struts 1.2.0, the GenericDataSource has been removed, and it is recommended
that you use the Commons BasicDataSource or other DataSource implementation
instead. In practice, if you need to use the DataSource manager, you should use
whatever DataSource implementation works best with your container or database.
>>806
works best with your container
808デフォルトの名無しさん:04/04/29 20:58
HTMLファイルをJSPに変換するツールあったら教えて下さい。
拡張子をhtmlからjspに変えるだけで済みますよ
>>806
Commons BasicDataSourceはStrutsのDataSourceなのか?
811806:04/04/30 00:59
>>810
いやいや、それはそうなんだが、
言いたかったのは、
「struts-config.xmlでDataSourceを定義し、かつGenericDatasourceを使用する」
ことは非推奨とされてるようだけど、
「struts-config.xmlのDataSourceを定義するが、DataSourceマネジャには
CommonsのBasicDatasourceを使用する」
ことまでは非推奨となっていないのでは、ということ。

ServletコンテナベースのDataSourceを使うとwar一発でのアプリ配布、とはいか
なくなる(TOMCATだとserver.xmlにまで手を加えないといけない)んで、アプリベ
ースのDataSource使いたい、という思いが根底にはある。
>>811
ということはあなたは>>797の日本語が読めなかったということですね。
非推奨になってるとは書いてない。「使えと書いてある」と書いてある。
実際「should use」となってるんでしょ?
>ServletコンテナベースのDataSourceを使うとwar一発でのアプリ配布、とはいか
>なくなる(TOMCATだとserver.xmlにまで手を加えないといけない)んで、アプリベ
>ースのDataSource使いたい、という思いが根底にはある。

運用側からすると、各アプリから勝手に接続されたくないという思いがある。
複数のアプリをデプロイしている環境ではコンテナ-DB間の接続は一カ所で
管理したい。接続に関する設定(最大/最小接続数、タイムアウト等々)の
把握、メンテがしづらいでしょ。
開発側からしても、開発環境→テスト環境→本番環境と移行するたびに
設定変えなきゃならんからアプリケーションのポータビリティという観点
からもよろしくない。
>>812
わかったわかった。俺が悪かったよ。

で?何がいいたいの?揚げ足鶏君w
中学生は家で寝てろってこと。
>>814
お前、あふぉか?
揚げ足取りにしか捉えられないのか?
こういう奴、仕様を独自解釈で突っ走って開発進めて
客のクレームを「揚げ足取り」とか言うんだろうなw
>>816
子供相手に向きになるなョ
818806:04/05/01 15:03
>>814
勝手にレスすんなって(w
データベースの設定なんか、サーバーごとにことなるからwarに埋め込まれても迷惑だな。
Strutsのバリデータで、フォーム unkoForm のプロパティ kuso に required,integer を指定して
<html:javascript formName="unkoForm" /> を<head>〜</head>に追加し

<html:form action="unko.do" onsubmit="return validateUnkoForm(this);">
  <html:text property="kuso" /> 
  <html:submit value="Go" />
</html:form>

とjsp内に記述しました。

テキスト無記入だと
「○○ は必ず入力してください」 とポップアップが出ますが
半角英字などを入れると、ポップアップが出ません。
(ただし送信ボタンを押しても遷移せずにいるため、一応チェックには引っかかっているようです)
スクリプトエラーも出ていないようです。

と思ったら、validator-rules.xmlのJavaScriptが糞でした。
修正したらポップアップ出るようになりました。俺の使ってる奴バージョン古いのかなぁ
>>820
Struts Validator のJavaScript自動生成にはバグがあるから使うな、って話は良く聞くが・・
>>820
バージョン書けよ。
ちなみに、integerのJavaScriptは1.1RC2まではバグがあり、1.1で修正された
823820:04/05/02 14:54
1.1だけど、StrutsStudioっていうツールの吐き出してる奴だから、こいつが悪さしてるのかも。

それはそれとして、関係ないバリデーションのコードまでJavaScriptとして吐き出しちゃって
本文よりスクリプトの方が長くなっているていたらくなので、
大規模なサイトではないし、クライアントサイドのチェックは自分で書いた方が軽いし早いと思い
さっき修正しますた。
関係ないJavaScriptまで吐き出すのはやめてほしいよな。
>>823-824
JavaScriptの共通部分だけ外部ファイル化できないのかねえ。
>>825
できるよ。
一旦JSPにはき出されたやつをコピペして、.jsファイルとして保存、
自分でscriptタグ書いて読み込む。
あとは、<html:javascript>タグにstaticjavascript="false"を書けば
JSP実行時にはき出されなくなる。
>>826は真性の馬鹿
validator-rules.xmlをいじればJavaScriptのコードを差し替えられるというのは分かったが、
外部ファイル化する方法は見つからず。ActionServletいじらないと無理なのかね〜?
>>826
Strutsを使わなければ、Strutsでもできる、というわけだね。
ありがとう。
>>827
あなたならどうする?
>>830
StrutsのJavaScriptのどこが便利かっつーと、エラーメッセージやバリデーションルールを
クライアントサイドとサーバサイドで同期できるからだと思ってるんだけど
>>826をやっちゃうとその時点で同期が切れてしまうだろ。
それじゃただの質の悪いスクリプト生成エンジンでしかないじゃん。

・自分でまともなJavaScriptをあらためて書く (>>823
・とりあえず質には目をつぶって、勝手に吐かれるコードを使う(同期を優先)
質っていうかね、関係ない関数が全部吐き出されてるのが気になるんだよねぇ・・・

選択肢としては
がまんするか
ソースを書き換えるか
変更を強く要求してみるか
だな。
831よ。わかってないのはお前だ。
826が切り取ってるのはstaticjavascript属性で制御できる部分だけだ。
dynamicjavascript属性で制御できる部分は自動生成させるに決まってるじゃん。
826は825の「JavaScriptの共通部分だけ外部ファイル化」に対する回答なのだよ。
EJBも死滅しつつあるし、次はStructsの番か?orz
まあ、826も言葉足らずなワケだが、staticjavascript="false" を書けと
言っているのでdynamicjavascriptで生成される部分は残して
staticjavascriptの箇所を外部化しようとしているのだろう。
でもさ、外部化しようとしまいと結局全種類のチェックを読み込むことには違いないわけじゃん、
「コードが長い」ことが問題というよりも「余分なコードが邪魔」が嫌なんであって。
>>832の言うとおり、最小限のコードだけ書き出してくれればいいんだよね。
>>836
なるほど。

>>834 はEJBとStrutsを同列に扱う時点でDQN決定。何もわかってないのに煽りたいだけだな。
スペル間違ってるしw
「w」←注目
>>834なんて相手にしてる時点で、>>837も同列
840430:04/05/04 21:52
こんにちはすれちがいかもしれませんが質問です。
HogeFormのプロパティhoge1とhoge2をjsp内からhtml:linkたぐで同時に送信したいんですが
どうしていいかわかりません教えてくださいお願いします。
Strutsってなんて読むん?ストラクツだと思うとったら c がなかったんじゃけど

教えてくれないとJava脂肪コピペで1000を目指します。
>>841
げりぎみのくそ
843デフォルトの名無しさん:04/05/05 01:09
>>842
2点
二点満点で二点貰った
845struts:04/05/05 05:23
>>841
ストラトスだよ。
846デフォルトの名無しさん:04/05/05 09:46
>>841
Strutsって読むんだよ






あ・・・・
>>845
メテオスウィーパーか
ストラツって読んでるな。ラにアクセント有りで。
ストラッツだとフアンみたいでなんか変だ。
ウルフルズの「大阪ストラット」の「ストラット」はStrut(気取って歩く)。
ちなみに、名車「ランチア ストラトス」は「Lancia Stratos」ね。
デトマソパンテーラ
スーパーカーブーム世代が集まるのはこのスレですか?
ランボルギーニ・イオタよりもミウラに萌えた漏れ
マセラティ メラクはメクラと間違うからという配慮で放送禁止
漏れは絶対、ロータス・エスプリ!
プリンセス・テンコーのエスプリはどうなったのだろうか
857デフォルトの名無しさん:04/05/09 07:50
ActionFormがインターフェイスだったら、既存のBeanを拡張してActionFormをインプリメントするということができるのに、どうしてActionFormはクラスなんでしょうか?
ActionFormを継承して拡張する事に何か問題が?
多重継承ができないだろ
>>859
インタフェースを多重継承の用途で使うバカハケーン
>>860
馬鹿?

>ActionFormがインターフェイスだったら、既存のBeanを拡張してActionFormをインプリメントするということができるのに、どうしてActionFormはクラスなんでしょうか?
>ActionFormを継承して拡張する事に何か問題が?
→既存のBeanが何かを継承したものだった場合、ActionFormを継承して拡張することが難しい
  インターフェースだったら問題なく実装可能
>>860
Javaの場合、C++と違って
あるクラスが別のクラスを継承していた場合
さらにActionを継承することはできないんだけど?
×さらにActionを継承することはできないんだけど?
○さらにActionFormを継承することはできないんだけど?

そしてケコン(´・ω・`)
まあ、よい子のみんなはDynaActionForm使えってこった。
>>861
それじゃ逆にActionFormの方が実装を継承できないから、
DynaActionFormみたいなのが実現できなくなるじゃん。
オブジェクト指向がわかってない奴だな。
インタフェースは何のためにあるんだ?多重継承を代用するためじゃないだろ?
こういう、「動けば何でも同じ」的な考え方する奴は
メソッド、フィールドも全部publicでいいじゃん、みたいなこと
言い出しかねないね。
>>865
その場合、ActionFormを実装したActionFormImplみたいなのを使うんじゃないの。
>>866
>インタフェースは何のためにあるんだ?
それ考えたら、むしろActionFormはインタフェースにすべきだと思うけど。
普段はインタフェースを実装したクラスを継承すればいい。
でも今はxmlにform-bean書けば済む話なので、どうでもいい。
ActionFormがインターフェイスじゃないから(クラスだから)、初期値の設定も放り込まれた値の検証もできる。
もしインターフェイスなら、誰がどこで保証するんだ?
アフォが包丁持つとこわいわ・・・
871デフォルトの名無しさん:04/05/09 23:38
>>869
ActionServletがデータほりこむとき。
それに、いまのActionFormと同じモノが必要なら、ActionFormInterfaceをimplementsしたものを用意すればいい。
Interfaceで用意することによるデメリットは、一部が委譲になることだけで、できなくなる機能はないはず。

っていうかStrutsって、フレームワークのくせにインターフェイスがないよねぇ。
すでにあるクラスをStruts用のクラスにするということがやりにくい設計な気がする。
>>867
そういう設計はアリだったと思うが、ActionFormはそこまで仰々しい
設計にする必要はないと判断したんだろうな。
どっちにしろ>>857にとっては解決にはならんだろうし。
873デフォルトの名無しさん:04/05/10 13:39
struts-config.xmlをサブシステムごとに分割する場合って、
data-sourceとかplug-inもサブシステムごとに記述しなきゃいけないんですか?
>>873
仕組みをわかっていればものによることぐらいわかるだろう。
プラグインはものによる。
DataSourceは一つで十分。(そもそも、使用はおすすめできないシロモノだが)
ActionFormがインターフェースだったら・・・
万一ActionFormのI/F仕様が変わった(例:メソッドが追加された)とき、
全てのフォームを作りなおさなきゃなんない。
876デフォルトの名無しさん:04/05/10 14:13
>>875
それは、現状のActionFormでも、abstractなメソッドが追加されたときにはすべてのフォームを作り直さないといけない。
インターフェイスになっていたとすれば、そういったときにはActionFormInterfaceが拡張されるのではなくて、拡張機能用のinterfaceが用意されることになるだろうから、問題ない。
どうせ AbstractActionForm とか用意されるんだろうから、瑣末な問題だな。
むしろ>>875のあげたような問題は、interfaceになってないために起こることが多い。
>>875 はMVC マンセーとか何とか言って、結局何も理解できてない奴。
Struts は IoC とかかまびすしく言われる前にできたものだしなー。
IoCコンテナを意識したら、嫌でもinterfaceにするんだが
>>876
Struts1.0 と 1.1 では Actionのperform, executeが変わったわけだが、当然これと同じようなことが将来ActionFormでも起こるかもしれない。
インターフェイスならそういうのが不可能なわけだ。インターフェイスを拡張したところで解決できる問題ではない。

今のStrutsに限って言えば、abstractなメソッドが追加されるかもだなんて心配してるのはばかげている。


>>881
だからってinterfaceいらねーやってのは、単なる思考停止ジャン
>>882
いらないとは言ってないよ。StrutsのActionFormがインターフェイスではなくて普通のクラスが採用されている理由を言ってるだけだよ。
「ストラッツインアクション」にも、「ActionFormはなぜインターフェイスでないのか?」に対して「良い質問だ。」と書いてある。
開発者の設計に対する考え方にもよるところがあるだろうから、もし仮にぜんぜん別の人がStrutsを作ったらインターフェイスになっていたかもしれないね。


>>881
上位interface用意して、performとexecute以外のもの持たせて、newInterfaceとoldInterfaceにする。
それに実際問題、ActionFormIFを作るとしたら、実装が必要なのメソッドとしては
 void initialize(StrutsInfo information);
みたいなStrutsに関する情報をActionFormに押し付けるメソッドだけで、あとはStrutsInfoを介してやりとりすればいい。
そうすれば、変更はStrutsInfoに閉じられるのでActionFormには影響ない。
ストラッツインアクション見てみたけど、4つの理由のうち1番目は>>884で解決できる。
現状のActionFormと同じものは、StrutsInfoのようなオブジェクトとやりとりする部分を実装したActionFormImplを用意すればいいだけ。

3番目と4番目は、パフォーマンスとかセキュリティーが問題になるなら、既存のものとは別にBeanを作ればいいだけの話。
4番目は現状でもActionFormにシステムプロパティを変更するコード書いたら同じ事が起こる。
セッターではそんなことしないでねって約束があるというなら、interfaceの場合もセッターでそんなことしてるクラスにはimplementsしないでね、っていう約束にすればいいだけの話。

なんか、あの章はいいわけにしか見えんな。


あ、
> 上位interface用意して、performとexecute以外のもの持たせて、newInterfaceとoldInterfaceにする。
意味がわからねぇ。
上位interface用意してperformとexecute以外のもの持たせて、それを継承してperformやexecuteをもたせたnewInterfaceとoldInterfaceにする。
ということで。
じゃあさ、おまいら2ちゃんでぐだぐだ言ってないで
Struts-devにリファクタリングを提案するなり、パッチ送るなりしろや。
>>886
やだ。
888885:04/05/13 03:09
この板で、いろんな理論とか実装の話すると
「じゃあ2chじゃなくて、しかるべきところで発表しろよ」
っていうレスするやついるけど、あれって
「それは、しかるべきところで発表する価値のある意見です」
っていうお誉めの言葉だと思っていいのかな?
>>888
オプソが何なのかわかってない奴だな
そこで IoC ですよ。
891885:04/05/13 10:55
>>889
意見があれば必ず正式なコミュニティーに貢献しないといけない、というものではないことは知ってる。
892885:04/05/13 10:57
ある程度の規模のプロダクトの場合は、ちょっとした意見でも正式なコミュニティーに意見を出そうと思うとかなりの時間を費やすことも知ってる。
>>884
それは結果論だよね。
Struts1.0の時代にperformだけ別にして継承するインターフェイスなんて設計する馬鹿がいるとは思えない。
performじゃなくてresetが変わってたらどうするんだ?



894885:04/05/13 21:47
>>893
ん?あとからでもいけるだろ。
interface ActionIF{
 perform();
 reset();
}
って昔あったとしたら
interface BaseActionIF{
 reset();
}
interface ActionIF extends BaseActionIF{
 perform();
}
interface NewActionIF extends BaseActionIF{
 execute();
}
にすればいいだけじゃん。予見しとく必要なんかない。
じゃまだ、どっか池
>>895
そうだね。
ここはオブジェクト指向の設計わかってないやつの質問に答えるスレじゃなかったね。
>>885
悪い事言わんから勉強仕直せ。
ずっと見てたがくだらん。
全員勉強しろ。StrutsやJavaに詳しいだけではフレームワークの有効活用は無理だぜ
899885:04/05/17 22:22
>>897
勉強の指針として、おおまかに間違ってる部分の指摘を希望。
なんつーか、思いこみで理解した気になってる奴って、他人の批判を壮大に繰り広げがちだよな。
>>899
おまえのためにあるスレではないし。
ほかでやれ
別に、間違って覚えてて困るのは、俺たちじゃなくて>>885だけだし。
>>902
このスレで勉強してるやつも困ってる。
904885:04/05/18 01:50
否定するだけで具体的な指摘のないレスは、単なる煽りということでよろしいか?
くだらんのは同意。
井戸端会議してるだけだし。
はいはい。良かったね。
Java厨(!=Java利用者)ってバカばっか
907885:04/05/18 13:50
まともなツッコミができなくなったら「バカ」とかが出てくるわけですね。
みんな885が嫌い
どこから突っ込んでいいものやら
正直言うと、元の投稿が意味不明すぎて、ツッコミができない。
あえて突っ込むとすれば、元記事と関係なくなにか正しいことを書くしかない。
911885:04/05/18 15:22
>>910
了解。
ま、時間があれば、ひとことふたこと、正しいこと書いてくれ。
意味不明というか、電波というか、思いこみ激しいと言うかな。
>>912
は・げ・ど・う
914885:04/05/18 17:54
意見のない、単なる煽りの人は、よく2人セットで出現するね。
885うざい
916885:04/05/18 21:39
お前らの方がうざいだろ、常識的に考えても
917885:04/05/18 21:43
お、はじめてニセモノが現れた。
918885:04/05/18 21:59
本当だ
919885:04/05/18 22:17
ということで、JSFと連携すれば便利っていう話があるけど、JSF使うならJSFだけでやったほうがいいよね、っていうのはどうなの?
やっぱStrutsは過渡期の技術だったことになるのかなぁ。
コテさえやめれば、みんなに話聞いてもらえるのにねw
自意識過剰も大変だねw
>>919
君が立派だって事は分かったから、ここ嫁。
http://jakarta.apache.org/struts/faqs/kickstart.html#jsf
うん、で、そこんとこ、どうよ?
>>921
そこのリンク読んだけど、JSFとStrutsがどう絡んでいくかじゃなくて、JSFがどういう仕様策定をされているかっていうのが主な話題に見えた。
925デフォルトの名無しさん:04/05/27 01:55
みんながんばれー!じゃあねぇ〜〜〜
926デフォルトの名無しさん:04/05/30 22:39
文字化けで質問です。Tomcat4.30とStrutsを仕様いています。
http;//localhost:8080/test.do?param1=1111¶m2=岐阜県
というURIを、HttpRequestのgetParameterValues(param2);で受け取ると、
岐?E?
というふうに文字化けしてしまいます。

何か、解決策はあるのでしょうか?
>>926
マルチうざいぞ。
あっちのスレに答え書いてやったから見ろ。
>>926
なんでエスケープしてないの?
>>928
この場合はエスケープじゃなくてエンコードと言わないか?
機能を回避するわけではないからな。
>>926
URLEncoder
で?
934デフォルトの名無しさん:04/06/09 23:13
2時間ほどかけて、大体よませていただきましたが、
どうやら、TAPESTRYって大変なものらしいですね。
STRUTS始めようとおもっていましたので、
みなさんの、意外に真面目な議論がためになりました。
どうもありがとう。
935926:04/06/14 22:52
>>928
JavaScriptで、URLを組み立てていたからです。糞設計というのは判ってる。仕方ないんだ。。。

javaScriptのencode()は、JavaのURLEncoderと互換性009だったので、javaScriptで
URLEncoderと同じエンコードを行う関数を作って解決しますた。
936デフォルトの名無しさん:04/06/25 19:41
Struts使ったシステムでDBからレコード持ってくる方法は基本的にはこの方法がベスト?

http://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_1.html
>>936
この記事がこのスレでもあちこち技術系Webサイトでも非難囂々だったのを
知っての上での釣りか?
>>937
今見たら内容がずいぶん変わっててワロタ
改訂履歴もねーのかよ!
939デフォルトの名無しさん:04/06/25 20:51
>>936
ページ中ほどの
PCいじってるオヤジの顔がイカ臭い
>>938
ホントだ。「こっそり」を通り越して全面改訂されてるw
これはこれである意味すごいな
>>938
同じ@ITでも.NETの方では履歴を残している。
Javaチームが極端に糞なだけらしい。ま、Microsoftマンセーサイトだし仕方ないか。
まあまあ。
改訂分の原稿料なしで、泣きながら直したらしいんで、
勘弁してやってください
>>941
山田とかいう奴の記事がひどいのは知ってるが、他もそうなん?
そもそもJavaの記事でM$マンセーな山田某が書いていること自体が
間違っている。
違う記事へのリンクじゃないの?w
946936:04/06/28 10:01
>>937
いや、純粋な疑問。
先週struts勉強し始めたばかりなんでそういう経緯は全く知らなかった。
ついでにその批判してた技術系サイトを紹介してくれると有難い。
947936:04/06/28 10:06
ああごめん、このスレ内で見つけた。
記事の書かれた3/6辺り探しただけだったんで見落としてた。
>>946
もう見つけたみたいだけど、あのときって批判ってより悪口って感じだった。
間違いは間違いで悪いけど、言い方があるだろって引いた。
>>948
山田乙
>>948
なんであそこまで言われていたのか、全然わかってないね…
単に内容が間違っていたから、だけじゃなく
あの記事が初心者向けだったことやその後の対応の悪さも含めてだろ?
951山田だけど:04/06/28 23:24
その後の対応の悪さってどういうこと?
ちゃんと修正したじゃん。
952カプコン:04/06/28 23:34
山田きにすんな。
この過疎スレで連続して擁護すると、山田本人だとばれるよ
955カプコン:04/06/28 23:49
山田>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>954
956カプコン:04/06/28 23:51
>>954


泣くなよ☆
957カプコン:04/06/28 23:59
げ、山田って、山田祥寛さん??

マジ?本物??

俺、あんたの本たくさんもってますよ。マジで。っていうか、俺のすべてですよ。
JSPのリファレンスやら、JSPの本やら(基礎とか応用のあるやつ)あと、XML入門も
読みましたよ。

とても仕事でやくだっとります。ほんとに本人??

くどいようだけど、俺は>>951氏の山田さんとは、別人です。単なる煽りがきらいなだけ。
958カプコン:04/06/29 00:02
ここの煽り厨みたいな狭い視点しかもてないような奴のいうことなんて気にすることないですよ。

記事を書くとなれば、色んなことを考えなきゃいけない。俺はあなたの本をよんで、すばらしく
広い視野の持ち主だとおもってます。

ここまで親切に書いてくれているのは、丸の内とらさんとあなたくらいしかいませんよ。

今度はEJBの本書いてくださいよ。がんばってくださ〜い
この情熱は、どこからわいてくるのだろうか
960カプコン:04/06/29 00:04
カプコン寝る。じゃーね☆
961山田だけど:04/06/29 00:04
人に迷惑をかけているという点では、カプコンも同罪だろう。
962カプコン:04/06/29 00:05
あちゃー。山田さんに言われちゃった。参った。寝るしかないね。おやすみ。
>>951
> その後の対応の悪さってどういうこと?
> ちゃんと修正したじゃん。

ライターの風上にも置けん香具師だな。
批判を受けたからこっそり修正して証拠隠滅ですか。

もっと自分の記事に責任を持って、
修正するならそれとわかる方法でやれよ。
964デフォルトの名無しさん:04/06/29 10:29
>>958

丸の内とらさんって、日本語上手いし、
どうしたら初心者が理解できるのかって
真摯に考えてる態度も好感持てる。

だけどソースが汚いと思わないか?

if(xxx){
 処理a;
 処理b;
}else{
 処理a;
 処理c;
}

みたいな書き方してるの見て萎えたことがある。
批判を受けて修正するのはいいが、それをまったく告知しないというのは、三菱自動車の闇回収のようなものだな。
>>964
基本的にプログラマではないから。
WEB+DB PRESSの最近の記事で「Tomcatに含まれるWebサーバーはあくまでも動作確認用の簡易なもので」っとあって、オイオイと思った。
967デフォルトの名無しさん:04/06/29 17:18
Strutsが出る直前くらいに、プログラマ辞めたんだけど、またやろうとおもってる。

でも、JSTLとかどんどん新しいのが出たみたいで、どれをやっときゃいいか分かりません。
このスレも読ませてもらったけど、Strutsなんかもういらんみたいな意見が時々あるよね。

で、実際Strutsって、かじりだけでもやっといたほうが良いの?
>>967
知らなければ、いるとかいらないとかいう話はできない。
せめて一回ActionFormを継承したクラスを書く経験をしてたほうがいい。
JSTLとかELとかは、Struts使おうが使うまいが必要だし。
969967:04/06/29 19:20
>>968
どうもありがとう。JSTLとかELっていうのは、本を買ってきて、大体つかんだんですよ。

あとは、Strutsだな〜と思ってたんですが、フレームワークって何??と思って、なかなか抵抗があるんです。

でも、一回経験したほうがいいっていう感じからすると、経験すればわかるようなものみたいですね。
やってみます。ありがとうございました。
フレームワーク何? ってあんた。
StrutsとかJSTLとか以前にやることあるんじゃないの?
ちょっとサンプル動かした程度で分かった気がするタイプなら、本物にはなれないね。
アマチュアレベル。
>>969
>フレームワークって何??と思って、なかなか抵抗があるんです。
Strutsが出る直前くらいまでプログラマやってた奴の言葉とは思えねーなw
>>969
ま、やってりゃ、「そういうことね」って思うとおもう。
973969:04/06/29 22:25
知るかよ!!俺は、高校卒業で専門学校に10ヶ月だけいって、Javaしかしらなんだんだ。

他の言語にフレームワークがあろうが、んなことは、全然知らん。

Struts以前にフレームワークなんてあったのか??俺は知らんぞ!
大体、JSPとかサーブレットもタグなんてほとんどなくて、ぐちゃぐちゃの時代しかしらんのだよ!
今、本見て色々進歩したんだな〜とようやく分かったところなんだ!!バッチ処理とGUI案件1件と
しょぼいJSP、サーブレットしか作ってないんだよ!!

>>972
どうも、そんな感じですね。聞くところによると。やってみりゃ、わかるというのが、色々な人の感想みたいです。
ありがとう
>>973
もう、無理してネタ作んなくてもいいですよ。
バカ、今度こそ本物の山田様降臨じゃないか
976969:04/06/29 22:30
>>974
じゃー、おまえ、Struts以前にフレームワークがあんのか?いってみろ。
山田キタ━━━━━━(゚∀゚)━━━━━━ !!
>フレームワークって何??
>フレームワークって何??
>フレームワークって何??
979969:04/06/29 22:33
うるせぇ、妄想変態や労。氏ね
フレームワークって何??
せっかくだから俺はフレームワークを選ぶぜ
982969:04/06/29 22:38
Strutsしかしらねーよ。それがなんなのかもしらねぇよ。くどくど聞くな。

俺が聞きてえくらいだ。バカ。

おまえ、Struts以前のフレームワークとかしらんから、むきになってんだろ。
俺は実は知ってるぞ。変なCSKとかいう会社がつくってたやつだ。触った事はないがな。
フレームワーク越前
984983:04/06/29 22:38
>>982
俺のせっかくのレスの邪魔すんな
すっこんでろ
フレームワークって言葉自体知らなかったのが笑える
986969:04/06/29 22:40
なんだよ。このスレ。俺がStrutsってなにかな?と知ろうと思って、さかのぼって、
今日見てたけど、ろくな会話がねぇじゃんかよ。

最後まで、これで行く気か?
だって、専門学校中退だなんて自分から言う奴なんて、
釣りか真性DQNの二択しかないじゃん。
988969:04/06/29 22:42
>>985
はいはい。どうぞ。俺は、バカですよ。大学すら行ってない、バカですよ。
専門学校でJavaしかやってないんでね。でも、必死でやってきたんだよ。
業務を2年半な。俺は、自分を誇ってるぞ。おまえらみたいに、高い金だして
大学いって、人に教えてもらったのとじゃ、知識は段違いだろうよ。

そんなもん、しょうがねぇだろが。
>>987
普通隠すな。
990969:04/06/29 22:44
おまえら、あれか?最後まで、煽りで通す気か?悲しいぞ。ぼけ。
>>990
「しょうがない」
言った時点で
負け組だ
専門学校だって安くないだろうに、途中でやめて
業務もたった二年半

そりゃだめだわ
993969:04/06/29 22:47
金払って、大学いって4年間教えてもらって、業務でも先輩たちにしっかり研修させてもらって
ある程度は身につくだろ?

俺はな、本当に独学でここまできたんだよ。SEなんて全く教えてくれない。1つもな。
本を買いあさって、ノイローゼになるくらい読みまくって、ようやくここまでこれたんだ。

おまえらみたいにめぐまれてないんだよ。

しょうがないだろ。

専門学校中退したのも病気のせいなんだよ。おまえらにがたがた言われる筋あいはない。
994969:04/06/29 22:50
しっかりした会社に入れば、先輩もいい人が多い。

俺の会社なんてな、高校中退のやつもいるような会社で、Javaなんて当時
まだ、人がいなかったんで、誰も教えてくれる人がいなんだんだよ。

でも、未経験だし、学校も中退してるから、どんな会社に入ればいいか分からん。
で、入った会社がそういうところだったんだよ。

おまえらみたいに、全部作られた道筋を歩んできた人間とは根本的に違うんだよ。

以上だ。もうレスはしない。
あっそ。じゃあね不幸自慢の屑人間。

たとえ不幸でもそれを人に言わない・自慢話にしない奴は、もっとまじめにやってるからねえ。
>>994
類は友を呼ぶw
>>993
自分で稼いだ金で大学行った俺から言わせてもらうと、お前は氏ね
998969:04/06/29 22:55
俺は少なくとも、ここで初心者を煽ったりのレスはしたことはない。

この屑人間>>995
999969:04/06/29 22:55
>>997
ねたつくんなや。
1000969:04/06/29 22:56
ついでに1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。