トップページ⇒tech
1001コメント329KB

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

レス数が1000を超えています。これ以上書き込みはできません。
00011 ◆lqgT6FBSpw NGNG
つづけてどうぞ。
JSTLがあればいらんじゃん、とかJSFでおわったな、とか偏見あふれる意見もどうぞ。

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1048030962/
0002デフォルトの名無しさんNGNG
沢村
↓
00033NGNG
びろーん

志村
↓
0004デフォルトの名無しさんNGNG
参考スレッド

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
0005デフォルトの名無しさんNGNG
Struts使ってるサイトを見つけましたよ。

http://club.nintendo.jp/member/exec/index
0006デフォルトの名無しさんNGNG
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

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

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

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

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

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

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

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

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

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

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

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

TaglibやVelocityにも同じ疑問がある。
0013デフォルトの名無しさんNGNG
>>12
そういうときには、スクリプトレットばりばりでも、ECSでも、
なんでもやればいいさw

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

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

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

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

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

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

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

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

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

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

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

0023デフォルトの名無しさんNGNG
フレームワークは中世のフルアーマーみたいなもの。
足軽が身に付けても重くて動けなくなるのが関の山。
0024デフォルトの名無しさんNGNG
>>21
JSP側で<html:link forward="/hoge" target="_top">link</html:link>
ってやればどうかな。html:formの場合でも出来ると思うけど。
0025デフォルトの名無しさんNGNG
>>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.のもっときれいなやり方を教えてくだちい。
0026デフォルトの名無しさんNGNG
>>25自己訂正
<script type='text/javascript'>document.forms[0].submit()</script>
ですね。
0027デフォルトの名無しさんNGNG
>>25
俺的には、全ての場合において
3番のやり方(目的のページに遷移する前に、
まずフレームを解除するためだけの専用ページに 遷移する。
そのページの中身はほとんど空で、)
でいくと思う。
Submitボタン一個の場合は他にやりようがないでしょ
0028デフォルトの名無しさんNGNG
>>27
1.はボタン一つでもまったく問題ないと思うが。
0029デフォルトの名無しさんNGNG
1.すべての遷移先でフレームを解除する場合。
↑この条件がついているので却下しました
0030デフォルトの名無しさんNGNG
lintが欲しいのですが、いいのないですか?Strutsのtaglibやscliptletも
検知できるようなlintです。
0031デフォルトの名無しさんNGNG
>>30
あるなら俺もほしい。
0032デフォルトの名無しさんNGNG
>>30
scliptletが、eclipseの親戚みたいで(・∀・)イイ
0033デフォルトの名無しさんNGNG
>>32
おはYO!
 
0034デフォルトの名無しさんNGNG
>>33
これから寝るYO!
お(^о^〃)や(^О^〃)しゅ(^。^〃)みぃ(^-^〃)♪
0035デフォルトの名無しさんNGNG
>>33
おはよ。今日は晴れるかなぁ。
0036デフォルトの名無しさんNGNG
こまかいツッコミで申し訳ない。

>>30 >>32
×scliptlet
○scriptlet

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

何をチェックすればいいのでしょうか? サンプルのexsamples/はちゃんと動いています。
0042デフォルトの名無しさんNGNG
>>41
Strutsで簡単なActionクラス作って試していくしかない
そういうのって意外とありがち
おれも環境移行でそういう時あった
0043デフォルトの名無しさんNGNG
>>41
web.xmlさらせ。
0044デフォルトの名無しさんNGNG
Tomcatのバージョンを4.1.29にしたらdministration Toolで
サーブレット action は現在利用できません 
がでるようになった。これもStruts関係?
0045デフォルトの名無しさんNGNG
おい。Tomcatは4_1_24までにしとけよ
004644NGNG
Stableは4.1.27までみたいですね、今jakartaのWeb見て気付いた
バージョンダウンします。
0047デフォルトの名無しさんNGNG
>>46
いや、4.1.29なのだが・・・
http://jakarta.apache.org/site/news.html#20031031.2
JakartaのWebサイト見てどうしてそうなる?
004844NGNG
ほんとだ、でもとりあえず4.1.27でAdministrator Toolが動いたからいいや(^^;
0049デフォルトの名無しさんNGNG
>>47
http://jakarta.apache.org/tomcat/
に
Tomcat 4.1.27 Stable is the latest release.
という一文がある。
0050デフォルトの名無しさんNGNG
>>49
単にドキュメントのメンテ漏れと思われ
0051デフォルトの名無しさんNGNG
>>50
そうだとは思うんだけど「stable」に関わる文章だから、いちばん信頼できるのはそこに書かれてる一番低いバージョンということになる。
0052デフォルトの名無しさんNGNG
>>51
でも、Release Buildのダウンロードサイトからは4.1.27はダウンロードできないよ。
0053デフォルトの名無しさんNGNG
>>52
そうなの?
そいつは一本とられたね。
005444NGNG
Apache 1.3.27にJKコネクタでつなぐのに、server.xmlを変えたら
サーブレット action は現在利用できません 
が出るようになった。
server.xmlを元に戻したらAdministrator Toolでエラーが出なくなったので、
なんか設定間違えたかもしれない。わからん。
どうしようかな。Apace1.3はJK2使えるのかな。
とりあえず寝る。
0055デフォルトの名無しさんNGNG
>Apace1.3はJK2使えるのかな。
使えるよ。俺、仕事で使ってる。
0056デフォルトの名無しさんNGNG
>>54
それで、Tomcatに直アクセスしたらちゃんと動いてるの?
動いてないならJK以前の問題だよ。
005741NGNG
TomcatとStrutsのDataSourceの設定ミスだったよ。
0058デフォルトの名無しさんNGNG
>>57
そういうのはさ、できればどこがどうだったのか教えてくれよ
後続の質問者にも役立つんだから
005944NGNG
server.xmlの設定ミスでした。お騒がせしました。デフォルトの
Coyote/JK2 AJP 1.3 Connector でよかったのにわざわざ
AJP 1.3 Connectorのほうを使ってた。
006057NGNG
>>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)
006157NGNG
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> が異なっていたからのようです。

0062デフォルトの名無しさんNGNG
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>
0063デフォルトの名無しさんNGNG
<script language="JavaScript">
 error = "<html:errors />";
 if (error != "") {
  alert(error);
 }
</script>

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

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

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

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

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

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

# スレに関係ないんで、この辺で。。。
008781NGNG
なんだ、みんな全然情報を収集していないのか。

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
0088  NGNG
質問です。

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

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

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

0093デフォルトの名無しさんNGNG
>>88
ていうか,Strutsのlogic, bean のタグはもう使う必要ないでしょ.
JSTL使えよ.
Strutsのタグで必要なのは,html とtilesだけだろ.
0094デフォルトの名無しさんNGNG
>>87
ワラタ
http://sports2.2ch.net/pop.html
0095デフォルトの名無しさんNGNG
>92
不安定とはどう意味だ?
自分のプログラムのバグをvalidatorのせいにするとは、失敬な奴だな、君は。
0096 NGNG
>>95
<html:errors/>でエラーメッセージが出力されたりされなかったりするんですよ。
0097デフォルトの名無しさんNGNG
>>96

それだけの情報だと

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

っていってるようにしか思えんぞ.
009896NGNG
>>97
それは、お前の頭が悪いから。


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

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

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

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

>yyyy-MM-dd 固定
文字列のクラスに指定文字で区切られたデータを切り離してくれるのがあったはず。
それを使えば?
0111106NGNG
>>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からレコードのオブジェクトに変換するのがちと手間です。
0112デフォルトの名無しさんNGNG
tilesで質問です。

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

そんなあなたにこの論文を
http://www.theserverside.com/resources/article.jsp?l=SimplerJava
0120デフォルトの名無しさんNGNG
>>119
仕様にバグがたくさんあるってこと?
0121デフォルトの名無しさんNGNG
>>120
違う。今の実装(まだ参項実装だけどEA4だっけ?)では
実装がバグバグで使い物にならないということ。
仕様にバグがあるかどうかはしらないけど、FacesContextは
正直仕様のバグだとみなされても仕方が無いかも
0122デフォルトの名無しさんNGNG
多次元配列を扱う場合はどうすればいいですか。
例えば、社員リストを以下の形で表示してほしいという要望があったとき
(この要望には従わないといけない)、
支社
 部
  課
   社員
漏れは、素直に4次元配列を使うんだが、strutsでは、ActionFormに
どうやってセットし、JSPでどうやって取り出しますか。
また、多次元配列自体このスレで何度か話題に出てきて、
使うような仕様・設計が悪いともいうんだが、昔の会社の上司も
多次元配列を毛嫌いしていたが、漏れには何が悪いのかよくわからん。
どなたかレスお願いします。
0123デフォルトの名無しさんNGNG
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; }
}
多次元配列なんかいらね。
0124122NGNG
>>
で、strutsではどう表現しますか?

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

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

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

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

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


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

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

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

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

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

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

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

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

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

0150138NGNG
>>141
同意。

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

10プロジェクトで利用すれば、1プロジェクト当たり1画面で元は取れる計算。
つまりすでにフレームワーク習得のためのコストも減って、
使って当たり前の状態に。
0151122NGNG
みなさん、いろいろ意見ありがとうございます。
Strutsと関係ない話になってすみません。
実際、4次元配列は使ったことがないのですが、2次元配列はたまに
使うことがあります。フレームワークがJSPではStringで取り出すよう
になっていたためと、基本的に画面とDBを中心に考えて、表示内容は
ほとんどSQLで処理して、ロジック部分ではただ単にSQLの結果を表示
内容としてセットするだけの形が多かったために、クラスを作らない
形態になってしまったのかもしれません。ちょっと考え直します。
0152デフォルトの名無しさんNGNG
昔の上司でこういうコードを強要する奴がいたが、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);
 }
}
0153152NGNG
JSPではこんな感じ
<jsp:useBean id="xBean" class="BXXX_01" scope="session"/>
<tr>
<td><%=xBean.getParam(501)%></td><td><%=xBean.getParam(502)%></td>
</tr>
0154デフォルトの名無しさんNGNG
>>151
> 表示内容はほとんどSQLで処理して
危険ですね。
0155デフォルトの名無しさんNGNG
考え直すだけ未来があるな。ちょと安心
0156デフォルトの名無しさんNGNG
他人のソースをいろいろ読む大切さを痛感・・・
0157デフォルトの名無しさんNGNG
>>152
絶句
0158デフォルトの名無しさんNGNG
はしご高が文字化けします。
初期表示では化けていないのですが、
<html:errors>から
画面遷移すると
?で表示されます。
ご存知の方いたらご教授お願いします。
0159デフォルトの名無しさんNGNG
>>158
文字コードをUTF-8にしる。
0160122NGNG
>>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>
<% } %>
<% } %>
という具合に取り出します。
0161136NGNG
冷静に考えれ。入力フォームページのたびにクラス一つ作るんだろ?
めんどくさいだろだろ。

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

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

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

Javaだからだめですか?
COBOLならOKですか?
C#でドットネットですか? PHPですか? PerlでCGIですか?
ASPでVBScriptですか?
0166デフォルトの名無しさんNGNG
>>163

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

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

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

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

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

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

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

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

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

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

>>176

どこらへんが?

>>177

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

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

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

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

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

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

>>181

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

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

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

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

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

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

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

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

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

>>188

印象かよ!!
0191デフォルトの名無しさんNGNG
>>190
あれだけある要件のうち、一つだけですかい?

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

そんなことより、Struts のいいところを語ってくれ。
0193デフォルトの名無しさんNGNG
http://japan.pinkserver.com/mariko/2.html
0194デフォルトの名無しさんNGNG
>>191

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

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

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

Javaプログラマの株下げるような書き込みはやめれ
0200デフォルトの名無しさんNGNG
>>195

具体的にEJBのどの機能について?
0201デフォルトの名無しさんNGNG
>>199
知ったかはやめれ… 知らないことは知らないというべき
0202デフォルトの名無しさんNGNG
>>201

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

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

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

アホ?
0208デフォルトの名無しさんNGNG
>EJBは実は制作効率悪い。
使ったことがないことが丸わかり。

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

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

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

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

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

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

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

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

0225 NGNG
>>221
Improve_Struts Editor for Eclipse を使ってる。

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

これで十分です。
0226デフォルトの名無しさんNGNG
>>221
とりあえずstruts console
EclipseにもNetBeansにも組み込める
0227デフォルトの名無しさんNGNG
金が無いんならStruts StudioのCommunity Ed.という手もある。
SwingアプリだからUIはダサいけど機能は充分だよ。
有料版ならEclipseベースだし。
0228  NGNG
Struts でセキュアなwebアプリをつくるにはどうすればいいの?

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

0241デフォルトの名無しさんNGNG
>>237
サーバがhttpsを使えても、Strutsでは使えないよ。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TilesのライブラリがExceptionを出すよ。
0284283NGNG
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)
0285デフォルトの名無しさんNGNG
ApplicationResources.propertiesに、コメントってどう書いたらいいの?
0286デフォルトの名無しさんNGNG
通常のJavaのプロパティファイルと同じ。
#で1行コメントアウトできる
0287デフォルトの名無しさんNGNG
>>284
Struts SSL-extは使ったことないからよくわからんけど、
ControllerとしてRequestProcessorの代わりに
org.apache.struts.action.SecureTilesRequestProcessorを
使うようにしたらいいんじゃないの?
0288デフォルトの名無しさんNGNG
valaidaterを使用して、日付の入力チェックをしたいとおもってます。

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

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

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

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

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

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)では動くことが分かっています。
0298297NGNG
追伸です。
上のコード、JRunでは同様にコンパイルエラーになりました。

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

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

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

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

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

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

適当に言ってみる。
0305297NGNG
すみません、ちょっと離れておりました。

>>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" ?>
と冒頭に書いてあっても、そのまま動いたり。

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

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

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

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

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

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

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

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


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

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


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

あと"俺Servlet"よりは生産性は高い。設計がいいからね。
0321デフォルトの名無しさんNGNG
>>314, >>315, >>319, >>320

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

>>327
>PHP を勉強中なのだけど、PHPの良さって何?
手軽さってのはどう?アプリケーションの設定をしなくても、
拡張子.phpでスクリプトを書いちゃえばそのまま動く。
一応、クラスや継承もサポートしてるので、オブジェクト指向も可能。
PHP5からは例外なんかもサポートするらしいので、
マンモス本のPHP4から比べると多少強力になってるかも。
0330デフォルトの名無しさんNGNG
手軽さだけならaspの方が。
0331デフォルトの名無しさんNGNG
PHPでは仕様がクソすぎてできませんでした。こんな私はOOP厨失格ですか?
0332デフォルトの名無しさんNGNG
struts1.1を使っています。tilesを使用しているのですが、
putに設定するJSPファイル内にStringを挿入したいのですが
どうすればいいのでしょうか?putlist?
0333sageNGNG
フォームをオブジェクトに見立てるという無意味極まりない
抽象化をありがたがるJavaコミュニティって普通にヤバいだろ。
0334デフォルトの名無しさんNGNG
DOMではformもオブジェクトだね。
0335デフォルトの名無しさんNGNG
>>333
口だけの評論家ステ
0336デフォルトの名無しさんNGNG
見え見えの上げてる時点で、暇人の煽りだろ
0337デフォルトの名無しさんNGNG
>>333はWebWork派の刺客
0338デフォルトの名無しさんNGNG
「日本発の世界戦略」,Struts普及作戦の舞台裏
http://itpro.nikkeibp.co.jp/members/ITPro/J2EE/20030914/2/
0339デフォルトの名無しさんNGNG
オブジェクト指向を否定するとああなるのか。
UMLもSmalltalkも否定する輩の浅はかさを垣間見た瞬間だった
0340デフォルトの名無しさんNGNG
入力された値に基づいて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タグで普通に画像があるようにしたいんだけど、どうしたらいいの。
0341デフォルトの名無しさんNGNG
>>340
別サーブレットにする。
cewolfとかjfreechartとかのソースを参考にど〜ぞ
0342340NGNG
>>341
JFreeChartは使ってるけど、サーブレットなんか使ってたっけ? JPanelをそのままhtml
に表示できないよね。

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

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

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

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

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

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

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

(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画像を表示できる。
0362 NGNG
Action クラスから、<logic:iterate> のoffsetやlengthを指定する方法はありますか?
0363デフォルトの名無しさんNGNG
>>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
0364362NGNG
>>363
ありがとう。

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

EL じゃない素の Struts は、

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

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

>>365のやり方しかないみたい。
0367デフォルトの名無しさんNGNG
>>329

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

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

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

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

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

動的出力部分は、perlスクリプトだろうがJavaServletだろうがPHPだろうが、
似たように作らなきゃならん。
0370デフォルトの名無しさんNGNG
>>367
んじゃ、つかうな。
0371329NGNG
>>367
レスサンクス。
でも、バイナリストリームの話は激しく違うぞ。>>369の言う通り。

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

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

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

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

<html:submit property="hoge">

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

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

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

・・というか他ので振り分けを行った方が良いでつか? (´・ω・`)
0375>>374NGNG
<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>
0376>>374NGNG
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";
}
0377HTMLはこうなる。NGNG
<html:submit property="submit1" value="下書き読込"/>
<html:submit property="submit2" value="下書き保存"/>
<html:submit property="submit3" value="提出"/>

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

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

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

> ActionFormに関係ない値は捨てられてしまうのですか?
> また、これらの値を取得する方法はありますか?
0381 NGNG
<html:link> でSubmitはどうやればいいのですか?
0382デフォルトの名無しさんNGNG
onclick
0383374NGNG
レス下さった方サンクスです。

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ちょっと話はそれますが、DAOの場合複数のテーブルにまたがる
処理、SQLはどこに記述してますか?
0410デフォルトの名無しさんNGNG
>>407

> perlで自動生成

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

>>430
そんな難しくないと思いますよ。JSFみたいな感じかな。
JSFが流行るとすると、Strutsはあまり目立たない所で使われる
ようになるんですかね。
0432デフォルトの名無しさんNGNG
>431
>JSFみたいな感じかな。

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

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

入ってるときだけでも取れればいいんだったら使える。
0434デフォルトの名無しさんNGNG
>>428-429 >>431
"Referer"じゃなく、"referer"ではどうよ?

まあ、>>433の言うとおりではあるのだが・・・。
0435 NGNG
Struts で JDBCRealmによるフォームベース認証はどうやればいいのですか?

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

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

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

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

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

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

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

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

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

あと、DAOって詳しくわかってないのですが、デザインパターンのことですか?
私はテーブル単位にクラスを作成し、フィールドのアクセッサがあって、
データソースの取得からSQLの発行を行うものと勝手に思っているのですが…
>>458 さんの「DAOインスタンス取得を行うようにしてBLにDAOを渡してGo」を
詳しく解説希望です。DAOについてのサンプルPGってどこかにないですかね。
0462デフォルトの名無しさんNGNG
>>461
まあ、全部が全部有用なわけじゃないけど。
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
0463399NGNG
>>461
ビジネスロジックからのExceptionをActionErrorsに詰めればOK。
0464デフォルトの名無しさんNGNG
>>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クラスにデータアクセスを集約することでモデルクラスの再利用性を高めるのです。
0465444NGNG
>>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周りの知識習得の学習コストでいろいろ葛藤してます。
スレ違いすみません。
0466デフォルトの名無しさんNGNG
Action.execute()でActionForwardを返しますが、その時別な
サーバーのURL(例えば'http://2ch.net')を指定したいときは
どうするのですか?
return new ActionForward("http://2ch.net");
じゃだめでした。
0467デフォルトの名無しさんNGNG
>>466
ActionForward#setPath
0468デフォルトの名無しさんNGNG
request#sendRedirect して return null;
0469デフォルトの名無しさんNGNG
間違えた。
s/request/response/
0470466NGNG
できました。ありがとう。 > response#sendRedirect - return null;

ActionForwardに固執する必要なかったんですね
0471デフォルトの名無しさんNGNG
>>459
オマエモナー

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

&amp;amp;

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

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

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

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

大方同意だが、Tapestryってのもこれはこれで、くだらなさそう。
Javaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは
0493デフォルトの名無しさんNGNG
WebWork ボソ
Spring ボソ
0494 NGNG
Tapestry、jakarta徹底攻略2のチュートリアルが動かないから見捨てたよ(w


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

Seaser ボソ
0495デフォルトの名無しさんNGNG
>>493

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

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

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

0499デフォルトの名無しさんNGNG
>>492
>Javaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは

プロの方とお見受けしました
するとweb系アプリの開発言語はなにが適しているんですか?
0500デフォルトの名無しさんNGNG
Webアプリの開発言語?
んなもん、PerlかPHPに決まってんだろ。
コンパイル言語使ってる時点で終わってんだよ。
馬鹿も休み休み言え。
0501デフォルトの名無しさんNGNG
笑うとこですか?
0502デフォルトの名無しさんNGNG
Webアプリ=掲示板と思っている厨房が粋がるスレはここですか?
0503デフォルトの名無しさんNGNG
>>502
ショッピングカートだよ。
セッションなんかも使っちゃうんだよ。
0504デフォルトの名無しさんNGNG
Webアプリ=解析機能付きアクセスカウンター
0505デフォルトの名無しさんNGNG
Webアプリ = メール送信フォーム
0506デフォルトの名無しさんNGNG
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〜省略〜
0507デフォルトの名無しさんNGNG
Jakarta Velocity 最強

<input
 type="text" name="usrId"
 value="$Escape->getText($bean->UserId)"
/>
0508デフォルトの名無しさんNGNG
>>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>

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

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

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

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

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

タペは一度使ってみるが、たとえ良くても個人的に使うぐらいだろうなぁ。
0521デフォルトの名無しさんNGNG
StrutsでMySQLから検索して表示したレコードの横にチェックボックスを作り
チェックしたレコードだけ削除するってやり方が載ってる本って
ありますか?マスタリングJakartaStrutsだとリンクを使っている
みたいなのですが、チェックボックスでやりたいです。
0522デフォルトの名無しさんNGNG
チェックボックスの使い方も書いてない参考書は無いと思うが・・・
<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だったものを削除処理、で良いのでは。
0523デフォルトの名無しさんNGNG
>>521
つーかリンクを使って出来るならチェックボックスも使えるはずだろ
0524521NGNG
>>522
>>523
レスサンクス
0525デフォルトの名無しさんNGNG
Strutsで使えるTagLib?で、
 ・ページ切り替えができる一覧表示機能
 ・ページ内で、各項目を選択するためのチェックボックス付き
 ・ページ切り替えしても、チェックした内容が保存されてる
っていうものあります?
0526デフォルトの名無しさんNGNG
>>525
taglib を組み合わせろ。
できる
0527デフォルトの名無しさんNGNG
>>>525
Strutsベースではないが、こんなのもある。

ttp://displaytag.sourceforge.net/
0528デフォルトの名無しさんNGNG
>>500

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

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

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

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

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

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

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

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

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

Apache Avalon メンバの間でも話題になってるようだす。
0543デフォルトの名無しさんNGNG
>>542
IoCに関するほどよい情報源、キボンヌ
0544デフォルトの名無しさんNGNG
>>542
何をいまさら。
Strutsだって、制御の逆転だろ。
それに、Seasarは海外じゃないし。
それから、Picoもよろしこ。
0545デフォルトの名無しさんNGNG
>>543
IoC の各タイプのサンプル
ttp://today.java.net/pub/a/today/2004/02/10/ioc.html

マーチンファウラー君の説明
ttp://martinfowler.com/articles/injection.html

手抜き
ttp://www.google.com/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&newwindow=1&q=IoC%83R%83%93%83e%83i&lr=lang_ja
0546デフォルトの名無しさんNGNG
HibernateはSpringのIoCコンテナをサポート。
0547デフォルトの名無しさんNGNG
IoCは、むかしからHollywoodといわれてたんだが。
もっと有名な言葉でいえば framework 。
0548542NGNG
こんな時間に起きてしまった。。。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# 買ってといったら予算は増やせないが、掛け持ちで作業するメンバーは増やせるので
# それでどうにかしろとか言われて鬱なので。
0603デフォルトの名無しさんNGNG
>>601
そーじゃなくて、高いモノ使った方が営業的にいいってことだろ。
0604デフォルトの名無しさんNGNG
>>603
高いものは買ってもらえない。
0605 NGNG
まあ営業的に数字あげたいんで。
tomcatよりもWebSphere
MySQLよりもOracle
linuxよりもWindows

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

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

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

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

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

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

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

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

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

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

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

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

同意。

そうなんだよ。

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

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


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

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

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

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

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

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

むしろ、ほったらかし(混んでても接続OK)の方がしくみとしては良くないのでは?
0668デフォルトの名無しさんNGNG
>>677

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

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

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

0671デフォルトの名無しさんNGNG
WebProg板のこのスレが参考になる。

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

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

えっ! Perlを使うとアクセス数が増えるのか!
0674デフォルトの名無しさんNGNG
尾も白くない
0675651=664NGNG
>>672
Strutsで遊んでいるプログラマ様、
ご指摘の部分、なにを言いたいのでしょうか?

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

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

>Tomcatすら使わず
ブハッw

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

つーか仕事中だ俺
0716デフォルトの名無しさんNGNG
ライセンスはどうなってるの?
商用以外は自由そうだけど

許可をえないといけないってこと?
you must first obtain an agreement from Improve.
0717デフォルトの名無しさんNGNG
>>710

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

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

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

てのならよくやりますが
0724デフォルトの名無しさんNGNG
Struts はもう業務ではやりたくない。
飽き飽き
0725721NGNG
あくまでラップですか。
冗長っていうか、なんか同じコード書いてるなーって思うんです。
現状はBeanUtilsを使いまくるって感じ。
O/Rマッピングのスレに、リンクを張ってみますね。

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

0728デフォルトの名無しさんNGNG
>>726

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

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

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

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

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

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


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

でも、コントローラにビジネスロジック丸ごと書いててはMVCもヘッタクレも無いだろ。
0784デフォルトの名無しさんNGNG
>でも、コントローラにビジネスロジック丸ごと書いててはMVCもヘッタクレも無いだろ。

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

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

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

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

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


いかん、大人気ないことを言ってしまった。○| ̄|_
0805デフォルトの名無しさんNGNG
まぁ、何も無かった頃からの色々な過程を見ないで、いきなりMVC学んだ人が
殆どだろうから、MVCは神みたいな存在になっているんだろう。
大事なのは、モデルを守ることではなく、効率を上げることなんだが。
0806デフォルトの名無しさんNGNG
>>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.
0807デフォルトの名無しさんNGNG
>>806
works best with your container
0808デフォルトの名無しさんNGNG
HTMLファイルをJSPに変換するツールあったら教えて下さい。
0809デフォルトの名無しさんNGNG
拡張子をhtmlからjspに変えるだけで済みますよ
0810デフォルトの名無しさんNGNG
>>806
Commons BasicDataSourceはStrutsのDataSourceなのか?
0811806NGNG
>>810
いやいや、それはそうなんだが、
言いたかったのは、
「struts-config.xmlでDataSourceを定義し、かつGenericDatasourceを使用する」
ことは非推奨とされてるようだけど、
「struts-config.xmlのDataSourceを定義するが、DataSourceマネジャには
CommonsのBasicDatasourceを使用する」
ことまでは非推奨となっていないのでは、ということ。

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

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

で?何がいいたいの?揚げ足鶏君w
0815デフォルトの名無しさんNGNG
中学生は家で寝てろってこと。
0816デフォルトの名無しさんNGNG
>>814
お前、あふぉか?
揚げ足取りにしか捉えられないのか?
こういう奴、仕様を独自解釈で突っ走って開発進めて
客のクレームを「揚げ足取り」とか言うんだろうなw
0817デフォルトの名無しさんNGNG
>>816
子供相手に向きになるなョ
0818806NGNG
>>814
勝手にレスすんなって(w
0819デフォルトの名無しさんNGNG
データベースの設定なんか、サーバーごとにことなるからwarに埋め込まれても迷惑だな。
0820デフォルトの名無しさんNGNG
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が糞でした。
修正したらポップアップ出るようになりました。俺の使ってる奴バージョン古いのかなぁ
0821デフォルトの名無しさんNGNG
>>820
Struts Validator のJavaScript自動生成にはバグがあるから使うな、って話は良く聞くが・・
0822デフォルトの名無しさんNGNG
>>820
バージョン書けよ。
ちなみに、integerのJavaScriptは1.1RC2まではバグがあり、1.1で修正された
0823820NGNG
1.1だけど、StrutsStudioっていうツールの吐き出してる奴だから、こいつが悪さしてるのかも。

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

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

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

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

教えてくれないとJava脂肪コピペで1000を目指します。
0842デフォルトの名無しさんNGNG
>>841
げりぎみのくそ
0843デフォルトの名無しさんNGNG
>>842
2点
0844デフォルトの名無しさんNGNG
二点満点で二点貰った
0845strutsNGNG
>>841
ストラトスだよ。
0846デフォルトの名無しさんNGNG
>>841
Strutsって読むんだよ






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

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

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

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

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


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


0884デフォルトの名無しさんNGNG
>>881
上位interface用意して、performとexecute以外のもの持たせて、newInterfaceとoldInterfaceにする。
それに実際問題、ActionFormIFを作るとしたら、実装が必要なのメソッドとしては
 void initialize(StrutsInfo information);
みたいなStrutsに関する情報をActionFormに押し付けるメソッドだけで、あとはStrutsInfoを介してやりとりすればいい。
そうすれば、変更はStrutsInfoに閉じられるのでActionFormには影響ない。
0885デフォルトの名無しさんNGNG
ストラッツインアクション見てみたけど、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にする。
ということで。
0886デフォルトの名無しさんNGNG
じゃあさ、おまいら2ちゃんでぐだぐだ言ってないで
Struts-devにリファクタリングを提案するなり、パッチ送るなりしろや。
0887デフォルトの名無しさんNGNG
>>886
やだ。
0888885NGNG
この板で、いろんな理論とか実装の話すると
「じゃあ2chじゃなくて、しかるべきところで発表しろよ」
っていうレスするやついるけど、あれって
「それは、しかるべきところで発表する価値のある意見です」
っていうお誉めの言葉だと思っていいのかな?
0889デフォルトの名無しさんNGNG
>>888
オプソが何なのかわかってない奴だな
0890デフォルトの名無しさんNGNG
そこで IoC ですよ。
0891885NGNG
>>889
意見があれば必ず正式なコミュニティーに貢献しないといけない、というものではないことは知ってる。
0892885NGNG
ある程度の規模のプロダクトの場合は、ちょっとした意見でも正式なコミュニティーに意見を出そうと思うとかなりの時間を費やすことも知ってる。
0893デフォルトの名無しさんNGNG
>>884
それは結果論だよね。
Struts1.0の時代にperformだけ別にして継承するインターフェイスなんて設計する馬鹿がいるとは思えない。
performじゃなくてresetが変わってたらどうするんだ?



0894885NGNG
>>893
ん?あとからでもいけるだろ。
interface ActionIF{
 perform();
 reset();
}
って昔あったとしたら
interface BaseActionIF{
 reset();
}
interface ActionIF extends BaseActionIF{
 perform();
}
interface NewActionIF extends BaseActionIF{
 execute();
}
にすればいいだけじゃん。予見しとく必要なんかない。
0895デフォルトの名無しさんNGNG
じゃまだ、どっか池
0896デフォルトの名無しさんNGNG
>>895
そうだね。
ここはオブジェクト指向の設計わかってないやつの質問に答えるスレじゃなかったね。
0897デフォルトの名無しさんNGNG
>>885
悪い事言わんから勉強仕直せ。
0898デフォルトの名無しさんNGNG
ずっと見てたがくだらん。
全員勉強しろ。StrutsやJavaに詳しいだけではフレームワークの有効活用は無理だぜ
0899885NGNG
>>897
勉強の指針として、おおまかに間違ってる部分の指摘を希望。
0900デフォルトの名無しさんNGNG
なんつーか、思いこみで理解した気になってる奴って、他人の批判を壮大に繰り広げがちだよな。
0901デフォルトの名無しさんNGNG
>>899
おまえのためにあるスレではないし。
ほかでやれ
0902デフォルトの名無しさんNGNG
別に、間違って覚えてて困るのは、俺たちじゃなくて>>885だけだし。
0903デフォルトの名無しさんNGNG
>>902
このスレで勉強してるやつも困ってる。
0904885NGNG
否定するだけで具体的な指摘のないレスは、単なる煽りということでよろしいか?
くだらんのは同意。
井戸端会議してるだけだし。
0905デフォルトの名無しさんNGNG
はいはい。良かったね。
0906デフォルトの名無しさんNGNG
Java厨(!=Java利用者)ってバカばっか
0907885NGNG
まともなツッコミができなくなったら「バカ」とかが出てくるわけですね。
0908デフォルトの名無しさんNGNG
みんな885が嫌い
0909デフォルトの名無しさんNGNG
どこから突っ込んでいいものやら
0910デフォルトの名無しさんNGNG
正直言うと、元の投稿が意味不明すぎて、ツッコミができない。
あえて突っ込むとすれば、元記事と関係なくなにか正しいことを書くしかない。
0911885NGNG
>>910
了解。
ま、時間があれば、ひとことふたこと、正しいこと書いてくれ。
0912デフォルトの名無しさんNGNG
意味不明というか、電波というか、思いこみ激しいと言うかな。
0913デフォルトの名無しさんNGNG
>>912
は・げ・ど・う
0914885NGNG
意見のない、単なる煽りの人は、よく2人セットで出現するね。
0915デフォルトの名無しさんNGNG
885うざい
0916885NGNG
お前らの方がうざいだろ、常識的に考えても
0917885NGNG
お、はじめてニセモノが現れた。
0918885NGNG
本当だ
0919885NGNG
ということで、JSFと連携すれば便利っていう話があるけど、JSF使うならJSFだけでやったほうがいいよね、っていうのはどうなの?
やっぱStrutsは過渡期の技術だったことになるのかなぁ。
0920デフォルトの名無しさんNGNG
コテさえやめれば、みんなに話聞いてもらえるのにねw
自意識過剰も大変だねw
0921デフォルトの名無しさんNGNG
>>919
君が立派だって事は分かったから、ここ嫁。
http://jakarta.apache.org/struts/faqs/kickstart.html#jsf
0922デフォルトの名無しさんNGNG
うん、で、そこんとこ、どうよ?
0923デフォルトの名無しさんNGNG
>>921
そこのリンク読んだけど、JSFとStrutsがどう絡んでいくかじゃなくて、JSFがどういう仕様策定をされているかっていうのが主な話題に見えた。
0924デフォルトの名無しさんNGNG
>>840
http://d.hatena.ne.jp/hyperash/20040513#1084451804

これでできるよ☆
0925デフォルトの名無しさんNGNG
みんながんばれー!じゃあねぇ〜〜〜
0926デフォルトの名無しさんNGNG
文字化けで質問です。Tomcat4.30とStrutsを仕様いています。
http;//localhost:8080/test.do?param1=1111¶m2=岐阜県
というURIを、HttpRequestのgetParameterValues(param2);で受け取ると、
岐?E?
というふうに文字化けしてしまいます。

何か、解決策はあるのでしょうか?
0927デフォルトの名無しさんNGNG
>>926
マルチうざいぞ。
あっちのスレに答え書いてやったから見ろ。
0928デフォルトの名無しさんNGNG
>>926
なんでエスケープしてないの?
0929デフォルトの名無しさんNGNG
>>928
この場合はエスケープじゃなくてエンコードと言わないか?
0930デフォルトの名無しさんNGNG
機能を回避するわけではないからな。
0931デフォルトの名無しさんNGNG
>>926
URLEncoder
0932デフォルトの名無しさんNGNG
>>929
http://www.ietf.org/rfc/rfc2396.txt
0933デフォルトの名無しさんNGNG
で?
0934デフォルトの名無しさんNGNG
2時間ほどかけて、大体よませていただきましたが、
どうやら、TAPESTRYって大変なものらしいですね。
STRUTS始めようとおもっていましたので、
みなさんの、意外に真面目な議論がためになりました。
どうもありがとう。
0935926NGNG
>>928
JavaScriptで、URLを組み立てていたからです。糞設計というのは判ってる。仕方ないんだ。。。

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

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


泣くなよ☆
0957カプコンNGNG
げ、山田って、山田祥寛さん??

マジ?本物??

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

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

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

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

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

今度はEJBの本書いてくださいよ。がんばってくださ〜い
0959デフォルトの名無しさんNGNG
この情熱は、どこからわいてくるのだろうか
0960カプコンNGNG
カプコン寝る。じゃーね☆
0961山田だけどNGNG
人に迷惑をかけているという点では、カプコンも同罪だろう。
0962カプコンNGNG
あちゃー。山田さんに言われちゃった。参った。寝るしかないね。おやすみ。
0963デフォルトの名無しさんNGNG
>>951
> その後の対応の悪さってどういうこと?
> ちゃんと修正したじゃん。

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

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

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

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

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

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

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

で、実際Strutsって、かじりだけでもやっといたほうが良いの?
0968デフォルトの名無しさんNGNG
>>967
知らなければ、いるとかいらないとかいう話はできない。
せめて一回ActionFormを継承したクラスを書く経験をしてたほうがいい。
JSTLとかELとかは、Struts使おうが使うまいが必要だし。
0969967NGNG
>>968
どうもありがとう。JSTLとかELっていうのは、本を買ってきて、大体つかんだんですよ。

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

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

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

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

>>972
どうも、そんな感じですね。聞くところによると。やってみりゃ、わかるというのが、色々な人の感想みたいです。
ありがとう
0974デフォルトの名無しさんNGNG
>>973
もう、無理してネタ作んなくてもいいですよ。
0975デフォルトの名無しさんNGNG
バカ、今度こそ本物の山田様降臨じゃないか
0976969NGNG
>>974
じゃー、おまえ、Struts以前にフレームワークがあんのか?いってみろ。
0977デフォルトの名無しさんNGNG
山田キタ━━━━━━(゚∀゚)━━━━━━ !!
0978デフォルトの名無しさんNGNG
>フレームワークって何??
>フレームワークって何??
>フレームワークって何??
0979969NGNG
うるせぇ、妄想変態や労。氏ね
0980デフォルトの名無しさんNGNG
フレームワークって何??
0981デフォルトの名無しさんNGNG
せっかくだから俺はフレームワークを選ぶぜ
0982969NGNG
Strutsしかしらねーよ。それがなんなのかもしらねぇよ。くどくど聞くな。

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

おまえ、Struts以前のフレームワークとかしらんから、むきになってんだろ。
俺は実は知ってるぞ。変なCSKとかいう会社がつくってたやつだ。触った事はないがな。
0983デフォルトの名無しさんNGNG
フレームワーク越前
0984983NGNG
>>982
俺のせっかくのレスの邪魔すんな
すっこんでろ
0985デフォルトの名無しさんNGNG
フレームワークって言葉自体知らなかったのが笑える
0986969NGNG
なんだよ。このスレ。俺がStrutsってなにかな?と知ろうと思って、さかのぼって、
今日見てたけど、ろくな会話がねぇじゃんかよ。

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

そんなもん、しょうがねぇだろが。
0989デフォルトの名無しさんNGNG
>>987
普通隠すな。
0990969NGNG
おまえら、あれか?最後まで、煽りで通す気か?悲しいぞ。ぼけ。
0991デフォルトの名無しさんNGNG
>>990
「しょうがない」
言った時点で
負け組だ
0992デフォルトの名無しさんNGNG
専門学校だって安くないだろうに、途中でやめて
業務もたった二年半

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

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

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

しょうがないだろ。

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

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

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

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

以上だ。もうレスはしない。
0995デフォルトの名無しさんNGNG
あっそ。じゃあね不幸自慢の屑人間。

たとえ不幸でもそれを人に言わない・自慢話にしない奴は、もっとまじめにやってるからねえ。
0996デフォルトの名無しさんNGNG
>>994
類は友を呼ぶw
0997デフォルトの名無しさんNGNG
>>993
自分で稼いだ金で大学行った俺から言わせてもらうと、お前は氏ね
0998969NGNG
俺は少なくとも、ここで初心者を煽ったりのレスはしたことはない。

この屑人間>>995
0999969NGNG
>>997
ねたつくんなや。
1000969NGNG
ついでに1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。