△△つづいて漏れにStrutsの良さを教えてくだっさい
レス数が1000を超えています。これ以上書き込みはできません。
00011 ◆lqgT6FBSpw
NGNGJSTLがあればいらんじゃん、とかJSFでおわったな、とか偏見あふれる意見もどうぞ。
前スレ
http://pc2.2ch.net/test/read.cgi/tech/1048030962/
0002デフォルトの名無しさん
NGNG↓
00033
NGNG志村
↓
0004デフォルトの名無しさん
NGNGServlet/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デフォルトの名無しさん
NGNGhttp://club.nintendo.jp/member/exec/index
0006デフォルトの名無しさん
NGNG(<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前スレの993
NGNG> かえって、知識のない人にも読める分、元のほうが可読性が高い
> のではないかとすら思うのです。
「知識の無い」を「Javaの知識の無い」としてみてください。
要するに、デザイナー。
拒否感が違うみたい。
スクリプトレットに比べるとJSTLなら「変なタグがある」程度。
0008デフォルトの名無しさん
NGNGhttp://squab.no-ip.com:8080/wiki/522
上のリンク先では、Tablibという仕組みそのものに問題があると書かれているようです。よく分からないのですが、私の理解した範囲では、
どのようなTaglibを定義しても、アプリケーションが複雑になれば、必ずそのTaglib
では不足する局面が発生する。MVCを完全に分離できるというのは幻想だ。
このまま進めば、Taglibは、Javaそのものと同様の高性能、多機能な存在になるまで
進化しつづけるだろうし、
さらに最終的にはLISPのような、データとロジックの区分すら存在しないものにまで
到達してしまうかも知れない。
これは車輪の再発明に他ならない。
ということではないかと思います。
この意見の当否はわかりませんが、このリンク先では、MVCとはキレイな理想ではなく、
むしろ現実的な妥協の産物としているようで、大いに考えさせられました。
0009デフォルトの名無しさん
NGNGデザイナーさんとは面識がないので、何とも言えないのですが、例えば、
複雑にネストした分岐やループを持つページが、XMLになれば、
デザイナーさんの拒否感が少なくなるというのは、事実なのかも
しれませんが、不思議だなあと思います。
デザイナーさんとプログラマでは、思考回路がかなり違うのかもしれません。
Velocityがそのあたりを含めて解決しようとしているらしいですが、恥ずかしながら
私は何も知りません。
0010デフォルトの名無しさん
NGNG経験則からいうと、デザイナにとっては
XMLC>>Velocity>Taglibs>JSP Scriptlet
っぽい
0011デフォルトの名無しさん
NGNGじゃないかね?
0012デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1067531714/-100
Tapestryも、XMLCも、テンプレートとなるHTMLファイルに、独自のタグを
一切含まない、純粋なHTMLであることが特徴らしい。面白いねえ。
デザイナさん大喜び?
しかし、プログラマ本人にメリットはあるのだろうか?
イントラのシステムとかで、プログラマが手早く作ったデザインでOKという場合でも
メリットはあるのかのう?
TaglibやVelocityにも同じ疑問がある。
0013デフォルトの名無しさん
NGNGそういうときには、スクリプトレットばりばりでも、ECSでも、
なんでもやればいいさw
そんなにキミはウェブデザインに自信があるの?w
0014デフォルトの名無しさん
NGNGしかし、独自のタグは含まないけどHTMLのDTDからは外れるんだよね。
まあ、大抵の場合はデザイナー自身がDTDから外れまくりだから
いいといえばいいんだけど。
0015デフォルトの名無しさん
NGNGいや、すさまじく自信がない。
しかし最近たまたま、そういう仕事が多かったので。
にわか覚えで拡張タグライブラリを使いながら、
「このコードを見るのは、私だけだなあ」とか考えてた。
>>14
そうなんだ。
じゃあ、それを解決した新しいテンプレートエンジンが出るかもしれんのう。
ものすごく小さなニッチだけど。
0016デフォルトの名無しさん
NGNGマジレスすると、間違いなく自分しか触らないコードなら、
どんな実装方法でもかまわないと思う。
(実際には高い確率で他人が見たり触ったりするんだけどね・・・)
でも、規模が大きくなって、作業分担が必要になると、
Velocityみたいなテンプレートエンジンとか、
StrutsやTapestryみたいなフレームワークがあった方が
便利になってくる。
0017デフォルトの名無しさん
NGNG△△もまいら漏れにStrutsの良さを教えてください
http://ruku.qp.tc/dat2ch/0311/09/1048030962.html
0018デフォルトの名無しさん
NGNGStrutsを知ったとき、いちばん感動したのは、ActionForm Beanと、htmlタグの
便利さだったんです。
昔、ASPの仕事をしていたのだけど、登録にエラーがあって入力ページに戻されるとき、
ユーザが入力した値が消えたりせず、入力ページのフィールドにそのまま保持されて
いる、という仕様を満たす必要があった。
これを作るのは結構面倒くさかった。単純なフレームワークめいたものを作って
対応したのだけど。
Strutsは標準でその機能を洗練された形で持っていたから、とにかくそれだけでも
ありがたかった。プログラマとしては大助かりですよ。
拡張タグライブラリにも、プログラマ個人にとっての利便を期待したんだけど、
HTMLタグ以外は「あれ?」という感じだった。同僚にコードを見せるときも、
かえってスクリプトレットの方が話が早かったりするし。
こういうプログラマの内輪だけでは、拡張タグのメリットって無いものですかね?
0019デフォルトの名無しさん
NGNG以前からJSPの仕事ではMVC的にやろうとしていたから、JSPには極力スクリプトレット
は書かないようにしていた。だからスクリプトレットを拡張タグライブラリに置き
換えること自体はすぐできた。
だけど、置き換えたこと自体のメリットを感じなかったのです。
よく「分かりやすいコードを書け。半年後に読み直す自分のために」と言うけど、
半年ぐらいたったら、スクリプトレットより読みやすくなるのかな?
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNGのですが、どうしたら良いのでしょーか!?
こう書けば出来るかな? と思ったけど「target」は無いらしい・・・
<forward name="success" path="/hoge.do" target="_top"/>
0022デフォルトの名無しさん
NGNGテキストエリアに文章が入力されているかチェックする。というのはどのように書けばいいのでしょうか?
0023デフォルトの名無しさん
NGNG足軽が身に付けても重くて動けなくなるのが関の山。
0024デフォルトの名無しさん
NGNGJSP側で<html:link forward="/hoge" target="_top">link</html:link>
ってやればどうかな。html:formの場合でも出来ると思うけど。
0025デフォルトの名無しさん
NGNG質問の内容がやや漠然としているので、いくつかの場合に分けてみる。
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<script type='text/javascript'>document.forms[0].submit()</script>
ですね。
0027デフォルトの名無しさん
NGNG俺的には、全ての場合において
3番のやり方(目的のページに遷移する前に、
まずフレームを解除するためだけの専用ページに 遷移する。
そのページの中身はほとんど空で、)
でいくと思う。
Submitボタン一個の場合は他にやりようがないでしょ
0028デフォルトの名無しさん
NGNG1.はボタン一つでもまったく問題ないと思うが。
0029デフォルトの名無しさん
NGNG↑この条件がついているので却下しました
0030デフォルトの名無しさん
NGNG検知できるようなlintです。
0031デフォルトの名無しさん
NGNGあるなら俺もほしい。
0032デフォルトの名無しさん
NGNGscliptletが、eclipseの親戚みたいで(・∀・)イイ
0033デフォルトの名無しさん
NGNGおはYO!
0034デフォルトの名無しさん
NGNGこれから寝るYO!
お(^о^〃)や(^О^〃)しゅ(^。^〃)みぃ(^-^〃)♪
0035デフォルトの名無しさん
NGNGおはよ。今日は晴れるかなぁ。
0036デフォルトの名無しさん
NGNG>>30 >>32
×scliptlet
○scriptlet
scriptlet = script + let
let = 「小さな」を意味する接尾辞。(ex. booklet = ブックレット・小冊子)
0038デフォルトの名無しさん
NGNGTomcatだとStrutsのタグの扱いは厳密にみてない気が。
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGそんなに厳密なのか?
それともWebLoicが独自解釈しているのかもしれないぞ?
0041
NGNGおきました。
tomcatを起動してアクセスしてみると、jspは表示されるのですが、サーブレットが動いていないようで
HTTP Status 503 サーブレット action は現在利用できません
というエラーが出てしまいます。
何をチェックすればいいのでしょうか? サンプルのexsamples/はちゃんと動いています。
0042デフォルトの名無しさん
NGNGStrutsで簡単なActionクラス作って試していくしかない
そういうのって意外とありがち
おれも環境移行でそういう時あった
0043デフォルトの名無しさん
NGNGweb.xmlさらせ。
0044デフォルトの名無しさん
NGNGサーブレット action は現在利用できません
がでるようになった。これもStruts関係?
0045デフォルトの名無しさん
NGNG004644
NGNGバージョンダウンします。
0047デフォルトの名無しさん
NGNGいや、4.1.29なのだが・・・
http://jakarta.apache.org/site/news.html#20031031.2
JakartaのWebサイト見てどうしてそうなる?
004844
NGNG0049デフォルトの名無しさん
NGNGhttp://jakarta.apache.org/tomcat/
に
Tomcat 4.1.27 Stable is the latest release.
という一文がある。
0050デフォルトの名無しさん
NGNG単にドキュメントのメンテ漏れと思われ
0051デフォルトの名無しさん
NGNGそうだとは思うんだけど「stable」に関わる文章だから、いちばん信頼できるのはそこに書かれてる一番低いバージョンということになる。
0052デフォルトの名無しさん
NGNGでも、Release Buildのダウンロードサイトからは4.1.27はダウンロードできないよ。
0053デフォルトの名無しさん
NGNGそうなの?
そいつは一本とられたね。
005444
NGNGサーブレット action は現在利用できません
が出るようになった。
server.xmlを元に戻したらAdministrator Toolでエラーが出なくなったので、
なんか設定間違えたかもしれない。わからん。
どうしようかな。Apace1.3はJK2使えるのかな。
とりあえず寝る。
0055デフォルトの名無しさん
NGNG使えるよ。俺、仕事で使ってる。
0056デフォルトの名無しさん
NGNGそれで、Tomcatに直アクセスしたらちゃんと動いてるの?
動いてないならJK以前の問題だよ。
005741
NGNG0058デフォルトの名無しさん
NGNGそういうのはさ、できればどこがどうだったのか教えてくれよ
後続の質問者にも役立つんだから
005944
NGNGCoyote/JK2 AJP 1.3 Connector でよかったのにわざわざ
AJP 1.3 Connectorのほうを使ってた。
006057
NGNGごめん。まだ、解決してなかったもので(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)
006157
NGNG<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デフォルトの名無しさん
NGNGtiles: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デフォルトの名無しさん
NGNGerror = "<html:errors />";
if (error != "") {
alert(error);
}
</script>
こんな感じでエラーダイアログ出したいんですけど、こうするとエラー発生時に
error = "エラー発生
";
ってな感じになって、「エラー発生」の後に改行が入ってしまい、スクリプトエラーになります。
エラーをダイアログで表示でしたい場合はどのようにすればよいのでしょう?
Validatorプラグインを使うしかないのでしょうか。
0064デフォルトの名無しさん
NGNGhtml:errorsじゃなくて、bean:messageタグ使えば?
0065デフォルトの名無しさん
NGNGbean:messageでも改行されてしまいます・・・
0066デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGお疲れ。
まあそういうことってあるよね、
0069デフォルトの名無しさん
NGNGvalidateメソッドでerrors.add("form",new ActionError("errors.required","入力ミス"))と
しておいて、JSPに<html:errors/>と書くと「入力ミス」と表示されますが、
<bean:message key="errors.required"/>と書くと「null」と表示されます。
<bean:message/>でどのようにエラーを表示するのでしょうか。
0070デフォルトの名無しさん
NGNGapplication.propertiesだろ。
つか、文字列出力だけなら普通bean:writeじゃないの?
0071デフォルトの名無しさん
NGNGapplication.propertiesってのはkeyのことですか?そんなkeyはないって言われます。
errors.requiredっていうのはリソースファイル(ApplicationResources.properties)に
errors.required = {0}と設定されているわけなんですが。
やりたいことは、validateで弾かれたエラー内容をダイアログ表示で知らせたいということなんですが、
みなさんどのようにしてるのでしょうか。
今はエラー内容をbeanにしまって<bean:write/>で表示させてます。
struts-config.xmlで、Exceptionを受け取る設定はやってある?
0073
NGNGということは可能ですか?
0074デフォルトの名無しさん
NGNGあなたがJavaScriptを理解していれば、Strutsに関係なく可能です
007573
NGNGありがとうございます。JavaScriptはほとんど使ったことがないです・・・。
JavaScriptで開いたウィンドウから、ActionFormへのデータのやりとりとかにもJavaScriptの知識が必要でしょうねえ・・・。
0076デフォルトの名無しさん
NGNGこんな奴と仕事したくねぇ。。
(((( ;゚Д゚)))gakugakuburuburu
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG単純にサブウィンドウを開くだけなら特許侵害にはならないよ。
0081デフォルトの名無しさん
NGNG会話の意味がわからないのだが
どう使おうとユーザの勝手なんじゃないの?
どのあたりから特許侵害の話になってるのかわからないんですが・・・
もしかすると、おれももしかして特許侵害になるような使い方してるんじゃないかと不安です。
>単純にサブウィンドウを開くだけなら特許侵害にはならないよ。
ってことは、複雑に開くと特許侵害なんですか?
具体例希望
0082デフォルトの名無しさん
NGNGなんか、無くなったみたいだよ>特許侵害
相当たたかれて、サイトの方も閉じているみたい。
ttp://www3.ocn.ne.jp/~cipa/
Strutsとは関係なくてスマソ
0083デフォルトの名無しさん
NGNGそれにしても、どうやって使ったら特許侵害になるのか・・・?
0084デフォルトの名無しさん
NGNGだったらわかる。
おれはてっきり、Strutsの使用法に制限があるのかと読み違えていた
0085デフォルトの名無しさん
NGNGマジだったの?
0086デフォルトの名無しさん
NGNGttp://2ch.net/
# スレに関係ないんで、この辺で。。。
008781
NGNGttp://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どこがスマートでないと感じるのかよくわからん
009088
NGNGbeanタグとstruts-config.xmlの設定だけでできないかなあと思ったもので。
0091デフォルトの名無しさん
NGNG<logic:iterate id="executive" name="executiveActionForm" property="executiveList">
0092
NGNG設定はあっているようなのですが(エラーになる入力をいれると次の画面へ遷移されずに、リロードされる)
メッセージが表示されたり、されなかったりで不安定です。
安定させるtipsは無いでしょうか?
0093デフォルトの名無しさん
NGNGていうか,Strutsのlogic, bean のタグはもう使う必要ないでしょ.
JSTL使えよ.
Strutsのタグで必要なのは,html とtilesだけだろ.
0094デフォルトの名無しさん
NGNGワラタ
http://sports2.2ch.net/pop.html
0095デフォルトの名無しさん
NGNG不安定とはどう意味だ?
自分のプログラムのバグをvalidatorのせいにするとは、失敬な奴だな、君は。
0096
NGNG<html:errors/>でエラーメッセージが出力されたりされなかったりするんですよ。
0097デフォルトの名無しさん
NGNGそれだけの情報だと
1たす1が2になったり
1たす2が3になったりするんですよ.
どうして,いつも2にならないんでしょうか?
っていってるようにしか思えんぞ.
009896
NGNGそれは、お前の頭が悪いから。
0099デフォルトの名無しさん
NGNG少なくとも俺が参加した3つのプロジェクトでは、validatorは意図したとおりに動作している。
<html:errors />でエラーメッセージが出力されたり、されなかったりするというような
怪しい動作はしたことがない。
0100デフォルトの名無しさん
NGNGまぁ 再現方法突き止めてStruts保守担当者にメールする時間があるんだったらすれば? オススメ
じゃあねーッ みんな愛してるよーッ ブツッ ザッザーッ
0101デフォルトの名無しさん
NGNGどういうエラーをキャッチするバリデーションなのか教えてくれよ
「メッセージが出たり出なかったり」に規則性ってある?
リクエストは全てサーブレット経由にしてますか?
0102デフォルトの名無しさん
NGNGJavascriptのロジックはOKなんかいな。
0103デフォルトの名無しさん
NGNGそこってどっちがやるのか微妙な気がするんだけど、
そういうのはおいておいてもデザイナ側だけでデバッグまでできるかできないかってのは大きいと思う。
0104
NGNGヘタレは史ね。
0105デフォルトの名無しさん
NGNGどりーむうぃーばーがやってくれる。
正確にいうとスクリプトレットを毛嫌いするのはオーサリングツール。
0106デフォルトの名無しさん
NGNGyyyy-MM-dd 固定だから、 yyyy/MM/dd とか yyyyMMdd にしたい時面倒なんだよね。
<html:text /> だと formatKey 使えないし、BeanUtils.populate で例外出したりするし
結局String型で拾ってから、改めてDate型に内部変換したりするハメになる。
このへん上手く解決してる人いませんか?
0107デフォルトの名無しさん
NGNG>ActionFormで使えるDate型は java.sql.Date だけど、
これはどういうことなの?
java.util.Dateはつかえないの?
本気で質問の意味がわかりません
ヘタレは市ね。
0109デフォルトの名無しさん
NGNG108のようなバカはほっておいて、
<html:text>ってなんでもかんでもStringで受けないか?
validationでエラーになったときに入力値をそのまま表示しようと思うと
結局のところActionFormのフィールドは全部String型になっちゃうじゃん。
0110デフォルトの名無しさん
NGNG日付や時間の入力のこと?
それなら<html:select>で選択させてる。
クラスやメソッドはjarにしたりして使い回せるので楽。
>yyyy-MM-dd 固定
文字列のクラスに指定文字で区切られたデータを切り離してくれるのがあったはず。
それを使えば?
0111106
NGNG説明不足ですみません。 正しくは 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異なったWebアプリを、Tilesを使って一画面にまとめることは可能でしょうか?
0113デフォルトの名無しさん
NGNGもしそうなった場合
Tiles設定ファイルはどこに置くんでしょうか?
0114デフォルトの名無しさん
NGNGPortal製品を使え。
0115デフォルトの名無しさん
NGNG>>114 関連で、Jetspeedはいかが?
0117デフォルトの名無しさん
NGNGPortlet APIでラップするか、OpenSymphony SiteMeshでも使うことに
なるんでないの?
0118デフォルトの名無しさん
NGNG500ページに渡る大作で正直しんどい。
0119デフォルトの名無しさん
NGNGさらに言うと、JSFにはバグがたくさんある。
sunのフォーラムに目を通すといいけど、酷いぜ。
そんなあなたにこの論文を
http://www.theserverside.com/resources/article.jsp?l=SimplerJava
0120デフォルトの名無しさん
NGNG仕様にバグがたくさんあるってこと?
0121デフォルトの名無しさん
NGNG違う。今の実装(まだ参項実装だけどEA4だっけ?)では
実装がバグバグで使い物にならないということ。
仕様にバグがあるかどうかはしらないけど、FacesContextは
正直仕様のバグだとみなされても仕方が無いかも
0122デフォルトの名無しさん
NGNG例えば、社員リストを以下の形で表示してほしいという要望があったとき
(この要望には従わないといけない)、
支社
部
課
社員
漏れは、素直に4次元配列を使うんだが、strutsでは、ActionFormに
どうやってセットし、JSPでどうやって取り出しますか。
また、多次元配列自体このスレで何度か話題に出てきて、
使うような仕様・設計が悪いともいうんだが、昔の会社の上司も
多次元配列を毛嫌いしていたが、漏れには何が悪いのかよくわからん。
どなたかレスお願いします。
0123デフォルトの名無しさん
NGNGprivate 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; }
}
多次元配列なんかいらね。
0124122
NGNGで、strutsではどう表現しますか?
あと漏れの考えはオブジェクト指向に反するかもしれないけど、
ただ単にDBから検索して結果を表示する場合、いちいちオブジェクト
作って値をセットするというのは面倒くさいんだよね。
みんないちいちオブジェクトに値をセットして、で、取り出すときに
もメソッド使って取り出してるのかな。
多次元配列のデメリット感じないんだけど。
0125デフォルトの名無しさん
NGNGちなみに何歳?最近勉強してる?
0126デフォルトの名無しさん
NGNG最近、うちに派遣で来たやつもそうだった。
ほうっておくと、ひとりよがりのコーディングをするのでえらい目にあった。
0127122
NGNG年はまま往っているし、勉強もしとる。strutsは垣間見ている程度。
昔はいちいちすべてオブジェクトを作っていたが、最近は状態を保持
する必要のない一過性のものまでクラスは作らない。
0128デフォルトの名無しさん
NGNGやべぇよあんた...
0129122
NGNGお前、そうやって決め付けてるようでは、大したことないやつだな。
頭の固いやつは、自分の常識に凝り固まっており、何を聞かれても、
そんなの当然だ、常識だ、勉強しろとしか答えられない。
そいつは実際のところ何一つわかっておらず、教えられたことを
何も考えずに鵜呑みにして絶対だと言い張る。
0130デフォルトの名無しさん
NGNG人に罵詈雑言を吐くときは、自分があてはまっていないか注意するように。
「俺は違う」と思い込んでいなければ、そのセリフは言えないはず。
質問に誰もレスしないのは、いったいどこから教えればいいんだか…という話で、
俺としては本を読んでくれ、というのが一番楽なんだけど。あまりに知らなさすぎ。
0131デフォルトの名無しさん
NGNG0132122
NGNGただ単に、本を読んでくれとしか言えない。。。
自分から罵詈雑言を言い出したのをお忘れなく。
0133デフォルトの名無しさん
NGNGStruts in Action でも読んでおけや。
0134デフォルトの名無しさん
NGNG・・・と思ったらStruts in Action は来週あたりに和訳が出る予定。
0135122
NGNG0136デフォルトの名無しさん
NGNG意図って、なんなんだ。
「これがJava Server Facesを使う理由だ」
「これがStrutsを使うメリットだ」
ってのをしっかり説明している人ってみたことないし、そんな文章も読んだことない。
ワザと難しくして悦に浸ってるだけとしか思えん。
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNGすぐにメリットは得られるよ。
難しくないし。
「手間がかかる」「めんどくさい」と言う奴は、
その裏で得られている煩雑な処理のメリットを忘れている事が多い。
013944
NGNG0140114
NGNGすくなくともStrutsに関してはデメリットはないと思うぞ??
書籍やWeb等十分な情報があるし、
お手軽なので最近はライブラリ感覚で使っている。
全然関係ないけど、キミ今だにコマンドラインから
javac
とか打っていない?(プゲラ
0141デフォルトの名無しさん
NGNG単に一つのプロジェクトの開発コストだけじゃなくて
保守フェーズや次のプロジェクトのコストも考えると
フレームワークを利用するメリットが大きい。
今のStrutsぐらいにメジャーな技術になれば
外注が最初からStrutsを使えるとか知っているとかいう可能性も大きくなる。
もちろん、J2EEパターンなどの採用についても同じことがいえる。
Data Transfer Object とか Front Controller とかいう用語で意思が通じれば
仕事が早い。
0142デフォルトの名無しさん
NGNGアナリシスパターン嫁
0143デフォルトの名無しさん
NGNGデータを持ちまわる段階で4次元配列にするなんてありえない。
最終的なデータ出力段階で、レンダリング中の一プロセスとして配列化するのはあるだろうけど。
0144デフォルトの名無しさん
NGNGStrutsに関してのデメリットは、仕様が複雑なことかな。
EJBが背後にあるから、無駄にエンタープライズを意識しているような気もする。
JavaServer Facesを使う理由は、クライアントモデルへの対応だろうか。
クライアントにデータをバインドし、MVCモデルの完全な一環として
サーバとクライアントでデータのやり取りをするシステムは必要といえば必要か?
現段階の実装ではまだ何ともいえないけど。
しかし何と言っても、俺は、エンタープライズが嫌いです。
0145デフォルトの名無しさん
NGNGStrutsの仕様が複雑????
あんなにシンプルなのに???
別にEJB前提でもないし・・・・
わけわかんね
0146デフォルトの名無しさん
NGNGシンプルなのはJSPもしくはせめてカスタムタグまでか…
Strutsのどの部分が複雑かは難しいけれど、全体としてはどうなのかな。
TilesとかJSTLとか、それ単体ではシンプルかもしれないけど。
言いたいこと伝わるかな?
0147デフォルトの名無しさん
NGNGすとらっつと関係ないやん。設計の問題やん。
もし部付の社員とか、課の下に係とか、支社と部の間に本部ができたらどうすんねん。
そのうち9次元配列にでもする気かい? もしフォルダとファイルの階層構造作るん
なら100次元配列にでもすんかい?
こういう場合、クラスは2つで十分。あとインターフェイス1つか2つ。
デザインパターンの勉強しなはれ。
0148デフォルトの名無しさん
NGNGJSTLとStrutsは直接関係ないのだが・・・
0149デフォルトの名無しさん
NGNGJSTLが出てきても、
影響なしに融合できるほど「Web層に特化した軽いフレームワーク」だというのも
Strutsの利点の一つだな。
0150138
NGNG同意。
「10画面以上くらいの規模」って書いたけど、
10画面を分子にして、プロジェクト数で割って欲しい。
10プロジェクトで利用すれば、1プロジェクト当たり1画面で元は取れる計算。
つまりすでにフレームワーク習得のためのコストも減って、
使って当たり前の状態に。
0151122
NGNGStrutsと関係ない話になってすみません。
実際、4次元配列は使ったことがないのですが、2次元配列はたまに
使うことがあります。フレームワークがJSPではStringで取り出すよう
になっていたためと、基本的に画面とDBを中心に考えて、表示内容は
ほとんどSQLで処理して、ロジック部分ではただ単にSQLの結果を表示
内容としてセットするだけの形が多かったために、クラスを作らない
形態になってしまったのかもしれません。ちょっと考え直します。
0152デフォルトの名無しさん
NGNGpublic 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);
}
}
0153152
NGNG<jsp:useBean id="xBean" class="BXXX_01" scope="session"/>
<tr>
<td><%=xBean.getParam(501)%></td><td><%=xBean.getParam(502)%></td>
</tr>
0154デフォルトの名無しさん
NGNG> 表示内容はほとんどSQLで処理して
危険ですね。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG絶句
0158デフォルトの名無しさん
NGNG初期表示では化けていないのですが、
<html:errors>から
画面遷移すると
?で表示されます。
ご存知の方いたらご教授お願いします。
0159デフォルトの名無しさん
NGNG文字コードをUTF-8にしる。
0160122
NGNGこんな感じです。一応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>
<% } %>
<% } %>
という具合に取り出します。
0161136
NGNGめんどくさいだろだろ。
リクエストを直で扱う方法こそ最強。
0162デフォルトの名無しさん
NGNGサーバサイドでJava使うこと自体、かなり無意味無価値なのは、
最早明らか。技術分からない経営陣が勝手に技術基盤選んで、
それに騙されてる中途半端なプログラマが沢山いる。そろそろ気づけ。
0163デフォルトの名無しさん
NGNG大規模Webで代替手段って何があるかな?
あおりではなく、普通に知らないので教えて欲しい。
0164デフォルトの名無しさん
NGNGとりあえず直感で話すと、メンテナンスしたくはないな
160のコードだけ見ても、xBean.getString("HOGEGENRECOUNT",i)が何を返すのか
直感的にまったくわからない。特に上の行、なんでループ変数iで毎回読み込んでるんだ?
このようにそういう設計のミス(だと俺は思う)によるコードは、可読性を著しく落とすし、
バグの発生率も上げる、気がする
0165デフォルトの名無しさん
NGNGStrutsじゃなくて、どんなフレームワークならOKですか?
それともフレームワークを使わないシステムをメンテナンスしたいということですか?
Javaだからだめですか?
COBOLならOKですか?
C#でドットネットですか? PHPですか? PerlでCGIですか?
ASPでVBScriptですか?
0166デフォルトの名無しさん
NGNGまず、アプリサーバとインターフェースとしてのウェブサーバをごちゃごちゃにしちゃいかん。この時点でPHPは消える。
Perlはもう古いだろ。
ASPだのC#だのは知らない。これはいいかもしれないし悪いかもしれない。
漏れがいいと思えるのを例としていうと、Rubyだな。
drbを使えばサーバサイドアプリが作れる。
データとhtmlのバインディングはERBという技術もあるし、
Amritaを使うとフォームの値とプログラムデータをシンプルにマッピングできる。
HTTPのリクエストはそのまま扱えばよい。フレームワーク必要なし。
0167デフォルトの名無しさん
NGNGdrbがdrubyのことであるとしたら、どうやらリクエストごとにスレッドが起動するみたいなんだけど。
もしそうなら大規模ではとても使えないと思う。違ったら訂正よろしく。
それに、Rubyでも出来るけどJavaでも出来るよね。全否定するからには何かあるんじゃないの?
0168デフォルトの名無しさん
NGNGスレッドじゃなくて、リクエストごとにプロセスが立ち上がる、の間違い
0169デフォルトの名無しさん
NGNGなお悪いじゃん。。。
0170デフォルトの名無しさん
NGNG何かしら光る物があるからそれなりに使われているのだと思うのですが
教えてください
0171デフォルトの名無しさん
NGNGかといって、Strutsの仕様を見てると冗長な気がちとする。
Actionオブジェクトがスレッドセーフになればいいと思うんだけどね。
後フォームの処理が微妙。(どれでやっても微妙だとは思う)
0172デフォルトの名無しさん
NGNGスレッド大量に動くためのカーネルを作って、動かすとかしたらどうか。
サーチエンジンとか利用者とにかく多いという場合の意味での大規模なら、modruby側で全部リクエストを処理できるような、またちょっとした仕掛けが要ると思うけどね。
利用者がある程度限られてるけど、しかし業務ロジックが複雑になりがちという意味での大規模ならアプリサーバとウェブサーバ分ける価値がある。
そんなもの必要無いほど単純なサービス(掲示板とかデータ入力、検索するだけとか)なら、PHPのように作っていいんじゃないかね。
0173デフォルトの名無しさん
NGNGアプリケーションの性質に合ったリクエストの処理があると思う。
だから、アプリケーション毎に適切なフレームワークを少しづつ構築していくのがいいんじゃないか。
Struts ありきは無駄なだけだ。
0174デフォルトの名無しさん
NGNGそれ、逆行してない?
仕様の共通化、設計の共通化がフレームワークを使う意義だと思うのだけれど。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG残念ながら、rubyはまだまだエンタープライズな利用に耐えるだけのもんじゃない。
0177デフォルトの名無しさん
NGNGプロセスが立ち上がってしまう時点で大きなボトルネックになりそう。
apacheのモジュールとして組み込むと、細かい指示が出来なくなるし。
(出来たとしてもそれはCのソースコードを直接いじることになる)
大規模であればJavaで出来るし、ノウハウもライブラリも充実しているから、
やはりmodrubyを使ったほうがいい、というのはやはり間違っているといえると思う。
小さいものに関してPHPを使えというのはそのとおりだと思う。
正直利用者が1万人程度のサービスであれば、ASPとAccessで十分出来るしね。
そこでstrutsを用いることを否定はしないけど。牛刀を用いて…というほどではないし。
>>171
たとえばスレッドセーフになれば、当然パフォーマンスが落ちるわけで、
シンプルにしたいと思えばある種のトレードオフが生まれるのかもしれない。
そういう場合は自分でstrutsをスレッドセーフに継承して使ってやればいいけど、
スレッドセーフに最初からなっていたらそういうことが出来ないから正しいと思う。
フォームの処理はJSFなんてものが出てきたが、あれは微妙というか駄作の香り。
>>174
適材適所でしょう。すでによく出来たフレームワークがあるとはいえ、
何に対しても使えるわけではないし。
それにstrutsを使っても、それをベースに何らかのフレームワークを作る必要は
必ず出てくると思う。strutsは業務プロセスまでカバーしてないからね。
0178デフォルトの名無しさん
NGNG単にリクエスト処理するのに何がフレームワークだといいたい。
>>176
どこらへんが?
>>177
drubyを使うのは単なる常駐プログラム。
リクエスト毎にプロセスは立ち上がらないよ
小さいものってどういう意味?
使う人数が多い意味での大規模と、ロジックが複雑になるであろうとい
う意味での(ソースコードの)大規模化は違う。
漏れが言うのはロジックが複雑になるほう。
そのときにはPHPなんて使えない。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGおじちゃん、おじちゃん。何を主張したいんだい?
独り言なら夢板でやっとくれ。
> 漏れが言うのはロジックが複雑になるほう。
> そのときにはPHPなんて使えない。
「PHP は」じゃなくて「スクリプト言語は」の間違いじゃないのかね。
Ruby もダメぽ。
0181デフォルトの名無しさん
NGNGWebWorkの場合はActionインターフェースを実装したクラスは、
リクエスト毎に生成されるらしいから、その辺ちょっと有利かも。
0182デフォルトの名無しさん
NGNGどこがどのようにだめなのかと聞きたい。
>>181
少なくとも、フォームをオブジェクトにマッピングするフレームワークなんてのは、
面倒で無意味ってこった。なにがやりたいのか。リクエストオブジェクトを渡して
くれるだけで十分だ。だから Servlet がいいフレームワークと言えるな。
作業効率を高めるためにフレームワークがある。Strutsのダメなところは無意味な
クラスがゴロゴロできてコードを読む手間が増え、開発効率が落ちる(それに、ク
ラスローディングのコストが高くなり、遅くなるんじゃないか。)
Struts作った香具師の会社じゃそういうふうにしようってしたかもしれんが、そんな
クソな規約を世間に言ってみたところで、無視されるだけだろ、、、と思っていたら、
jakartaブランドなのかはしらんが、謎なことに広まってる。この謎の理由を漏れは
知りたい。
0183ヽ(´ー`)ノ
NGNGこっちが聞きたいな。
Struts を使って開発効率が落ちるなんて始めて聞いたよ。
> 無意味なクラスがゴロゴロできてコードを読む手間が増え、開発効率が落ちる
キチンと使えてないだけじゃん。
馬鹿でも使える銀の弾丸はありませんぜ。
0184176
NGNG大規模システムに必要な要件が思い浮ばないのがやばい。
例えば「マスタリングEJB」によると、それには
* RPC
* 負荷分散
* 透過的フェイルオーバー
* バックエンドの統合
* トランザクション
* クラスタリング
* 動的再配置
* クリーンシャットダウン
* ログ作成および検査
* システム管理
* スレッド処理
* メッセージ指向ミドルウェア
* オブジェクトライフサイクル
* リソースプーリング
* セキュリティ
* キャッシュ
などなどがあると指摘されている。
んで、このうちRubyにある実用的な実装って何よ?
そもそもdRubyなんてクラスタリングもできないじゃん。
0185デフォルトの名無しさん
NGNGスクリプト言語のどこがどのようにだめなのかがわからない奴に何言っても理解不能と思われ
0186デフォルトの名無しさん
NGNGevalもないような言語にいう゛ぁられたくないやいっヽ(`Д´)ノ
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGPHPもそうだが、スクリプト言語といった時点で大規模には向かないという印象がある。
違うぞ向いているぞというなら別にperlでも十分なわけだし。
0189デフォルトの名無しさん
NGNGしかし、そんなことはなくて、人の質はばらばらなので静的な制約の強いJavaがいいな。
0191デフォルトの名無しさん
NGNGあれだけある要件のうち、一つだけですかい?
> 印象かよ!!
周知の事実でしょ。
0192デフォルトの名無しさん
NGNGそんなことより、Struts のいいところを語ってくれ。
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGいや、わざわざ挙げてもらってありがたいけど、
EJBだろうがRubyだろうが手間も必要なノウハウも
大して変わらんと思うよ。
0195デフォルトの名無しさん
NGNG176=184=186ですのでおまちがいなく。
ところで、EJBってご存じですか?
RubyでEJB相当のことが同じ手間でできるのでしたら、
ぜひ利用したいので、その方法を教えてくださいませ(プゲラッチョ
0196デフォルトの名無しさん
NGNGま、食わず嫌いというか保守的というか、そういう考え方が必要になる時代も
いずれは来るかもしれないね。その頃あなたは使えないエンジニアだろうけど。
0197デフォルトの名無しさん
NGNG保守してくれるベンダはあるかな?
0198デフォルトの名無しさん
NGNGネットワーク応用通信研究所
0200デフォルトの名無しさん
NGNG具体的にEJBのどの機能について?
0201デフォルトの名無しさん
NGNG知ったかはやめれ… 知らないことは知らないというべき
0202デフォルトの名無しさん
NGNGわかった。あんまりいいたくなかったがEJBは無意味に複雑で遅くてクソだわ
0203しもじも
NGNG有名な構築例としてはtDiaryくらいしかないし。
まっ適材適所ってことで
0204デフォルトの名無しさん
NGNGそのセリフだけでEJBについてわかっていないのが良くわかるな(w
EJBって何を指しているんだが。使ったことないくせによく言うよ。。。
0205デフォルトの名無しさん
NGNG中途半端な知識を持つプログラマ、こういうプライドの高いセミプロが格好の
カモなんだよね。そろそろ気づけ。
0206デフォルトの名無しさん
NGNG荒れているときには、特にソースを出すようにして。
せめて、どの部分が具体的に製作効率が悪いと思うのか、論拠と共に。
独り善がりな意見なら誰だって書ける。荒れる要因になるだけ。
202の人が荒らしたのも、結局は主張するばかりで内容が伴わなかったからだから。
0207デフォルトの名無しさん
NGNGアホ?
0208デフォルトの名無しさん
NGNG使ったことがないことが丸わかり。
>それを有り難がる技術選択の出来ない部長と
>中途半端な知識を持つプログラマ、
>こういうプライドの高いセミプロが格好のカモなんだよね。
自分が使えないから悔し紛れに書いてることがバレバレ。
一番プライドが高いのは自分。煽られて必死
>そろそろ気づけ。
おまえが必死なことはみんな気付いている(プゲラ
0209デフォルトの名無しさん
NGNG02101 ◆lqgT6FBSpw
NGNG0211デフォルトの名無しさん
NGNGJavaでWebアプリの場合、Struts以外にどんなフレームワークを使っていますか?
うちでは、昔は自社製フレームワークを使っていましたが、
最近ではStrutsかTurbineを使っています。
StrutsはvalidationのコードをActionFormに閉じ込めておくことができるのと
validationでエラーを検出した場合にユーザの入力を失わずに、
入力フォームを再度表示することが簡単なところにメリットを感じています。
0212デフォルトの名無しさん
NGNGあれを自分で実装することなんて想像もしたくないのだが。
0213デフォルトの名無しさん
NGNGRubyと同じ気分で、EmacsだけでStrutsと格闘しようとしたらしんどいのは当然。
それから、スクリプト言語だからすなわち駄目という訳でもない。
Yahoo! ShoppingのコードはLispで書かれている(少なくとも2001年までは)。
0214デフォルトの名無しさん
NGNGさらにWSADならばプラグインもいらずに… クソ高いけど
0215デフォルトの名無しさん
NGNGとりあえず今までの議論をまとめると、Rubyと言いたいだけということでいい?
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGhttp://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html
不毛な議論をしないためにも読んで(読ませて)おきたい
0218デフォルトの名無しさん
NGNGキター
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGEmacs で作業したって Ruby より Struts の方が効率いいよ。
0221デフォルトの名無しさん
NGNGaction-mappingとか編集してくれるよーな奴。
こいつら次第でStrutsの使い勝手って大きく変わると思うのだけど・・・
0222デフォルトの名無しさん
NGNGWSADけっこういいよ。
ツールの使い心地はなんだかんだでエディタで決まる。
0223デフォルトの名無しさん
NGNGそんな金ないよー。俺じゃなくてプロジェクトだけど。
0224デフォルトの名無しさん
NGNGJSF対応って書きたいだけだろ、と。
Improve_Struts Editor for Eclipse を使ってる。
struts-config.xml に記述した web ページの遷移をグラフィカルに表示してくれます。
でも、編集は struts-config.xml ファイルを直接編集しなければなりません。
これで十分です。
0226デフォルトの名無しさん
NGNGとりあえずstruts console
EclipseにもNetBeansにも組み込める
0227デフォルトの名無しさん
NGNGSwingアプリだからUIはダサいけど機能は充分だよ。
有料版ならEclipseベースだし。
0228
NGNG0229デフォルトの名無しさん
NGNGStrutsじゃなければわかるの?
0230デフォルトの名無しさん
NGNGStrutsだとどういう問題があるんだ?
0231228
NGNG0232デフォルトの名無しさん
NGNGそれは別にStrutsの話じゃないでしょ
httpsとかの話じゃないの?
0233デフォルトの名無しさん
NGNGてか、開発者ならさそのくらいのテキストファイル構築ソフトぐらい
自分でチョイチョイッと作ってみようって気にならないもんか?
ソースコードを色分けでHTMLファイルにしちゃうツールとか
Base64エンコード&デコードプログラムぐらいみんな自作で持ってんだろ?
0234デフォルトの名無しさん
NGNGすでにいいものがあるものを作るのは、作ること自体が目的じゃない限り、あほらしい。
0235デフォルトの名無しさん
NGNG誰も知らない俺様ツールを一人で使うより、
みんなが知っているいいものがあればそっちを使いたい。
234に同意。なんであるのにわざわざ自分で作らなきゃならんのよ?
0236228
NGNGStrutsで、httpsやるにはどうすればいいの?
0237デフォルトの名無しさん
NGNGおいおい。。
サーバの機能じゃないのかそれは・・・
Apacheでも試してみなさい
0238デフォルトの名無しさん
NGNGいいの作って、公開してくれ!
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG別にいいんじゃないのどっちでも・・・
例えばC言語バリバリやってるUNIXerは「俺様関数」作って成長するわけだし
同じ議論したら、考え方もJavaやってる人と逆の人がいるかもしれない
Javaみたいに痒いところに手がとどくツールが整ってる言語やってる人は
「あるものは使う」で間違ってはいないだろうし。
ただ、そのくらい(StrutsのConfig吐くぐらい)のツールなんて・・・
ましてやaction-mappingに限定すればそんな時間かからんだろ?
GUIだってサクッと作れちゃう言語だから
適当にテキストボックスに項目追加していくようなやつでも一時間ぐらいでできるだろ?
「あほらしい」とか思ってるうちに出来ちまいそうだ。
文字列操作が混雑しそうならXML関連のAPI使えばもっと楽に出来そうな予感がするが。
0241デフォルトの名無しさん
NGNGサーバがhttpsを使えても、Strutsでは使えないよ。
Struts SSL Switching Extension を使えば別だけど。
http://www.janit.com/TechnoInf/Java/Struts1.1b3/faqs/ssl.html
>>228さんもこういうのが知りたかったのでは。
0242デフォルトの名無しさん
NGNGお客様からの緊急のバグクレームにも戸惑ってしまうだろう
電話受けて1時間以内にかたずけられないようじゃホントの意味での
プログラマじゃない
0243デフォルトの名無しさん
NGNGhttp://www.zdnet.co.jp/enterprise/0309/22/epn08.html
0244デフォルトの名無しさん
NGNGでっちあげるのに時間はかからないが、仕様どおり正しく動くようにするのには、結構時間がかかると思うぞ。
「プログラムを書く」ということの怖さを知らない人の意見だな。
メンテナンスを考えたことがない人か。
同じ要求を満たすなら、プログラムは短ければ短いほどいい。極限はプログラムを書かないことだ。
0245デフォルトの名無しさん
NGNGおいおい、ちょっとまてよ
ストラッツの高々コンフィグファイルごときで
そこまで考えてやるのか?
間違ってれば勝手にエラー出して止まるだろうに・・・
そういう力技のプログラミングも必要だよ
0246デフォルトの名無しさん
NGNG書く
書かない
の差は大きい
0247デフォルトの名無しさん
NGNGだから、すでにいいツールがあるのに、力技で作る必要はない。
作るのが目的じゃない限り。
0248247
NGNG0249デフォルトの名無しさん
NGNG文字化けします。
request.setCharacterEncoding("Windows-31J");
をアクションクラスで、宣言するだけでは駄目なのでしょうか?
ご存知でしたら、教えていただけませんか?
0250デフォルトの名無しさん
NGNGアクションクラスではもう遅い。フォームにセットされる前にしなくては。
Servletフィルタ使うか、RequestProcessor拡張汁。
0251デフォルトの名無しさん
NGNG個人的には「ただでさえ楽したいからStruts使ってるのに、
一々ツール作ってられるか!!」という感じだな。
そもそも、ロクにエラー処理もしないようなツールを作って
プロジェクトで使う気ですか?
そんなもん使わされる同僚が不憫だよ。
それとも、プロジェクトの参加者各自に俺様ツールを作らせるんか?
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG書き捨ての俺様スクリプトは死ぬほど書くだろ。
0254デフォルトの名無しさん
NGNGすでにいいものがあるのを知ってるときは、書かない。
0255デフォルトの名無しさん
NGNGstruts-config.xml生成ツールが書き捨てで良いものか…
0256デフォルトの名無しさん
NGNG文字通りparameterのURIにフォワードするだけのActionなんですが。
ウマ本p121でJSPを直接呼び出させないためにこれを使い云々と書いてあるんで
使ってみた訳なんですが、結局はフォワード先のJSPのURIがブラウザのロケー
ションバーに丸見えになり、イヤンな感じです。
結局全て.doで隠蔽するには、しょーもないforwardオンリーActionをちまちま作る
しかないってことなんでしょうか・・・
0257256
NGNG誤)org.apache.struts.action.ForwardAction
正)org.apache.struts.actions.ForwardAction
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNG(1.0.xの頃の話)
0260デフォルトの名無しさん
NGNGURLは、いったん公開したらなかなか変えられないものと認識すべき。
.jsp を剥き出しで公開するよりは、
ActionServletのようなインテリジェントなコンポーネントを介させておいたほうが
後で何かと便利。
0261デフォルトの名無しさん
NGNGActionを介さない処理があるプリケーションで、モジュールを切り替える時に
JSP -> JSPだとモジュールが上手く切り替わらないから、そういう場合に
ForwardActionをかますようにするという使い方もある。
0262デフォルトの名無しさん
NGNG<action path="/hoge"
forward="/WEB-INF/jsp/hoge.jsp">
</action>
0263デフォルトの名無しさん
NGNGそうだよね〜
おれも
>結局はフォワード先のJSPのURIがブラウザのロケーションバーに丸見えになり、イヤンな感じです。
↑この部分に関して
「あれ?そうだったけ?」と思ったよ
てか、サーバサイドパターンに慣れてしまったので
もうJSP→JSPなんて、たとえStruts使ってなくても書かなくなってしまった・・・
0264デフォルトの名無しさん
NGNG0265264
NGNG0266264
NGNG0267デフォルトの名無しさん
NGNGstrtus-configのformbeanの定義でアトリビュートをtyepって書いてない?
つうか、まずはgoogleで検索しる!
0270デフォルトの名無しさん
NGNG情報サンクス。買っとこう。
http://www.amazon.co.jp/exec/obidos/ASIN/4797323442/
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGおれ、ココ見て買ってしまった・・・
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG270だけど、宣伝じゃないんだけどな。
原書の出版社のサイトで、原書の一部分だけを読めるんだけど、
その内容がとてもよかった(Struts Tilesの話)ので原書を買おうかどうか迷ってた。
で、ちょうどタイミングよく269の発言があったので、これは買わねば、と。
実はちょうど今、本屋で買ってきたところ。読んだら推薦図書スレに感想書くよ
0275デフォルトの名無しさん
NGNG結構よさげ。
でも4800は高杉...
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNGどこらへんがよくないと思いました?
買おうか迷い中です。。
0278デフォルトの名無しさん
NGNG>>276じゃないけど、ちょっと見た感じとしては内容が古い気がする。
どちらかというとオライリー本の方が俺は好き。
0279デフォルトの名無しさん
NGNG俺は原書斜め読みだけど、Struts in Actionは初心者向きだったような。
Servlet/JSPの知識がある人が初めてStrutsに触れてみました、という。
オライリーはリファレンスチックだったような気がする。
0280デフォルトの名無しさん
NGNG原書はStruts1.0ベースの部分もあったらしいけど、
翻訳時に全て1.1ベースに置き換えられたらしいよ。
0281いなむらきよし
NGNG0282デフォルトの名無しさん
NGNGう〜ん、読んだ人によって印象違うみたいですね。
漏れの感想だと、前半は基礎を固めるための情報が提供されていて
後半、実践に有益であろう情報が満載って感じ。なので、前半を理解できないと
後半が理解できない罠。
リファレンスとしての堅い資料ならオライリーだけど、現場で置いておきたい資料
としては、もれはStruts イン アクションを推す。
0284283
NGNGjavax.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デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG#で1行コメントアウトできる
0287デフォルトの名無しさん
NGNGStruts SSL-extは使ったことないからよくわからんけど、
ControllerとしてRequestProcessorの代わりに
org.apache.struts.action.SecureTilesRequestProcessorを
使うようにしたらいいんじゃないの?
0288デフォルトの名無しさん
NGNGyyyy/MM/ddとyyyyMMddの入力を許可したいのですが、
maskを使用するのがよいのでしょうか?
validateDateで2種類のフォーマットを許可するようにできる
のでしょうか?
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNGmaskで正規表現でチェックするのが一番確実と思われ。
ちなみに、validator だ。
0291デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1072883528/
海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。
必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0292デフォルトの名無しさん
NGNGデフォルトで使用できるんですか?
どれとも自分で定義でしょうか?
0293デフォルトの名無しさん
NGNGtomcatをSSL対応するように設定し、https://hoge.net:8443/Struts-apl/
でうまく動いています。
上で紹介されていた、Struts-SSL-extを使ってタグを置き換える必要があるのでしょうか?
0294デフォルトの名無しさん
NGNGスレタイ読んで首吊って氏ね。
0295
NGNGぷ。答えられないヘタレなんですね(w
0296デフォルトの名無しさん
NGNGスレタイにふさわしい書き込みをしろや、ボケ。
0297デフォルトの名無しさん
NGNGTomcatでは、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)では動くことが分かっています。
0298297
NGNG上のコード、JRunでは同様にコンパイルエラーになりました。
また、属性の種類をいろいろ変えて試しましたが、
accesskey
maxlength
onblur
size
styleId
tabindex
いろいろ試したけれど、どれも同じようなエラーになりました。
0299297
NGNG<% int test = 10; %> を
<% String test = "10"; %> にすることはできません。
実際には、ここは既存の(修正の権利のない)オブジェクトのプロパティなのです。
0300デフォルトの名無しさん
NGNGtoString噛ませてみたら?
<html:text property='passwd' maxlength='<%= Integer.toString(test) %>'/>
0301297
NGNG説明が足りなくて、すみません。それもできないのです。
新規で作るページはそれでいけますが、
既存のページをいじる権利がないのです。
既存のページはOracle9iASで開発されたのですが、それを何とかTomcat上で
動かしたいのです。
0302297
NGNGString型しか与えられないようにも見えます。
http://jakarta.apache.org/struts/api/org/apache/struts/taglib/html/BaseInputTag.html#maxlength
しかし、<%= %>は内部の式をStringに変換して出力するのだから、intであろうが
キャストされてStringになってタグライブラリに与えられるのかと思っていたの
ですが…。
このコードが動くOracle9iASと、動かないTomcat4.1, JRunと、果たしてどちらが
正しい挙動なのか、分からなくなってきました。
もちろん、キャストされることを私は望むのですが。
Tomcatのユーザの方で、バージョンや設定によって、上のコードを動かすことのできた
方はおられませんか?
0303デフォルトの名無しさん
NGNGつーかこんな夜更けに仕事かい。。おつかれさま
0304デフォルトの名無しさん
NGNGそれぞれの環境で JSP 変換後の Java コードはどうなってる?
org.apache.struts.taglib.html.BaseInputTag に setMaxlength( int ) を
無理矢理つけるのはだめなのか?
適当に言ってみる。
0305297
NGNG>>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デフォルトの名無しさん
NGNGTomcat あるいは Oracle9iAS のどちらかが間違った仕様だとしても何なのさ。
自分が調査した結果を踏まえた上で、これこれこうだからここを手直しさせてくれって頼めよ。
それが君の仕事だろう。
0307297
NGNGそのとおりだと思います。また説明が足りなかったようです。すみません。
私が必要としていることは、
「果たしてTomcatでこのコードを動かすことは、どうしても不可能なのか?
それとも設定やバージョンによって、動かすことが可能なのか?」
を確定することなのです。
関連した仕様の情報を書いたのは、それを書いたほうが見通しが利いて、皆さんに
情報を提供していただきやすいかと思ったからです。どちらが良い悪いにこだわる
つもりはないのです。
「仕様では動く(動かない)のが標準」「しかしこう設定すれば動く(動かない)」
といった情報を求めております。どうかお願いいたします。
0308デフォルトの名無しさん
NGNG今日も仕事してんのか? 仕様上うんたらは本家に聞いてみたら?
その前にこっちにマルチしてみるとか。
ttp://www.jajakarta.org/kvasir/bbs/technical
0309297
NGNGはい、仕事です…。
ご紹介ありがとうございます。
今すぐのマルチポストはさすがに失礼ですので、もうしばらく待たせていただきます。
0310297
NGNG既存のJSPのコードを多少修正してよいことになりました。
ということで、<%= String.valueOf(i) %>で行けそうです。
と言っても、これも量が多くて大変なのですが。
状況が変わった理由ですが、Oracle9iAS と Tomcat4.1 で互換性のないコードが
かなり多いことが分かってきたからです。
例えば、
・9iASでは、<jsp:include>で読み込まれるJSPは、先頭行で charset の指定を
する必要がない。読み込み元のJSPコードが自動的に指定される。
・<% out.flush() %>というコードがあると、Tomcat4.1ではそこで出力が終わって
しまうが、9iASだと続行する。
・その他
一般的に、Tomcat で動くコードは 9iASでも動きますが、その逆はかなり難しい
ようです。しばしば、JSPから変換されたJavaファイルをデバッガで追いかける
必要がありました。
0311297
NGNGではないかという気がします。もしそれが正しいなら、一時的には便利ですが、
9iAS で構築されたシステムは、他のアプリケーションサーバに容易に移行でき
ないことになります。これは Oracleの一種の抱え込みではないかという気がして、
どうも釈然としません。
まあ、今ははっきりした結論は出せないわけですが。
ということで、どうしても答えを知らねばならぬ必要はなくなったのですが、
きちんと結論は出したいので、いずれ下の掲示板で質問するかもしれません。
http://www.jajakarta.org/kvasir/bbs/technical
いろいろありがとうございました。
0312デフォルトの名無しさん
NGNGその見解は正しいと思う。Tomcatが目指すものはServlet/JSP仕様への忠実な準拠だが、
商用AP鯖は堅牢さや高可用性も重視する。コンテナ側で補えば動くようなことは
補っている可能性が高い。
HTMLタグの閉じ忘れが少々あっても表示できてしまうIEみたいな感じ。
0313デフォルトの名無しさん
NGNGフツーにServlet使ったり適当なスクリプト言語使ったら起こらないような問題ばっかり。
Strutsって結局プログラマの生産性下げてばかりいないか?
0314デフォルトの名無しさん
NGNGServlet/JSPで、PGの好きなように作らせたら凄いことになるよ。。
でもまあServletで作りましょう、継承用Servletを作っておいてそれを使いましょう、
あれそれってStrutsやん。という話で。
実装メンバが全員J2EEに精通していれば、いいんだけどね。
0315デフォルトの名無しさん
NGNGだから Struts は開発の生産性をあげるものでは無いってことね。
2次開発のメンテとかはマシになるのかな。
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGhttp://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html
不毛な議論をしないためにも読んで(読ませて)おきたい
0319デフォルトの名無しさん
NGNG全メンバ、Struts/Eclipse/Linux無問題。
現実のプロジェクト。
Struts/Eclipse経験はリーダーのみ。
残りは新人、Coboler、VBマソ。
0320デフォルトの名無しさん
NGNG継承用Servletを作る工数は浮くよ。
あと"俺Servlet"よりは生産性は高い。設計がいいからね。
0321デフォルトの名無しさん
NGNGそういう能力差を埋めるためのクッションという意見あるけど、
Strutsは能力差を埋められるという理論が謎すぎる。
なんでもそうだがStrutsもそれを使う経験がないと使いこなせない。
無駄な場合がほとんどだよね、という意見で最近は固まりつつあるような気がしてる。
0322デフォルトの名無しさん
NGNG能力のあるプログラマたちが、決まりきった作業を軽量化するという目的には
うまく機能するのではないかと思う。
私にはその能力がないわけだが。
0323デフォルトの名無しさん
NGNGあくまでServletと比較した時の話な。
Strutsでテンプレソース用意しておけば、
J2EE初級者も戦力になる。
リーダーとしての負荷は、Struts<Servletだったよ。
Strutsステ、とした場合なにを使ってるかが興味ある。
.NET?WebWork?Tapestry?
0324デフォルトの名無しさん
NGNG新人よりもコボラーとVB厨が足を引っ張る予感
0325デフォルトの名無しさん
NGNGServletとなるとねぇ、やはりStrutsが有用なシーンも多くなるのかもね。
やっぱJavaが全体的にWebサービス提供に不向きな感じがする。
PerlとかRubyとかPHPとかならもちろんフツーにリクエストを扱えばよいね。
0326デフォルトの名無しさん
NGNGhttp://itpro.nikkeibp.co.jp/members/SI/oss/20031007/1/
> 高負荷になる部分はJavaで,という傾向もないですね。むしろ,負荷がきついとサーバーの台数が
> 必要になるので,コストの安いPHPという傾向にあります。
大規模開発に向かないっていってもなぁ、クソな組織が作ったら何を使おうがダメに決まってるだろ。
0327デフォルトの名無しさん
NGNG正直、よく分からないので、教えてほしい。
PHP を勉強中なのだけど、PHPの良さって何?
大変評判がいいのだけど、マンモス本を読んでる途中での、私の正直な印象は、
「こんな貧弱な言語、不自由でつらいなあ」というものなんだけど。
言語としてしっかりしている分、Java の方がよほど楽だと感じている。
あと、Strutsの良さが分からないと書いている人がいるけれど、私もよくそう思って
いた。だけど、J2EE の知識が増えていくと、「なるほど、このためか!」という
納得がいくつも得られた。
いまでは Struts などのフレームワーク無しで、素の J2EE 開発をすることなんて
考えられない。Strutsにいろいろ任せられるから。
今思えば、Strutsを使う前は、本来やるべきことをやらないで来たのだなあ。
今まで楽だったのは、開発してるWebアプリの問題点を解決せずに放置してた
からなのだったことよ(詠嘆)。
Strutsに批判すべき点があるとしたら、不要だという点より、機能が不足している
点だと思う。詳しい知識がない人でも使えるようにならなきゃ、ちゃんとした
フレームワークとは言えないだろう。過渡期の存在だとは思う。
0328ヽ(´ー`)ノ
NGNG開発費が(多分)安い、くらいしか思い当たらん…。
Perl と両方勉強したけど、Perl の方がパワフルだし、
読みにくくなるのも気を付ければ大丈夫だと思うんだけどな。
世間の評価はそうでもないようだ。よー分からん。
俺の正直な感想は「なんでこんなモン流行ってんのよ、早く無くなるか改善するかしてくれ」なんだけど。
あとドキュメントが少ないと思う。
初心者入門レベルのドキュメントじゃなくて、もっと実用的なドキュメント。
趣味じゃなくて仕事でやる場合が多いだろうし、結構間違った使い方してるトコロ、
多いと思うんだけど…。
0329デフォルトの名無しさん
NGNGServletでもフツーにリクエストを扱ってもいいよ。
ここで問題にしてるのは、フツーにリクエストを扱ってたら、
大規模開発で発生する構造上の問題をどのように解消するのか。
Strutはそれを解消するのに有効かということ。
PerlとかRubyとかPHPにも、そのためのフレームワークはあるだろ?
>>327
>PHP を勉強中なのだけど、PHPの良さって何?
手軽さってのはどう?アプリケーションの設定をしなくても、
拡張子.phpでスクリプトを書いちゃえばそのまま動く。
一応、クラスや継承もサポートしてるので、オブジェクト指向も可能。
PHP5からは例外なんかもサポートするらしいので、
マンモス本のPHP4から比べると多少強力になってるかも。
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNGputに設定するJSPファイル内にStringを挿入したいのですが
どうすればいいのでしょうか?putlist?
0333sage
NGNG抽象化をありがたがるJavaコミュニティって普通にヤバいだろ。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG口だけの評論家ステ
0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNGhttp://itpro.nikkeibp.co.jp/members/ITPro/J2EE/20030914/2/
0339デフォルトの名無しさん
NGNGUMLもSmalltalkも否定する輩の浅はかさを垣間見た瞬間だった
0340デフォルトの名無しさん
NGNG表示のさせ方が分からない。
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別サーブレットにする。
cewolfとかjfreechartとかのソースを参考にど〜ぞ
0342340
NGNGJFreeChartは使ってるけど、サーブレットなんか使ってたっけ? JPanelをそのままhtml
に表示できないよね。
それと、その別サーブレットにするってのをStrutsでどうやるんだか分かんないんだけど。
1回のPOSTで2つのアクション実行? 2つのサーブレットのresponseを1つのjspに表示?
jspでどのタグ使うの?
ごめん。ぜんぜん分かんない。
0343デフォルトの名無しさん
NGNGhtmlの中にはimgタグしかかかない。ブラウザはそれを読んで
画像のパスへhttpアクセスする。意味分かる?
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNG拡張子 mht でググれ
0346デフォルトの名無しさん
NGNGそれ「使える」って言わないし。
0347デフォルトの名無しさん
NGNG「結果として」使えてる
0348デフォルトの名無しさん
NGNGプログラマとしてやっていけるということに
技術の進歩を感じるね。
0349デフォルトの名無しさん
NGNGさらに技術が進歩すればユーザが直接システム組めるかもな。
そうなりゃ、SE/PGのほとんどはビーク
0350デフォルトの名無しさん
NGNGXML エディタが notepad.exe のごとく標準で搭載される世の中になるとする。
一般ユーザーは XML 文書をプレーンテキストのような存在として扱うわけだ。
それはそれで、IT技術者は バイナリエディタを使うようにテキストエディタを使って仕事をするだろう。
物事には抽象/詳細のレイヤが厳然とあって、
やはり専門技術者はいつづけると思う。
0351デフォルトの名無しさん
NGNGStruts の Action でも、出力用ストリームにデータを送った後で
return null;
として終わるとバイナリデータを送れるんじゃなかったっけ?
0352340
NGNG> 画像のパスへhttpアクセスする。意味分かる?
java.awt.Imageのインスタンスでファイルじゃないのよ?
いちいちファイルに保存してそのパスを渡してHTML側から参照するなんて
そんなバカなことをせんでもいい方法を聞いているんだが?
http語る前に自分のレベルを知れよ。
0353デフォルトの名無しさん
NGNGアイタタタ
0354340
NGNG340見てくれれば分かると思うけど、jpeg変換してバイナリで送れるけど、htmlファイルにjpeg画像
がついてるって感じじゃなくて、まるごとjpegになって表示される。
0356デフォルトの名無しさん
NGNGJPEGのバイトストリームを送ることができて、なぜHTMLがわからんかなー
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGimgのsrc属性に指定されているurlがservletを指してたら?という話。
343さんに謝る気があるならもっと詳しく書くが。
0360デフォルトの名無しさん
NGNGすいません、僕があまりに物知りませんでした。。
マジ馬鹿でした。
よかったら、おしえくてください
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
NGNG0363デフォルトの名無しさん
NGNGスクリプトレットか、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
0364362
NGNGありがとう。
Strutsだけでは、前の10件、次の10件の制御は、ActionでListを作成するしかないようですね。
0365デフォルトの名無しさん
NGNGEL じゃない素の Struts は、
<bean:define id='offset' name=...> という風に変数定義して、
<logic:iterate id=... offset='<%= offset %>' ...
と書くことを想定していると思うんだけど。
FormのIntegerからも、Form内のInteger型Propertyを持つBeanからも値がとれてないみたい。
>>365のやり方しかないみたい。
0367デフォルトの名無しさん
NGNG> ここで問題にしてるのは、フツーにリクエストを扱ってたら、
> 大規模開発で発生する構造上の問題をどのように解消するのか。
いや、それはStrutsは何の解決にもならない。↑のバイナリストリーム
どうこうの話みていても分かるとおり、面倒くさくなる場合がほとんどだろう。
アプリケーションにあわせたシンプルなフレームワークを作るしか
ないんじゃないの。Strutsは本当に意味無い。
0368デフォルトの名無しさん
NGNGアプリケーションにあわせたシンプルなフレームワークを作るのに飽きた人がstrutsをつかっています。
0369デフォルトの名無しさん
NGNG> どうこうの話みていても分かるとおり、面倒くさくなる場合がほとんどだろう。
あれをめんどくさいと思う規模の開発って何だ?
なにより、JPEGのストリームを出力する件は、Strutsとは何の関係もないし。
・サーブレット名の定義およびサーブレットとURLの対応付け
→Struts の担当範囲
・JPEGデータを動的に生成し、バイナリストリームとして出力する
→JavaServlet の担当範囲
動的出力部分は、perlスクリプトだろうがJavaServletだろうがPHPだろうが、
似たように作らなきゃならん。
0370デフォルトの名無しさん
NGNGんじゃ、つかうな。
0371329
NGNGレスサンクス。
でも、バイナリストリームの話は激しく違うぞ。>>369の言う通り。
面倒くさくなる場合ってのも良く分からないが、
確かにログインするだけとか、アンケートフォームが2-3あるだけとかで、
残りは全て素のHTMLだけって場合は分かる。
でも、そういうのは素のHTMLがどれだけあっても「大規模開発」とは思ってないので、
申し訳ないがご了承いただいてくれ。
あと、ユーザからのパラメータを取らずに、
一定のルールで表示を変えるだけのSSIだけで出来そうなページなんかもそうかもね。
その他に、Strutsが意味なさそうなのってどんなケース?
Strutsがベストな選択肢とは言わないが、
アプリごとにフレームワークを作った方がましとまで言わせる理由が知りたい。
アプリごとに作るって、最早使い捨てみたいなもんじゃない?
0372デフォルトの名無しさん
NGNGJakarta Struts 1.1 beta 3 ドキュメント日本語訳 が消えている…。
webで日本語で読める資料としては、唯一に近かったのに…。
http://www.janit.com/TechnoInf/
まあ、営利事業だから仕方がないのだが。
今まで大変お世話になりました。ありがとうございました > JANIT の中の人。
# Googleのキャッシュからならまだ行けるぞ。急いで Go だ!
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG<html:submit property="hoge">
普通のHTMLで表すなら
<input type="submit" name="hoge">
の"hoge"の値により処理を振り分けようとしているのですが。
いざ、Actionクラスのrequestから値を取得しようとすると
何処にもないんです・・(´・ω・`)
ActionFormに関係ない値は捨てられてしまうのですか?
また、これらの値を取得する方法はありますか?
・・というか他ので振り分けを行った方が良いでつか? (´・ω・`)
0375>>374
NGNGpath="/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>>374
NGNGActionMapping 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="submit2" value="下書き保存"/>
<html:submit property="submit3" value="提出"/>
0378デフォルトの名無しさん
NGNGorg.apache.struts.actions.LookupDispatchAction のJavadoc見れ。
ご苦労。>>375。
0379デフォルトの名無しさん
NGNGは、 struts-config.xml 内の別のAction
0380デフォルトの名無しさん
NGNGrequest から parameter が消えてしまうなんて、ありえないと思う。
どこかでミスをしていると思うんだが。
> いざ、Actionクラスのrequestから値を取得しようとすると
> 何処にもないんです・・(´・ω・`)
> ActionFormに関係ない値は捨てられてしまうのですか?
> また、これらの値を取得する方法はありますか?
0381
NGNG0382デフォルトの名無しさん
NGNG0383374
NGNG>>380氏の言うとおりrerquestからparameterは消えてませんでした。
何を思ったかgetAttributeになってました・・。
無事に解決しました。スマセン(´・ω・`)
ちなみに>>375氏とほぼ同じような処理を行ってます。
>>378氏のLookupDispatchActionも良いのですが、
<html:submit>のpropertyを利用する場合だけは
例外的に使えないのでし。
0384374
NGNG> <html:submit>のpropertyを利用する場合だけは
> 例外的に使えないのでし。
ウソでした・・。
getKeyMethodMap()を使ったら無事に解決しました。
DispatchActionと勘違いしてますた。
スマセン(´・ω・`)
0385デフォルトの名無しさん
NGNG<html:submit property="submit" value="submit" />
で値が入らない貝?
0386385
NGNGいつのレス見て書き込んでるやら>自分
0387_
NGNG0388デフォルトの名無しさん
NGNGつい先週、そんなシステムを納品しますた。
色々大変だたーよ。
詳細キボンヌ
0390デフォルトの名無しさん
NGNG技術ソースは、海外サイトにある、とだけ言っておきます。
0391デフォルトの名無しさん
NGNGするセンスがヘン。
フォームへの値の展開はもっと分かりやすいテンプレートライブラリ
を使えばいいし(スクリプト言語はここらへんが発展している。文字列操作がやりやすいからだと思う)
リクエストの取得は(リクエストなんてどんなもんが送られてくるか分からないんだから)
そのまま扱えばいい。
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNG僕は >>391 とはまったく正反対な見解を持っているよ。
Action や ActionForm は、存在自体は必須だと考えている。
ただし Servlet などとは分離させたりして、設計が洗練されて欲しい。
システムをレイヤーに分割するのが、設計の基本。
そのなかでWeb層に特化してフレームワークをこしらえたのが Struts。
レイヤーは常にプロセッサのトポロジーで、「IPO(Input-Process-Output)」モデルに従う。
Input は ActionForm。
Process は Action。
Output は Viewコンポーネント(JSP など)。
レイヤーと他レイヤーの間のインタフェースはしっかり設計するべきだが、
その洗練がちょっと足りない感じ。
でも無いよりは1000億万倍マシで、ありがたく使ってます。オープンソースマンセー。
0394デフォルトの名無しさん
NGNGこれを落として、まともなものか糞か判断して頂けませんか?
ttp://www.geocities.jp/harumanx2000/pasta/
webprogにスレ立ってます
【Java】Cascading Logic Sheet
http://pc2.2ch.net/test/read.cgi/php/1075470288/
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG他のフレームワークとの相違を表にまとめて
Pastaの位置付けについて明確にしたり、
あとはPetShopをサンプルアプリケーションでつくってみるとか。
0397デフォルトの名無しさん
NGNGJMeterで測ってみたら10クライアント同時アクセスで
スループット780/minだったのでスピードは問題なさそうです。
>>396
ありがとうございます。
SunのEJBのサンプルみたいなの試しに作ってみます。
では、webprog板に戻ります。スレ汚し失礼しました。
0398デフォルトの名無しさん
NGNGんなこといったらJSFの立場はどうなる。
0399デフォルトの名無しさん
NGNGいい方法はありませんか?
0402デフォルトの名無しさん
NGNGふつーにフォワード先でいいだろ。
0403初心者
NGNG機能単位ってのは例えば、商品というものに対して
検索・登録・変更・削除を行うという意味です。
この場合は、綿密な設計作業が必要になりますね。
商品や顧客情報など一つの画面に複数の物象があり
それらをいっぺんに登録する場合はどう設計するか悩みます。
画面単位という意見もあるもので。
この場合、一つの画面の全ボタンを一つのActionが対応します。
手っ取りばやい気がします。
機能単位の場合は同一の画面に別機能のボタンがある場合、
LookupDispatchActionを使いまくりですね?
その他、Actionクラスの作成単位で良い方法があれば
ご教授よろ。
0404初心者
NGNGActionFormってどこまで使いまわします?
Actionで値抜いたら終わり?
ActionでActionFormからER図とかで設計したModelクラス(JavaBean)に
わざわざ値をつめ直すような人いるかな?
ActionFormはあくまでも画面(View)なのでBLまで
ひっぱりたくない人もいるはず。
0405俺もStruts初心者
NGNG画面単位が前提ってことは無いんじゃないかな。
(実際には、1画面に対してActionクラスが1というのが多いだろうけど)
Actionクラスとしての決定的な単位は、フォーム単位だよね。
画面設計がちゃんとしてれば、理想的な、「フォーム≒機能単位」になるかと。
そうなると、要求定義の段階でSEが実現可能にまとめたかどうかに行き着く。
ということで、おまえのせいだこの野郎!S木!
0406デフォルトの名無しさん
NGNG訂正: 「機能≒フォーム=Actionクラス」
まあ、あくまで俺の理想なんで、他の人とか一般的には違うかも。
0407デフォルトの名無しさん
NGNG俺のとこではDAOでActionFormは使わないよ。
ActionでActionFormからModelに詰めてる。
日時データは変換必要だし、
ActionFormは複数のテーブルに跨ってる事もあるんで。
詰めなおしメソッドは、テーブル定義書から
perlで自動生成してるので手間はなし。
0408初心者
NGNGどれか一つのPOSTでは他のFormの項目はPOSTされないため、
処理後に自画面に戻った場合は他のFormの項目が消えそうな気がするんですが
どうなんでしょう?
というより、Actionクラスをビジネスロジックを呼び出す
ヘルパクラスとすれば、Actionがどんな単位であってもビジネスロジックは
再利用されるから、さほど悪影響はないのかな???
ビジネスロジッククラスが機能単位であれば
1画面 = 1Action = 1Form でいいのか… よくわからん…
0409初心者
NGNGテーブル単位にモデル(Bean)があるイメージですよね。
なるほど詰めなおしもありですか。参考になります。
ちょっと話はそれますが、DAOの場合複数のテーブルにまたがる
処理、SQLはどこに記述してますか?
0410デフォルトの名無しさん
NGNG> perlで自動生成
く、くだらなさすぎる・・・
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGWeb Matrixを触ってみて、もうJavaを使う理由がなくなりました。
使う理由があるとすれば政治的理由だけでしょう。
0414デフォルトの名無しさん
NGNGJavaでいうとJSPオンリーで作るようなもの?
0415デフォルトの名無しさん
NGNGその Web Metrix は設定を変えても再起動しなくいい OS 上でも動くのか?
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGttp://jakarta.apache.org/struts/userGuide/index.html
0420デフォルトの名無しさん
NGNG「日本語で」Strutsをプログラム初心者でもわかるように
解説してくれてるサイトありますか?
0421デフォルトの名無しさん
NGNGttp://www.jajakarta.org/struts/struts1.0/ja/target/documentation/userGuide/index.html
一つ前のバージョンだが。1.1は鋭意翻訳中だ(俺以外の誰かが)
0422デフォルトの名無しさん
NGNGこれを最初に読んだ時、excite翻訳をそのまま載せてるのかと思ったぞw
もっと上手い翻訳はできないのかな。。。
そりゃ英文読むよりはずっと分かりやすいけどさ。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGじゃあ、おまいがjajakrtaに参加して率先して校正作業してくれや。
参加方法もWebサイトに書いてある。要はMLに入るだけ。簡単。
文句つけるぐらいなら自分で動け。
・・・中の人より
0425デフォルトの名無しさん
NGNGexcite翻訳して手直ししてるだけなんだからしょーがない。
0426デフォルトの名無しさん
NGNGexcite翻訳も結構進歩してるね。
技術系文書なら、少しの手直しで使えるレベルまでになってる。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGちょっと話が違うかもしれないけど、何処から遷移してきたのかを
環境変数から取ろうと思ったんだけど、request.getHeaderには無かった。
HTTPのヘッダから取り出すと思ってるんだが、そもそも間違ってる?
0429デフォルトの名無しさん
NGNGrequest.getHeader("Referer")でとれない?
0430デフォルトの名無しさん
NGNG最近J2EE案件減り気味で。
0431428
NGNGちょっと会社でやってみるね。
getHeaderNamesだでenumを回してみたけど、Refererは無かった
んだよね。
>>430
そんな難しくないと思いますよ。JSFみたいな感じかな。
JSFが流行るとすると、Strutsはあまり目立たない所で使われる
ようになるんですかね。
0432デフォルトの名無しさん
NGNG>JSFみたいな感じかな。
それって逆じゃん・・・
「MacのGUIってどう?」
「Windowsみたいな感じかな、」
0433デフォルトの名無しさん
NGNGReferer は無理だろ。ブラウザのバージョンや、フレームセットの有無、
URL によって返さない場合がある。ブラウザ依存。
Referer によるセキュリティホールの件もあるしな。
入ってるときだけでも取れればいいんだったら使える。
0434デフォルトの名無しさん
NGNG"Referer"じゃなく、"referer"ではどうよ?
まあ、>>433の言うとおりではあるのだが・・・。
0436デフォルトの名無しさん
NGNGJDBCRealmによるフォームベース認証を勉強してから出直せ
Strutsとは関係ないことぐらいわかるだろう
0437デフォルトの名無しさん
NGNGStrutsでJDBCRealmによるフォームベース認証をどうやるか聞いてるんだよ。
質問を読minaosite
出直せ。
>>435
struts-config.xml のactionのroles属性で、指定できる。
0438デフォルトの名無しさん
NGNGで、おまいは罵倒するだけで答えられないのか?>プ
0439デフォルトの名無しさん
NGNGDate←→Stringの変換ってどこでやってます?
controlerでやると処理が「散らばり」そうなので、なんとなく
model(っつーかBusiness-Delegate)側でやってるんですが、
皆さんとこではどうですか?
0440デフォルトの名無しさん
NGNG<fmt:formatDate>
0442デフォルトの名無しさん
NGNGJSTLですか。なるほど。
最近までTomcat3ベースで開発してたんで、盲点になってました。
(マジで)
<fmt:formatDate>で整形するということはdtoにはDateで入ってきてるわけで、
String→DateはAction(controler)でやるってことですね?
0443デフォルトの名無しさん
NGNG俺はデータクラス(Model)ではCalendarインスタンスで持ってて、それをそのまま渡す感じ。
JSPでは
<fmt:formatDate value="${cal.time}" pattern="yyyy/MM/dd" />
みたいになるかな。
0444デフォルトの名無しさん
NGNGActionからビジネスロジックを呼び出すときって
requestオブジェクトとかも渡す方が良いですか?
sessionへのset,getはどこでやるのがよいですか?
0445デフォルトの名無しさん
NGNGビジネスロジックのオブジェクトが、リクエストをそのまま受けるってのは、
ビジネスロジックの設計という意味では如何な物かと思うけど。
コントロールの部分がきちんと分解してビジネスロジックに渡すべきではないか?
そうしないと、ビジネスロジックが電文形式を知らなければならないということになると思う。
0446デフォルトの名無しさん
NGNGStrutsのメリットを書いた日本語なんてないよ。なぜならStrutsにはメリットがないから。
0448デフォルトの名無しさん
NGNGビジネスロジックというのは、Strutsを使うのをやめて他のにしたとして、場合によったらWebすらやめて別の方法をとるとして、それでもまったくそのまま使えるようにしとくもんじゃないのかな。
0449デフォルトの名無しさん
NGNGrequest渡しちゃうと、ビジネスロジックのクラスがjavax.servletパッケージと居着いてしまうのが
生理的にやだなー。たいしたことじゃないけど。
0450デフォルトの名無しさん
NGNGServletで、戻るボタンで戻るのを防ぐ方法は知ってるの?
0451444
NGNGSessionにセットする場合も、ActionでBLの戻り値を
受け取ってActionでセットすることが良いわけですね。
0452444
NGNGそんじゃ、同じ理由で
同様にBLクラスにActionFormやデータベースアクセスコードも排除した方が良い?
1.ActionFormはモデルクラスにつめ直す。(たとえ同じアクセッサであろうが)
2.JDBCのコード云々は別クラスで行う。BLからはデータアクセスクラスをnewしてメソッドを呼ぶ。
(データアクセスクラスはテーブル単位に作成する?)
でOK?
モデルの設計とかってみんなやってるんでしょうかねー?
ActionFormは画面単位だけど、モデルは機能単位のまとまりですよね。
設計に手間がかかるんだなー。
0453デフォルトの名無しさん
NGNGDependency Injectionパターンのフレームワークのほうがいいと思うけどなー。
0454デフォルトの名無しさん
NGNG素直にIoCでいいだろ。
0455デフォルトの名無しさん
NGNGスレと全然関係ないが、戻るボタンを完全に防ぐ方法思いついた。
画面遷移の度に新規ウインドウOpen→元ウインドウCloseやりゃいいよな。
半分寝ぼけているのでツッコミ不要。
0456デフォルトの名無しさん
NGNGActionFormの項目とビジネスロジックに渡すメッセージの内容が同じなら
別にする必要はないと思う。
(画面設計とデータ設計が同じ括りになってるってことだな。)
JDBCに関しては規模によるし、Torqueとか使うかによると思うけど。
RDB-Classのマッピングはそれだけでスレがあるから参考にしてみては?
この板をJavaとRDBで検索。
0458デフォルトの名無しさん
NGNGビジネスロジッククラスの実装を始める前にテストケースを
作成するようにすれば、自然と他クラスへの依存度が低い実装になると思う。
俺だったら、アクションクラス内でActionFormを元にモデル生成&DAO
インスタンス取得を行うようにして、最後にビジネスロジックにそれらの
モデルとDAOを渡してGo!だな。
0459デフォルトの名無しさん
NGNG必ずいるな。お前みたいなやつ。
0460デフォルトの名無しさん
NGNGActionFormを渡すのはやめた方がよいと思う。
パラメータとして渡すだけでいいときもあるから、必ずしも
Beanにして受け渡さなくてもいいのじゃないか。
0461444
NGNGBLにActionFormを渡したくないのは
・BLを画面(View)と関連づけしたくない
・BLにStrutsを入れたくない
があるけど、後者の場合ActionErrorsとかもBLに入れないのでしょうか?
>>448 さんの意見ならそうですよね。
あと、DAOって詳しくわかってないのですが、デザインパターンのことですか?
私はテーブル単位にクラスを作成し、フィールドのアクセッサがあって、
データソースの取得からSQLの発行を行うものと勝手に思っているのですが…
>>458 さんの「DAOインスタンス取得を行うようにしてBLにDAOを渡してGo」を
詳しく解説希望です。DAOについてのサンプルPGってどこかにないですかね。
0462デフォルトの名無しさん
NGNGまあ、全部が全部有用なわけじゃないけど。
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
0464デフォルトの名無しさん
NGNGDAO は、モデルクラスからデータベースアクセスを分離するもの。
たとえばドメインモデルクラス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クラスにデータアクセスを集約することでモデルクラスの再利用性を高めるのです。
0465444
NGNGちょっと調べましたので、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サーバーのURL(例えば'http://2ch.net')を指定したいときは
どうするのですか?
return new ActionForward("http://2ch.net");
じゃだめでした。
0467デフォルトの名無しさん
NGNGActionForward#setPath
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNGs/request/response/
0470466
NGNGActionForwardに固執する必要なかったんですね
0471デフォルトの名無しさん
NGNGオマエモナー
>>447
君の言っている「戻るボタン」がIEの「戻る」ボタンなどのことだったら、ボタンの動作は(たぶん)キャッシュから前画面を表示するだけなので、サーバー側で制御するのは無理ぽ。
IEのソースコードを見たわけではないので、確実にそうかと言われると不安なのだが。
教えてエロイ人!
0472デフォルトの名無しさん
NGNGブラウザ、HTTPヘッダのキャッシュの設定によっては戻るボタン操作時に
サーバへリクエストが発生することがある。
ただ、サーバ側ではこれが戻るボタンによるリクエストかどうかは通常は
判定できない。
HttpSession等を使ってページ遷移履歴を管理すれば可能だが恐ろしく面倒だね。
0473デフォルトの名無しさん
NGNGsessionで管理すりゃ分かるんじゃねえの?
0474デフォルトの名無しさん
NGNGJavaScriptで history を消そうとしても JavaScript を Off にされたら駄目だし。
その手の問題は、「戻る」を制約するんじゃなくて押されてもよいように設計するべきだよ。
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNGStruts非利用時と同じ
0477デフォルトの名無しさん
NGNGヨンクス
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNGそんな制約あるのか?マッピング先がいくつあっても問題なかろう。
0480デフォルトの名無しさん
NGNGリクエストのパラメータにフラグ入れられるんだから、
上手いことやると綺麗なActionになる。
結構昔のJAVAWorldに載ってたショッピングカードのサンプルとか参考になるんだけど。
0481デフォルトの名無しさん
NGNGDispatchAction、LookupDispatchActionも忘れないで
0482デフォルトの名無しさん
NGNG0483四苦八苦
NGNG一応、対処として04年版のウイルスバスターでスキャンしたところウイルスは発見されませんでした。ブラスター型のウイルスかと思い、タスク マネージャのプロセス覧に、"msblast.exe"等があるか見てみましたがそれも発見できず、Windows Updateも
更新してみました。セイブモードで立ち上げた場合でも再起動します。システムファイルチェックや[ファイル名を指定して実行]に再起動を止める方法の1つとして[shutdown -a]もやってみましたが、変わりはありません。正常に動いていた時のシステム復元もやりました。
何が何だか分かりません!
どんな些細な情報でもやってみますので、誰か助けてください!お願いします。
0484四苦八苦
NGNG0485デフォルトの名無しさん
NGNGでも内部で同じXMLデータを使いまわしてると
&amp;
って延々と増えていってしまうのですが。。。
strutsの問題じゃないのかな?
0486デフォルトの名無しさん
NGNG綺麗なActionってのは、結果的にどういう単位になってるの?
>>481DispatchAction、LookupDispatchAction
ここから更にボタン単位のActionに飛ばすということが、Jakarta攻略2なる
本に載ってたような。
結局どういう単位がいいのかわからん。
画面単位って固定すると、同じ機能を持ったボタンが複数画面に点在する場合は
どうしようとか…
0487デフォルトの名無しさん
NGNGじゃばわーるどの2002・05あたりを読めたら嫁。
典型的なショッピングサイトのサンプルでとりあえず一式は載ってるから。
0488デフォルトの名無しさん
NGNGあのじゃばわーるどの本でもそうだけど、Strutsで何がどう開発効率よくなるのかよくわからん
0489デフォルトの名無しさん
NGNGどうにも美しくない。
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNGJSF は Struts に一緒に使えるとかいうのは無理矢理であってツギハギになるだけ。
で、その JSF は Struts と異なり仕様であるため各開発ベンダの実装が必要で
IBM、Sun、BEA、Oracle にとって金になるから必死で宣伝している。
ベンダにくっついてるライタの記事も JSF マンセー。
形だけの Struts や、ベンダ金もうけ専用 JSF はやめて
開発効率が高く、直感的、JSF より優れたデザイン分離の Tapestry にしとけ。
0492デフォルトの名無しさん
NGNG大方同意だが、Tapestryってのもこれはこれで、くだらなさそう。
Javaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは
0493デフォルトの名無しさん
NGNGSpring ボソ
>>482
ssl-extension Struts でぐぐってー。
Seaser ボソ
0495デフォルトの名無しさん
NGNGネットで調べた。激しくワロタヨ。
白雉なのか知障なのか、よくもまぁそんなくだらないもの作りつづけられるよね。
0496デフォルトの名無しさん
NGNGシステムの開発工程を俯瞰できない視野狭窄馬鹿特有の感想です。
0497一ユーザ
NGNGユーザが求めてる、使いやすいシステムを作ってくれ。
エンジニア自己満足なシステムに萎え萎え。
スレズレスマソ
0498デフォルトの名無しさん
NGNG>ユーザが求めてる、使いやすいシステム
だったら、これが何なのかはっきりさせろよ。
ソフトウェアは魔法の杖じゃねーよ。
0499デフォルトの名無しさん
NGNG>Javaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは
プロの方とお見受けしました
するとweb系アプリの開発言語はなにが適しているんですか?
0500デフォルトの名無しさん
NGNGんなもん、PerlかPHPに決まってんだろ。
コンパイル言語使ってる時点で終わってんだよ。
馬鹿も休み休み言え。
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGショッピングカートだよ。
セッションなんかも使っちゃうんだよ。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGて、<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<input
type="text" name="usrId"
value="$Escape->getText($bean->UserId)"
/>
0508デフォルトの名無しさん
NGNGpublic class MyControllerConfig extends ControllerConfig {
public String getHogehoge();
public void setHogehoge(String);
}
を作って、
<controller className="MyControllerConfig" processorClass="MyRequestProcessor">
<set-property property="hogehoge" value="hogeValue"/>
</controller>
じゃね?
試してないけど。
0509デフォルトの名無しさん
NGNG0510一ユーザ
NGNG0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGVelocityって微妙じゃねぇ?
taglibとか使えなくなるし。
といっても便利機能はfmtとJakartaのstringくらいか。
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNGWebアプリに適用した場合に、美しくない。
特にデザイナと一緒に作業するときはサイアクだ。
これはStrutsにも言えることだけど。
デザイナーとのコラボがあるなら、断然タペだな。
0515506
NGNGおぉ、こんな方法が・・・
ご指摘頂いた方法で値を渡すことが出来ました〜
ありがとうございます。 m(_ _)m
MyRequestProcessor で MyControllerConfig に設定された値を取り出すのは、
こんな感じですね。
((MyControllerConfig)
this.moduleConfig.getControllerConfig()).getHogehoge();
0516デフォルトの名無しさん
NGNGタペのタの字も知らない位うぶな俺に、詳細な説明(できればStrutsの比較付き)でタペのすばらしさを教えてくれ。
0517デフォルトの名無しさん
NGNG「Jatartaプロジェクト徹底攻略2」買うか、タペ開発者が作ったプレゼンパワポファイル見れ。
一番解りやすいのは、Struts用に作ったテンプレ(jsp)ファイルをブラウザで見たときと、
タペ用に作ったテンプレファイルをブラウザで見たときの見栄え。
タペ用だと、まんま完成に近い状態でのUIを見ることができる。
デザイナに渡すときは、これが意外に重要。
0518デフォルトの名無しさん
NGNG>タペ用だと、まんま完成に近い状態でのUIを見ることができる。
ベロでも似た様なこと言ってたが、これって本当?
ぶっちゃけ、ちょっとしたことしようとすると、いきなりデザイン崩れたりしないか?
もしくは、ちょっとしたことができないとかない?
俺はJSPで他の共通部分読み込んだりしてるんで、デザインとかあきらめ気味なんだが。
0519デフォルトの名無しさん
NGNG試しに使ってみたら?
自分の目で確認するのが一番早い。
だいたい、JSPにロジック入ったりするってのは、全然MVC分離になってない。
0520デフォルトの名無しさん
NGNGロジックかどうかは微妙だが、taglibだとカレンダークラスのフォーマット、改行をbrタグへ置換とかできるのよ。
こういうのをわざわざコントローラーやモデルでやるのはどうかと思うわけよ。
それに、共通部分の読み込みとかしないと、わざわざ同じことを何回もやらなきゃならないわけよ。
変更なんてあったらしゃれにならんし。
タペは一度使ってみるが、たとえ良くても個人的に使うぐらいだろうなぁ。
0521デフォルトの名無しさん
NGNGチェックしたレコードだけ削除するってやり方が載ってる本って
ありますか?マスタリング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つーかリンクを使って出来るならチェックボックスも使えるはずだろ
0525デフォルトの名無しさん
NGNG・ページ切り替えができる一覧表示機能
・ページ内で、各項目を選択するためのチェックボックス付き
・ページ切り替えしても、チェックした内容が保存されてる
っていうものあります?
0526デフォルトの名無しさん
NGNGtaglib を組み合わせろ。
できる
0527デフォルトの名無しさん
NGNGStrutsベースではないが、こんなのもある。
ttp://displaytag.sourceforge.net/
0528デフォルトの名無しさん
NGNGPerl か PHP 理想からは遠いけど、Javaよりは何倍もマシだと思うよ。
Javaは面倒な手続きが多すぎる。複雑。遅い。文字列処理弱い。どうにもならない。
(Javaはクライアントサイドじゃいいソフト多いんだけどねぇ。)
サーバサイドは適当なスクリプト言語使うのがいいんでないかな。
0529デフォルトの名無しさん
NGNGスクリプト言語界でも俺様フレームワークは沢山あるからね
プロジェクト毎に、必要に応じて、必要なものだけ、自前でシンプルに作るのが一番だと思うよ
リクエストを直で扱うだけで十分な場合も多いし
0530デフォルトの名無しさん
NGNG情報クスコ。チェックボックス連動機能は無いのかな?
でも便利そうだね。ありがとう。
んじゃ漏れも手持ちのネタを。
http://jsptree.sourceforge.net/
これもStrutsじゃないけど、ツリーが手軽に表現できそう。
0531デフォルトの名無しさん
NGNGあえてマジレスしちゃうと、チームとしてプロジェクトを完遂させようとなると、
誰もがプログラミングの技術が高いわけじゃあないので期待できないのよ。
んで、詳細設計がおわってさーコード書くぞとなったときに、
ビジネスロジックを書くのに慣れたPGに、さー書いてちょうだいと言うだけ。
表と裏はもうできてるのを与えて、そのI/Fだけ教えて。
フレームワークを発明して実装してる時間も金も人材もない。
Strutsを導入することのメリットは、外注さんの面接のとき
「フレームワークとしてStrutsを利用します」「Strutsならわかります」
と、言葉が通じること(たぶん意味も)。腐ってもデファクトスタンダードみたいな。
0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNG> リクエストを直で扱うだけで十分な場合も多いし
車輪の再発明って言葉しってるか?毎回毎回「似てるけど違うもの」を考えるのか?
おまいが一人でアプリ作成し、未来永劫おまいがメンテを続けるのならそれもよし。
しかし普通は毎回毎回おまいのオリジナル実装を理解するのに時間かけるよりも、
「腐ってもデファクトスタンダード」なStruts覚えるのに時間かけた方がお得だわな。
0535デフォルトの名無しさん
NGNG簡単だし工数少なくてすむケースが多いから、Javaで全部組み上げるよりも
メリットが多いことも結構ある。
ただ、PHPとかでバックエンド側まで作り込むと、破綻に近いことになるケースが多い気がする。
特にDBとのやりとりとかで、トランザクションとか考慮しないタコイカ実装が散見されるし。
0536デフォルトの名無しさん
NGNGそれは本当か? 例えば J2EE 設計に十分な知識と経験がある香具師が
PHP とかでモデリングやトランザクションを綿密に設計しても破錠しやすいのか?
本質は言語の問題ではなくてアーキテクトの問題ではないのか?
言語により、型安全であることやコンパイル系であれば文法チェックなどの
差はあるのは認める。
0537デフォルトの名無しさん
NGNGオブジェクト指向っぽくなってきたとは聞くけど。
継承やインタフェース実装による多態とかができれば
>>536の理屈は通るけど。
あとはEJBコンテナと同等機能を自前で実装することを
考えるとぞっとするのだが、PHPで大規模システムを組む人は
自力でやっているのだろうか・・・・?
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNGhttp://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デフォルトの名無しさん
NGNGIoCに関するほどよい情報源、キボンヌ
0544デフォルトの名無しさん
NGNG何をいまさら。
Strutsだって、制御の逆転だろ。
それに、Seasarは海外じゃないし。
それから、Picoもよろしこ。
0545デフォルトの名無しさん
NGNGIoC の各タイプのサンプル
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デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGもっと有名な言葉でいえば framework 。
0548542
NGNG>>547
それはうすうす感じてた。制御の逆転? フレームワークじゃねーか? と。
で、知ってたら教えて欲しいんだけど、なぜ今 Pico や Spring、HiveMind が
IoC を謳って出てきたの?
これらって結合度が異常に低いので既存フレームワークのあらゆるレイヤに
使えるよね。ORマッパーと組み合わせたり。そのへんが今までのフレーム
ワークと一線を画していると思ってるんだけど違う?
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGIoCコンテナ自体は、ロッド・ジョンソンが前からいってるから、
今になって急に出てきたものじゃない。
単に汎用的なコンポーネントの構成ツールだったんだけど、
AOPと組み合わせることによって、EJBなみのリッチなサービスを
POJOに対して適用できることが分かってきたので、
一挙にスポットがあたったんでしょ。
サーブレットさえ動けばなんとでもなるし、
サーブレットがなくてもロジックのテストはできるしね。
Springが老舗だけどMVCの部分はあまり使われていないようだ。
StrutsでSpringを使うためのプラグインもあるらしい。
http://struts.sourceforge.net/struts-spring/
0551デフォルトの名無しさん
NGNG枯れて、実績が出てからで十分。
0552デフォルトの名無しさん
NGNG実業務に使うのはそう思う。でも技術者が「最新技術を追う」っていうのは
無駄っていうこと?
またフレームワークってほどおおげさじゃなくてもいいと思う。
例えばここにあるメソッド開始、終了のロギングサンプル。
ttp://javatapestry.blogspot.com/
Spring のデバッグインターセプターと
HiveMind のロギングインターセプターの比較。
0553デフォルトの名無しさん
NGNG既に Struts のプラグインがあるんだね。
サンプルでは Action 生成時に必要なインスタンスがセットされる
ようになってるね。なんとなく開発環境と本番環境とかで設定変えるとかに
便利な気がしないでもない。
0554デフォルトの名無しさん
NGNG印度人にやられますよ
0555デフォルトの名無しさん
NGNGお前からして、すでに遅れてる。
今は中国人。
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGまた画面Aに戻して画面更新。
ダイアログDは、別の入力画面Bからも呼ばれ、画面Bに選択結果を戻す。
ダイアログD2は、顧客コードを検索し、それもまた複数の画面から呼ばれ (繰り返し)・・・・・・
って、入出力アクションが増えstruts-configがどんどん肥大して、しかも非常に醜い。
JSでなんとかするにも、顧客-支店等、複数のコードを返す時、これまたあまりエレガントでない事態に。
キャンセル時、または帰ってきたコードで画面更新する時のvalidate回避など、こいつも
また美しくない事になってしまう。 つーか自分で読んでて嫌になる程面倒。
検索ダイアログの一覧から選択してオブジェクトを帰す処理って、struts的には
どんな方法がモアベターなんでしょうかねぇ・・・
0558デフォルトの名無しさん
NGNG0559557
NGNG0560デフォルトの名無しさん
NGNG複数の論理的画面が単一の物理的画面を持つようにすればいいじゃん。
0561デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGFowlerはService LocatorパターンでもUnitTest書けるぞって言ってるけど、
ちょっとめんどくさい。
StrutsのActionは, HTTPに依存しているからUnitTestしにくい。
cactus持ち出すのはなるべく避けたい。
0564デフォルトの名無しさん
NGNGStruts1.1使ってるんなら、SubApplication使って、struts-config.xmlを
分割管理しる
0565デフォルトの名無しさん
NGNG教育コストはかなり低いだろ。
POJO使うんだから。
コンポーネントの管理の仕方が統一されるから、
これまであった余分なオーバーヘッドが
すくなくなる(はず)。
コンポーネントのライフサイクルもコンテナが
管理するから、無意味にオブジェクトをnewしまくる
ようなことも、メモリリークも減るはず。
0566デフォルトの名無しさん
NGNGこの辺は後発の.netのWindowsFormの方が良いと思える。
まあStrutsの話題でもないか。
0567デフォルトの名無しさん
NGNGまあStrutsの話題でもないか。
0568デフォルトの名無しさん
NGNG自分で管理しなきゃだめなんじゃん。
フレームワークとかいっても余計な方言覚えなきゃならないだけで
得なことがないんだよ
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGフレームワーク使ってないの? Servlet もフレームワークだけど。
あ、いちからソケットで書いてるのか。納得。
0571デフォルトの名無しさん
NGNGSubApplication使うと醜くなるしな。
0572デフォルトの名無しさん
NGNG今はモジュールの分割という。
でも、モジュールの分割しなくても(SubApplication使わなくても)
configファイルを分割して使えるのは知ってるよね?
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNGでも構文汚いよ。後付けだからしゃーないけど。
0575デフォルトの名無しさん
NGNG???具体的にどこが汚い?
モジュール分割するほうがよっぽど汚くない?
0576デフォルトの名無しさん
NGNGJavaでウェブ系プログラミング自体がおわってるってとことでFAだよ 漏れは
0577デフォルトの名無しさん
NGNGだからPHPでもRubyでも何でもいいから好きなのでやれ。
ここで語るのは、Javaじゃなきゃできないような大規模な案件やる奴だけでいい。
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNG相手にするな。
0580デフォルトの名無しさん
NGNGttp://www.amazon.co.jp/exec/obidos/ASIN/159059228X/
ずうっと前に注文したのを忘れていたのが今頃届いた。
もうStrutsに対する興味が薄れてきていて読むのがつらい。
いい本なんだけどねえ。
0581デフォルトの名無しさん
NGNG勝手に Java を大規模専用にするな。藻前はあれか?
大規模やってたら自分がえらくなったと錯覚するクチか?
大規模の末端で設計・製造したくらいでいい気になってるに 256 ジャバ。
0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG大規模の明確な定義は無いと思うけど("大きい"の明確な定義がないように)
なんとなく 5000 人月超えるくらいになるとまず大規模だと思うなー。
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNG小規模がバカだとは言わないが、自分とこしか知らない無知はだめだな。
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGなんだそりゃ? なにが言いたい?だから PHP とかで十分ってことか?
大規模は技術的なことより組織制御の難しさが全然違うだろ。
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG開発規模を人月でしか計れないロートル並の脳細胞ですか。
久しぶりに笑かせてもらったよ。
0593デフォルトの名無しさん
NGNGなんだそりゃ
0594デフォルトの名無しさん
NGNGそれはだれしも思うな。実は今俺がそうだが。
でも、数千-数万人月の仕事で、
Strutsとかオープンソースのフレームワークつかったりする?
0595デフォルトの名無しさん
NGNGGUI のフレームワークがあったが恐ろしく糞だった。
そんなbigプロジェクトで使うものは、
政治的に決まるものさ。
オープンソースなんかありえない。間違いない。
0597デフォルトの名無しさん
NGNG導入しようにも、結構な値段でクソだと困るしなぁ。 ちょっと使ってみないとワカランし。
TapestryがパクったというWebObjectsは、値段も安く評判がいいので気になっているのだが。
0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGオープンソースなのがはじかれたりする。
でも、商用の高いのは買ってもらえない。
で、自力でオープンソースより格段に信頼性の低い自前フレームワークができる。
ありがち。
0601デフォルトの名無しさん
NGNGJDK もソースはオープンですよと言ってやれ。
0602デフォルトの名無しさん
NGNGまあねえ。
フレームワークに相当する部分を別枠にして人月計算してコスト計上すれば
説得させられるのではと思ったりもするけれど。
# 買ってといったら予算は増やせないが、掛け持ちで作業するメンバーは増やせるので
# それでどうにかしろとか言われて鬱なので。
0603デフォルトの名無しさん
NGNGそーじゃなくて、高いモノ使った方が営業的にいいってことだろ。
0604デフォルトの名無しさん
NGNG高いものは買ってもらえない。
tomcatよりもWebSphere
MySQLよりもOracle
linuxよりもWindows
特に理由がなければ少しでも数字あげて、見積もる罠
0606デフォルトの名無しさん
NGNGそれって競合他社に負けないの?
ガチな場合限定?
0607デフォルトの名無しさん
NGNGサポートも付くし。
でもLinuxよりWindowsはないんじゃ。
普通Solarisとかさ。
0608デフォルトの名無しさん
NGNGJakartaのプロダクトは総じてクソだから、正しい判断だと思うよ。
0609デフォルトの名無しさん
NGNGろくすっぽ満足なテストもされてない自己満足の自社製フレームワークよりは、
よっぽど使えるけどな。
0610デフォルトの名無しさん
NGNG少なくともアンタのコードよりは品質高いと思うよ。
0611デフォルトの名無しさん
NGNGハードとWebSphereとDB2を原価で出しやがるから、絶対勝てねえ。
0612デフォルトの名無しさん
NGNGならもれにくだちい。
0613デフォルトの名無しさん
NGNGTapestry 新進気鋭、オブジェクト指向、イベントドリブン
Struts 糞、情報量だけが唯一の強み、日本ではバカウケ
0614デフォルトの名無しさん
NGNG現在投票中。
0615デフォルトの名無しさん
NGNGAntも昇格したよね?
0616デフォルトの名無しさん
NGNG糞の理由が無いが?
0617デフォルトの名無しさん
NGNG糞って言ってみたかっただけちゃうん。
0618デフォルトの名無しさん
NGNGシンプルで情報量が多いだけ?
0619デフォルトの名無しさん
NGNG昔のカメラで言えば、「ボタン押すだけ」と「一眼レフ」みたいな。
大多数の素人にとっては前者で必要十分だし、プロは後者が当たり前。
0620デフォルトの名無しさん
NGNGその例えは適切ではない。
Strutsはシンプルだから他のフレームワークと組み合わせて使う事ができる。
ボタン押すだけで拡張性の無いカメラと一緒にするのはおかしい。
シンプルであることは十分な利点なのでプロでもStrutsを使って開発する場合があります。
0621デフォルトの名無しさん
NGNGStrutsもあるケースには最適となることはあるだろ。
>>619 よ教えてくれ。
プロが使うフレームワークってのを。
0622デフォルトの名無しさん
NGNGプロ = 一部のマニアや物好き
オーディオで言えば音楽は聴いても、普通は高級アンプはいらない。
ラジカセでいい。
0623デフォルトの名無しさん
NGNG独り言なのでsage
0624デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG逆にデメリットになる場合があるんだよなぁ。
不特定のページから呼び出される検索ダイアログ、ログインフォームなんかを
その「不特定」 を完全に定義して 「特定」 しなくちゃならない。 つまり汎用性が無い。
それを汎用性を持たせて仕組みを作るのは、きわめてStruts的でない解決法だと思うんだが
そうしないとやってられん場合も多々ある。 2.0とかでは対策されるのかな。
0627デフォルトの名無しさん
NGNG書式も覚えなきゃいけないし。
0628デフォルトの名無しさん
NGNGあちこちの画面から呼び出す場合は、どうするの?
0629デフォルトの名無しさん
NGNG自分の作るものに対して、フレームワークがしっくりこないならそんなものだろ?
フレームワークはあくまで手段・ツールであって、目的ではない。
0630デフォルトの名無しさん
NGNG個人的にはActionとActionFormが分かれてるのが一番うざい。
ActionFormが使い回せて嬉しいプロジェクトって帳票が絡むような
ものだけで、一般的なWebアプリケーションではActionFormの流用
って難しくないかい?
0631デフォルトの名無しさん
NGNG必ずしも全ての項目を使用しなくていいことと、派生を考えれば流用は可能だが。
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG無理に流用すんなよ。
0634デフォルトの名無しさん
NGNGTapestry にしる。
0635デフォルトの名無しさん
NGNGStruts はめんどくさいけど Dyna は問題外。
0636デフォルトの名無しさん
NGNGどう問題外なの?
0637デフォルトの名無しさん
NGNGそのあちこちを全て定義するか、Struts的ではない方法で [呼び出し-選択-戻り] を行う。
0638デフォルトの名無しさん
NGNG文字列指定して get してキャストって美しいか?
コンテンツアシストも利かず、あげくに実行時にエラー。
楽? 人それぞれかもな。
0639デフォルトの名無しさん
NGNGinputパラメータに呼び出し元を全て登録できないでしょ。
0640デフォルトの名無しさん
NGNGだからinputとforwardを変えた同じアクションを沢山用意するか、
input使わないでAttributeに呼び出し元を保存しとくとか、シケた方法になってしまうのよ。
0641デフォルトの名無しさん
NGNGBeanUtilsでコピーしちゃうから面倒では無いと思ってる。まぁ簡単とも思わないけど。
ConvertUtils#register で Converter 登録してやれば変換もしてくれるし。
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGhtml:frameタグを使ってみては如何?
0644デフォルトの名無しさん
NGNGデバッグ考えるとダイナの方がよけい手間ばかりじゃねえ?
0645デフォルトの名無しさん
NGNGナビゲーションとメインメニューから、コンテンツフレームをいじくるようなのは
普通にできる。 ただフレーム解除は結構面倒かも。
0646デフォルトの名無しさん
NGNGBeanUtils も美しいか?便利さは否定しないけど使いどころが難しい気がする。
ActionForm から DAO とかにコピーしてまう香具師も
いるから危険な匂いがする。何のためにレイヤー分けてるんだと。
まーあまりそんなこというと Map インタフェースさえも
否定するのかってなるけど、全否定ではない。
でも俺は人のコードを保守するとき、あらゆる入れ物に Map 使いまくり
だとかなり萎える。挙句の果てにキーを static final で定義してたり。
それだったらアクセッサなしの小さなインナークラスのほうがましと思う。
0647デフォルトの名無しさん
NGNG普通に使えます。
Tomcatのアドミンツールを参考にするといいですよ。
<html:link>で、targetを指定してやるだけでok。
0649デフォルトの名無しさん
NGNGエラー発生時の処理とか面倒じゃない?
古くさいし。
0650デフォルトの名無しさん
NGNGフレームは利点より欠点が多すぎる。でも初心者はフレーム好き。
0651デフォルトの名無しさん
NGNGStrutsやらなにやらは古タイヤの再利用くらいだとおもう。
ほしい物に似てるけどちょっと違うんだなあ。
だから車体を古タイヤに合わせて設計してみました、みたいな。
似たようなもの毎回作っちゃってもいいんじゃないの?
設計の再利用ってもう流行ってないのかな。
実装なんて再利用しようとても毎回しっくりこないんじゃない?
これ、JBossというかEJBのときにも思った。
既存の道具生かすためになんか本体側で無駄な苦労してるなあと。
0652デフォルトの名無しさん
NGNGいいこと言った。まったくそのとおり。
0653デフォルトの名無しさん
NGNG実装がフレームワークに依存しちゃうからね
最近IoCが流行ってるのはその反動なのかねぇ?
0654デフォルトの名無しさん
NGNG同意。
そうなんだよ。
もともとウェブプログラミングは単純なものなんだから、
単純なまま作って、先のこと考えすぎないで、XP的にやっていきゃいいんじゃないかね。
StrutsはYAGNIの原則に反してる。
0655デフォルトの名無しさん
NGNGtilesとかどお?
0656デフォルトの名無しさん
NGNGamazonレベル?
yahoo auctionレベル?
0657デフォルトの名無しさん
NGNGそういう大量のトラフィックが問題になるところはOO的とか実装の美しさとか言ってる場合ではなく、
いろんなトリック使って負荷分散、ボトルネック解消やってると思うよ。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNG誰へのレス?
読めないんでリンクつけてくださいな
0661デフォルトの名無しさん
NGNGここで聞くのもどうかと思うんだけど、struts の taglib を使う方法は無いんだろうか……。
0662デフォルトの名無しさん
NGNGそれでダメだと誰か言ったのか?
0663661
NGNGStruts を使わずに、Taglib だけって話。
0664デフォルトの名無しさん
NGNGパフォーマンスがシビアなサービスほどこういうもので
遊んだりしないのでは?
国内2位くらいのオークションはTomcatすら使わずJServで
アプリサーバはほとんど自前のコードだったと思う。
某プロバイダのアクセス数上位のコンテンツもPerlだったり
完全に独自に書き上げたJavaのアプリサーバです。
ほとんどの無名ECサイトはたいしたアクセスないので
そういうところではStrutsとかEJBコンテナとか使っても
大丈夫なんではないかと。
0665664
NGNGなんだが、やたらと「混雑しております」ページが出るよね。
どんなシステムなんだろう。
作りが悪いのかハードが追いついてないのか・・・。
0666デフォルトの名無しさん
NGNG楽天を見習ってほしいですな
http://itpro.nikkeibp.co.jp/members/SI/oss/20031007/1/
> 高負荷になる部分はJavaで,という傾向もないですね。むしろ,負荷がきついとサーバーの台数が
> 必要になるので,コストの安いPHPという傾向にあります。
0667デフォルトの名無しさん
NGNG同時接続数を監視しているかどうかの違いじゃないの?
むしろ、ほったらかし(混んでても接続OK)の方がしくみとしては良くないのでは?
0668デフォルトの名無しさん
NGNGどっちもイクナイ
0669デフォルトの名無しさん
NGNGまあ、君が職業プログラマーじゃないことはよく分かった。
0670デフォルトの名無しさん
NGNGいや、職業プログラマだろ。
>>664は暗にEJBやStrutsはプログラマのお遊びということを指摘しているわけで、
漏れもこれに同意だよ。
>>664
> ほとんどの無名ECサイトはたいしたアクセスないので
> そういうところではStrutsとかEJBコンテナとか使っても
> 大丈夫なんではないかと。
0671デフォルトの名無しさん
NGNGJSP/Servletで構築されたサイト
http://pc2.2ch.net/test/read.cgi/php/1063121571/
0672デフォルトの名無しさん
NGNGはっきり言って>>664が職業プログラマだったら無知すぎる。
Javaプログラマじゃないことは確かだな。
突っ込みどころ満載。
>こういうもので遊んだりしないのでは?
>Tomcatすら使わず
>アクセス数上位のコンテンツもPerlだったり
>そういうところではStrutsとかEJBコンテナとか使っても大丈夫なんではないかと。
>>アクセス数上位のコンテンツもPerlだったり
えっ! Perlを使うとアクセス数が増えるのか!
0674デフォルトの名無しさん
NGNG0675651=664
NGNGStrutsで遊んでいるプログラマ様、
ご指摘の部分、なにを言いたいのでしょうか?
俺が言いたかったのは、現実的なサービスは
プリミティブな部分や枯れきったものしか使わないってこと。
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNG>こういうもので遊んだりしないのでは?
色々欠点がありつつも世界中で使われてるんですが。
Strutsと他のフレームワークを組み合わせたりするのを知りませんか?
>Tomcatすら使わず
ブハッw
>アクセス数上位のコンテンツもPerlだったり
話の流れと関係ないです。
>そういうところではStrutsとかEJBコンテナとか使っても大丈夫なんではないかと。
Strutsはオープンソースなんだから、おかしな所は自分で修正すればいいんです。
それともパフォーマンスがシビアな現実的なサービスにはPerlとか、Tomcatとか
使えばいいんですか?
0678デフォルトの名無しさん
NGNG自分で書いて、不具合出たらどうすんの?
Strutsの方がよほど枯れきってると思うけど。
ライトウェイトなフレームワークなんだから、シビアな場所でも充分使えるだろうね。
最近有名になったばかりだから、まだ使われていないだけで。
0679デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGIISと使うと処理10分の1・・・。
0683デフォルトの名無しさん
NGNGhttp://nagoya.apache.org/wiki/apachewiki.cgi?StrutsProjectPages
http://nagoya.apache.org/wiki/apachewiki.cgi?StrutsWebLinks
0684デフォルトの名無しさん
NGNG不具合でたら、自分で直せばいいじゃん。
自分で書いたソースなら簡単に直せるわな。
それができないやつは他力本願で生きとけ。
といっても別に他力本願が悪いわけじゃなくて、自力でなんとかしようとしているやつを非難するのがわるい。
0685デフォルトの名無しさん
NGNGしかも、出来た物がいいものともわからない。
それに協力会社とか使ったりする時や、外部に納品してからメンテナンスしてもらう時にも
Strutsの方が遙かに簡単に出来る。
0686デフォルトの名無しさん
NGNGセッションのレプリケーションは?
まじで教えてくれ。
できるんだったら、そっちつかいたいから。
0687デフォルトの名無しさん
NGNGレプリケーションせずに、ロードバランサーにお任せするってのがダメな規模の仕事?
0688デフォルトの名無しさん
NGNGmod_perlってもう安定したのかな。
>>687
ロードバランサーを使わないと出来ないって事?
0689デフォルトの名無しさん
NGNG特別なレプリケーション機能があれば別だが、あったっけ?
ちょっとマシなロードバランサーを導入すれば、最初にアクセスしたサーバーに
次回以降も繋ぎ続けてくれるから、何も考えずにセッションを利用すればいい。
(サーバーが途中で吹っ飛ぶと、セッション情報も当然飛んでしまうが)
マシンを増やすのも楽々だし。ま、これでOKな規模ならばってことだけど。
0690デフォルトの名無しさん
NGNGCPUから自作しろ。
0691デフォルトの名無しさん
NGNGDNS ラウンドロビン+セッションクッキーという poor な方法しかやってことないもんで。
0692デフォルトの名無しさん
NGNGServletでいうところのHttpSessionの中身をDBへいちいち書き込むわけでしょ?嬉しいかな?
0693デフォルトの名無しさん
NGNGセッションレプリケーションってDBだけ?
他の方法のはないの? DB介さないやつとか。
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNGOSあぼーん
がどんな頻度で発生するかを考えれば、必要性が分かる。
HttpSession 自体を使用禁止にすることもあるよ。>高可用性のため
0696デフォルトの名無しさん
NGNGDB使わない方式って実装はどうなってるの?
他にセッションレプリケーション実装はどんな種類があるの?
0697デフォルトの名無しさん
NGNG分散ハッシュマップでセッション(クッキーetc.)をキーにして
コピーしまくり。
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNGもうちぃと賢いだろうけど、原理はそんなとこじゃないかねぇ。ソース読む気しねぇ・・・
ソケットのハートビートみたいなので同期をとるんでしょ。
HttpSession自体を使用禁止にするってストイックだな。
0700デフォルトの名無しさん
NGNG普通に考えたらLBが有利
セッションレプリケーションはネットワークに流れるデータ量をちゃんと抑えないと泣くよ
0701デフォルトの名無しさん
NGNG個人的にはモデルの仕事だと思うんですが、Strutsではコントローラ部分でやっちゃうから、どっちかなーと。
あ、でもJavaScriptでやったらビューの仕事になるのかな。
0702デフォルトの名無しさん
NGNGなんでモデルが値の妥当性を判断するの?
MVCモデルの理解の根本がまちがってないか?
Strutsでも別にコントローラーがやってるわけではないと思うよ。
コントローラーがビューに対して機能を提供してビュー側でやってる感じだけど。
0703デフォルトの名無しさん
NGNGMVC と妥当性チェックに直接関係ない。フレームワークとして統一されてるいるに
こしたことはないが、厳密には処理を保証するために各レイヤの入り口でチェック
されることが望ましい。
モデルでチェックするのは全然間違いではない。ただし、このチェックは
モデルに対する妥当性チェックであるべきで、コントローラでチェックすべきものは
モデルで行うべきではない。
例えば DB に格納するときのリレーションチェックは DB 任せの場合もあるし、
モデルで検証する場合もある。これはシステムによりけり。
もっと細かい視点で見れば、メソッドは処理を保証するために引数の
妥当性チェックをおこなったほうが良い。標準 API などでよくある
null チェックなどがこれにあたる。
0704デフォルトの名無しさん
NGNGさらに、application.propertiesとは別にメッセージ用のプロパティファイルを
使用したいと思っているのですが、うまく読み込んでくれません。
bundleは設定しており、サーバー側のチェックではきちんと読み込んでくれるのですが。。
クライアント側のチェックには別のプロパティファイルは使用できないのでしょうか。
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNGよかったですね。
0708デフォルトの名無しさん
NGNGhttp://struts.application-servers.com/
似たようなのを作ってる最中に、資料を検索してたら見つかったんだが
<table>タグによるリスト表示なんかで、ソートしたり一行ごとにbg-color変えたり
リストから checkbox / radio での選択とか、ポップアップカレンダーでの日付選択とか
jspでロジックを書かずに、作成/修正/表示モードごとに表示方法を変えたりとか
かなり使えるっぽい。 つーか俺が作ってたのよりずっと良かった。
リスト表示だと displaytag なんかもあるけど、アレよりちょっと使える。 でもexportは無い。
ググってみても国内では全く情報が無いんだが、誰かWikiとか立てないかな。
0709デフォルトの名無しさん
NGNGうぉぉぉぉ。デモだけしか見てないけどむっちゃええやん、これ。
0710デフォルトの名無しさん
NGNGうわ、かなりイイですねぇ。
つかってみたいが、英語あんま読めないのがツライ..
0711
NGNG0712ヽ(´ー`)ノ ◆.ogCuANUcE
NGNGまぁバイト代出たからいいけど。export が無いのは何でだろ?
0713708
NGNGどっかのWikiでStruts-Layoutの特集でも立ててくれれば、理解できた範囲で
なんかネタ書けるかもよ。
0714デフォルトの名無しさん
NGNGttp://hiki.ex-machina.jp/JSP/?c=index
0715708
NGNGあ、別スレでこんなのありましたね。
んじゃ、時間を見つけてここに書きます。
Wikiの書き方を知らんので、どう書くのが使いやすい情報になるのか判らんのですが
ずらずら書いて、ちょっと溜まってきたら整頓します。
俺の勉強メモとして書くので、ポ前等も添削、整頓宜しくお願いします。
つーか仕事中だ俺
0716デフォルトの名無しさん
NGNG商用以外は自由そうだけど
許可をえないといけないってこと?
you must first obtain an agreement from Improve.
0717デフォルトの名無しさん
NGNGどこがどうスマートなのかわからん
というか、align="center"とかCSS使うこと全く考慮されてなくてキモい
0718708
NGNGセッションごとにスキン(css)切り替え機能があるんで、自分の好きなようにcss書けって事だと思われます。
アプリでのデフォルトスキンを書いてやれば、かなり自由に書けるハズ。
あと、alignも対応してる様子。 あんまり使うとcssと矛盾しそうですが・・・
0719デフォルトの名無しさん
NGNG漏れ最近そんな仕事ばっかりorz
0720デフォルトの名無しさん
NGNGいい資料サイトある?
スレ違いsage
0721デフォルトの名無しさん
NGNGそっくりな場合があるんだけど(Userテーブルとかのマスタ系)
同じクラスにしちゃってもいいのかな。
それともFormオブジェクトはデータの運び屋として、別々の
ままにするか・・・。
皆さんはこういった事を感じることは無いですか?
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNGおなじ「インスタンス」じゃなければいいんじゃないの。
ORM オブジェクト→DTOにつめて→DTOをformのsetter/getterでラップ
てのならよくやりますが
0724デフォルトの名無しさん
NGNG飽き飽き
0725721
NGNG冗長っていうか、なんか同じコード書いてるなーって思うんです。
現状はBeanUtilsを使いまくるって感じ。
O/Rマッピングのスレに、リンクを張ってみますね。
>>724
そうなんですか。私も自分の中で早く枯れたフレームワークに
したいです。
0726
NGNG便利なタグライブラリってないですか?
Display-tagとかよく使い方がわからないもので・・・。
0727デフォルトの名無しさん
NGNG煽りでなくて。
0728デフォルトの名無しさん
NGNGPager Tag Library
http://jsptags.com/tags/navigation/pager
Struts のサイトよく読めちゃんと書いてあるだろ。
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGttp://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_1.html
0731デフォルトの名無しさん
NGNG内容も確かめずに判断し叩いているんだろうなぁと、
記事を読まずにレス。
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG内容見てからレスしろよ。730は何を今更・・・の感があるぐらい、
あちこちでさんざん叩かれている悪評高い記事だよ。
0734デフォルトの名無しさん
NGNG>内容も確かめずに判断し叩いているんだろうなぁと、
を行っていることを「記事を読まずにレス」と書いて証明してるよ。
こんなヴァカは放置した方がいい。
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG別に何も気にならなければ、書いてある通りにやったらいいよ。動く事は動くし。
ただ、「今後なくす予定だから使うなよ」っつってる機能を堂々と紹介するのはいかがなものか。
0737デフォルトの名無しさん
NGNGでもだいぶ直されてるんじゃないの?
ちゃんと見てないけど指摘されたらすぐ直ったってのもどこかで見たぞ
0738デフォルトの名無しさん
NGNGでもどのみちStrutsのデータソース使ってる時点でだめなんじゃないの。
0739デフォルトの名無しさん
NGNGtp://bbs.msn.to/top.jsp?id=bv6673 の
2004-02-23 19:51:13「X-Menで日本語」スレッド見てみ。
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNG>を利用していますが、今後リリース予定のStruts 2.x以降では非推奨(または削除)となる可
>能性があります。今後、Strutsからデータソースを利用する場合には、コンテナ経由での設
>定を行うことをお薦めします(Java TIPS「JNDI活用でデータソース管理を一元化する」を参
>照)。
一応書いてるな、最初から書いてあったのか、後から書き足したのかは知らんが。
じゃあ最初からそうしろ、もしくは該当部分まるっと直せと小一時間
しかもアクションクラスにロジック書きまくって…EJB使う時どうするつもりだよ。
0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNG口が達者だな。あとライタは苦労のわりに金にならんぞ。
0745デフォルトの名無しさん
NGNG悪いことだとは思わんなぁ。
とりあえず繋いでフレームワークを試してみるのが目的の記事だし。
詳しい人向けに、こういう方法で業務に生かせって書いてる記事じゃないし。
まぁ、文句言っている奴は、自分の尺度から少しでも外れる解説に
ケチをつけるしか能が無い奴らなんだろうけど。
0746デフォルトの名無しさん
NGNGttp://japan.linux.com/opensource/04/04/04/1358215.shtml?topic=1
0747デフォルトの名無しさん
NGNGお前みたいのが多いから困るんだ。
0748デフォルトの名無しさん
NGNG書き足したんだよ。
0749デフォルトの名無しさん
NGNG図なんかも直しまくり。いいんだか、わるいんだか。
0750デフォルトの名無しさん
NGNG認めてあげてもいいんじゃないでしょうか
0751デフォルトの名無しさん
NGNG解った気になって居るバカの典型みたいな意見だな…
0752デフォルトの名無しさん
NGNG解説を執筆する人間ともあろう者が、廃れる技術を推奨するなんて!って。
0753デフォルトの名無しさん
NGNG直したら直したで、それ自体は別に良いことだけど、
改版履歴付けてくれないと困るんだよね。
改版履歴つける→自分の記事の間違いを認める、ってことになるのが嫌なのかね?
0754デフォルトの名無しさん
NGNG示唆に富んだ内容だと思うのだが。
0755デフォルトの名無しさん
NGNGつーか、こいつがしつこく擁護するのはなんでなんだろう。
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG今後サポートしなくなる接続方法で解説しているという点以外で。
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGActionにビジネスロジック書いてるところ
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG俺はStrutsStudioのフリー使ってる。かなりいい。
0763デフォルトの名無しさん
NGNG無意味だし、明示的に初期化するにしてもせめてフィールド宣言のとこでしとけと思うな。
馬鹿なんじゃねえの。
0764デフォルトの名無しさん
NGNG示唆に富んでるといったのは記事の内容じゃねーんだ。
別にこの本屋はどうでもええのよ。
何が問題になってるのかもわかってねー奴がいるから、
夢中になって叩いてねーで勉強しろよって言いたかった。
誰も説明できねーじゃん?
0765デフォルトの名無しさん
NGNG別に間違いではないと思うが。
0766デフォルトの名無しさん
NGNGServletを動かしてみましょうって解説のサンプルで、
Actionとロジックをわざわざ分けている解説を殆ど見た事が無いんだが…
0767デフォルトの名無しさん
NGNGえ、誰も理解してないって思ってたんだ?w
0768デフォルトの名無しさん
NGNGストラッツ・イン・アクションでも嫁
>>766
こいつは単にわかってないだけ(Actiionをコントローラではなくモデルだと書いてたし)
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁
>>765
ストラッツ・イン・アクションでも嫁
本の受け売りかよ…
0772デフォルトの名無しさん
NGNG本を持ってない/買う気の無い人には不親切ではあるが。
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG誰か書いた人いない?
0776デフォルトの名無しさん
NGNGストラッツ・イン・アクションはStrutsの作者が書いた本だぞ。
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG作者が正しいとはかぎらんだろ。
0779デフォルトの名無しさん
NGNG現代国語の試験問題で作者が正解するとは限らないように?
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGところで「まるっとXX」って表現よくみかけるんだけど、
元ネタなんなの?
0782デフォルトの名無しさん
NGNG本家の本かどうかは、受け売りとは関係ないのでは?
本人が理解してやるべきでないと言っているか、
作者が言うんだから全員そうすべきだと言っているのかで大分違う。
0783デフォルトの名無しさん
NGNGそれを理解してる奴が>>765のようなことを言うとは到底思えないけどな。
とやかく言う前にとりあえず読むもんは読んどけと書いてあるだけ。
その上で自分の意見として言うんなら別に構わないと思う。
でも、コントローラにビジネスロジック丸ごと書いててはMVCもヘッタクレも無いだろ。
0784デフォルトの名無しさん
NGNGこれが揉めている原因なのだと思うのだが、とりあえず動かしてみるというサンプルでも
本来の決まりに則って、ロジックを分けてまで説明するべきか、
とりあえずStrutsを動かしてみることだけを重点に置くかで違ってくるのではないかと。
批判している人は、たとえ簡易的に動作させる場合でも、MVCを少しでも崩すのは
けしからんことだと言っているんだよね?
0785デフォルトの名無しさん
NGNGデータソースにしてもそうだけど、最初から「これはとりあえず動かすことを
目的としてるからいろいろはしょったりしてるけど、実際はこう書くことは
望ましくないから気を付けること」とあればよかったんだけど、それをしなかったのがそもそもよくない。
で、指摘されて直したはいいけれど、あたかも最初からこう書いてますよとでも言うように
こっそりと直して、修正履歴とか追記とか一切無しなのがこれまたまずい。
0786デフォルトの名無しさん
NGNGActionにロジック書いたら動かなくなるのならアホだけど、全く問題なく動くわけだし。
推奨と必須を混同したらきりが無いと思う。
0787デフォルトの名無しさん
NGNGそれが無かったということは、記事書いた奴が本当にわかっていなかった能なしか
わかってはいたけど記事としてまとめるのが下手な能なしということ。
初期状態では、アクションクラスを「Model」と紹介していたことからすると、
初心者向けに簡略化したと言うより、自分自身がよくわかっていないまま記事書いたと言う方が
正しいんじゃないの。
0788デフォルトの名無しさん
NGNGModelに位置付けて解釈したライターをJavaWorldや技評の雑誌
やWebでよく見かけた。
そいつら、何事も無かったように、最近ではActionをControllerとか
言ってる。
0789デフォルトの名無しさん
NGNGそんなのどうでもいいじゃん。
Strutsは糞。Jakartaもクソ。
たかってるやつらはみんなうじ虫。目くそ鼻くそ。
0790デフォルトの名無しさん
NGNGそんなあなたのお勧めは何? 良かったら教えてください。
0791デフォルトの名無しさん
NGNG大して手間がかかるわけではないだろ。
開発前に新人君に「Actionにロジックは書かないでね、ここの決まりだから」とひとこと言えば済むだけ。
0792デフォルトの名無しさん
NGNG「今になってこんな事書くな」ってのが大きいんだと思うよ。今回の場合。
0793デフォルトの名無しさん
NGNG『俺が作った最高の独自フレームワーク』とか言われるのがオチだと思うが…
0794デフォルトの名無しさん
NGNG恐いもの見たさで見たいよな。
0795デフォルトの名無しさん
NGNG仕事でなければ、人のソースを見るのは割と楽しいしねw
0796デフォルトの名無しさん
NGNGそりゃ Action にビジネスロジック書いてりゃ Model だろ。
分離したら Controller になるだけで。
極端な話 3 画面くらいのシステムで再利用性や保守性とか
全然関係無い場合は分離しないほうがまし。
それさえ判断できない香具師がいるし、明確な指標もないから
初心者向けに Action にロジックを書くことは推奨しないって言ってるだけ。
初心者じゃなけりゃ最終的にどちらがコストが低いか自分で判断するでしょ。
0797デフォルトの名無しさん
NGNGStrutsのDataSourceセテーイじゃなくてコンテナとかその他のDataSource使え、は
添付のドキュメントにもしっかり書いてあるわけだが。
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNGだから、必須と推奨を混同するなって。
0800デフォルトの名無しさん
NGNGそれを理解して使うのはいいんだって。
理解もしてない奴が初心者向け記事を書くなっつー話だろ。
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG今度はControllerにもロジック書くなってか。
0803デフォルトの名無しさん
NGNG「ビジネスドメイン層のコントローラ」に対するWeb層のFacadeだぞ。
0804デフォルトの名無しさん
NGNGじゃあそうしろよって気がせんでもない。
(本当にそうならActionやめてFacadeにすればいい。)
Actionって名前になってるのは、役割をControllerとかFacadeに限定しないためだろ。
いかん、大人気ないことを言ってしまった。○| ̄|_
0805デフォルトの名無しさん
NGNG殆どだろうから、MVCは神みたいな存在になっているんだろう。
大事なのは、モデルを守ることではなく、効率を上げることなんだが。
0806デフォルトの名無しさん
NGNGそれって誤解じゃないの?
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デフォルトの名無しさん
NGNGworks best with your container
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNGCommons BasicDataSourceはStrutsのDataSourceなのか?
0811806
NGNGいやいや、それはそうなんだが、
言いたかったのは、
「struts-config.xmlでDataSourceを定義し、かつGenericDatasourceを使用する」
ことは非推奨とされてるようだけど、
「struts-config.xmlのDataSourceを定義するが、DataSourceマネジャには
CommonsのBasicDatasourceを使用する」
ことまでは非推奨となっていないのでは、ということ。
ServletコンテナベースのDataSourceを使うとwar一発でのアプリ配布、とはいか
なくなる(TOMCATだとserver.xmlにまで手を加えないといけない)んで、アプリベ
ースのDataSource使いたい、という思いが根底にはある。
0812デフォルトの名無しさん
NGNGということはあなたは>>797の日本語が読めなかったということですね。
非推奨になってるとは書いてない。「使えと書いてある」と書いてある。
実際「should use」となってるんでしょ?
0813デフォルトの名無しさん
NGNG>なくなる(TOMCATだとserver.xmlにまで手を加えないといけない)んで、アプリベ
>ースのDataSource使いたい、という思いが根底にはある。
運用側からすると、各アプリから勝手に接続されたくないという思いがある。
複数のアプリをデプロイしている環境ではコンテナ-DB間の接続は一カ所で
管理したい。接続に関する設定(最大/最小接続数、タイムアウト等々)の
把握、メンテがしづらいでしょ。
開発側からしても、開発環境→テスト環境→本番環境と移行するたびに
設定変えなきゃならんからアプリケーションのポータビリティという観点
からもよろしくない。
0814デフォルトの名無しさん
NGNGわかったわかった。俺が悪かったよ。
で?何がいいたいの?揚げ足鶏君w
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNGお前、あふぉか?
揚げ足取りにしか捉えられないのか?
こういう奴、仕様を独自解釈で突っ走って開発進めて
客のクレームを「揚げ足取り」とか言うんだろうなw
0817デフォルトの名無しさん
NGNG子供相手に向きになるなョ
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG<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デフォルトの名無しさん
NGNGStruts Validator のJavaScript自動生成にはバグがあるから使うな、って話は良く聞くが・・
0822デフォルトの名無しさん
NGNGバージョン書けよ。
ちなみに、integerのJavaScriptは1.1RC2まではバグがあり、1.1で修正された
0823820
NGNGそれはそれとして、関係ないバリデーションのコードまでJavaScriptとして吐き出しちゃって
本文よりスクリプトの方が長くなっているていたらくなので、
大規模なサイトではないし、クライアントサイドのチェックは自分で書いた方が軽いし早いと思い
さっき修正しますた。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNGJavaScriptの共通部分だけ外部ファイル化できないのかねえ。
0826デフォルトの名無しさん
NGNGできるよ。
一旦JSPにはき出されたやつをコピペして、.jsファイルとして保存、
自分でscriptタグ書いて読み込む。
あとは、<html:javascript>タグにstaticjavascript="false"を書けば
JSP実行時にはき出されなくなる。
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG外部ファイル化する方法は見つからず。ActionServletいじらないと無理なのかね〜?
0829デフォルトの名無しさん
NGNGStrutsを使わなければ、Strutsでもできる、というわけだね。
ありがとう。
0830デフォルトの名無しさん
NGNGあなたならどうする?
0831デフォルトの名無しさん
NGNGStrutsのJavaScriptのどこが便利かっつーと、エラーメッセージやバリデーションルールを
クライアントサイドとサーバサイドで同期できるからだと思ってるんだけど
>>826をやっちゃうとその時点で同期が切れてしまうだろ。
それじゃただの質の悪いスクリプト生成エンジンでしかないじゃん。
・自分でまともなJavaScriptをあらためて書く (>>823)
・とりあえず質には目をつぶって、勝手に吐かれるコードを使う(同期を優先)
0832デフォルトの名無しさん
NGNG選択肢としては
がまんするか
ソースを書き換えるか
変更を強く要求してみるか
だな。
0833デフォルトの名無しさん
NGNG826が切り取ってるのはstaticjavascript属性で制御できる部分だけだ。
dynamicjavascript属性で制御できる部分は自動生成させるに決まってるじゃん。
826は825の「JavaScriptの共通部分だけ外部ファイル化」に対する回答なのだよ。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG言っているのでdynamicjavascriptで生成される部分は残して
staticjavascriptの箇所を外部化しようとしているのだろう。
0836デフォルトの名無しさん
NGNG「コードが長い」ことが問題というよりも「余分なコードが邪魔」が嫌なんであって。
>>832の言うとおり、最小限のコードだけ書き出してくれればいいんだよね。
0837デフォルトの名無しさん
NGNGなるほど。
>>834 はEJBとStrutsを同列に扱う時点でDQN決定。何もわかってないのに煽りたいだけだな。
スペル間違ってるしw
0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNG0840430
NGNGHogeFormのプロパティhoge1とhoge2をjsp内からhtml:linkたぐで同時に送信したいんですが
どうしていいかわかりません教えてくださいお願いします。
0841デフォルトの名無しさん
NGNG教えてくれないとJava脂肪コピペで1000を目指します。
0842デフォルトの名無しさん
NGNGげりぎみのくそ
0843デフォルトの名無しさん
NGNG2点
0844デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGStrutsって読むんだよ
あ・・・・
0847デフォルトの名無しさん
NGNGメテオスウィーパーか
0848デフォルトの名無しさん
NGNGストラッツだとフアンみたいでなんか変だ。
0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGインタフェースを多重継承の用途で使うバカハケーン
0861デフォルトの名無しさん
NGNG馬鹿?
>ActionFormがインターフェイスだったら、既存のBeanを拡張してActionFormをインプリメントするということができるのに、どうしてActionFormはクラスなんでしょうか?
>ActionFormを継承して拡張する事に何か問題が?
→既存のBeanが何かを継承したものだった場合、ActionFormを継承して拡張することが難しい
インターフェースだったら問題なく実装可能
0862デフォルトの名無しさん
NGNGJavaの場合、C++と違って
あるクラスが別のクラスを継承していた場合
さらにActionを継承することはできないんだけど?
0863デフォルトの名無しさん
NGNG○さらにActionFormを継承することはできないんだけど?
そしてケコン(´・ω・`)
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNGそれじゃ逆にActionFormの方が実装を継承できないから、
DynaActionFormみたいなのが実現できなくなるじゃん。
0866デフォルトの名無しさん
NGNGインタフェースは何のためにあるんだ?多重継承を代用するためじゃないだろ?
こういう、「動けば何でも同じ」的な考え方する奴は
メソッド、フィールドも全部publicでいいじゃん、みたいなこと
言い出しかねないね。
0867デフォルトの名無しさん
NGNGその場合、ActionFormを実装したActionFormImplみたいなのを使うんじゃないの。
0868デフォルトの名無しさん
NGNG>インタフェースは何のためにあるんだ?
それ考えたら、むしろActionFormはインタフェースにすべきだと思うけど。
普段はインタフェースを実装したクラスを継承すればいい。
でも今はxmlにform-bean書けば済む話なので、どうでもいい。
0869デフォルトの名無しさん
NGNGもしインターフェイスなら、誰がどこで保証するんだ?
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGActionServletがデータほりこむとき。
それに、いまのActionFormと同じモノが必要なら、ActionFormInterfaceをimplementsしたものを用意すればいい。
Interfaceで用意することによるデメリットは、一部が委譲になることだけで、できなくなる機能はないはず。
っていうかStrutsって、フレームワークのくせにインターフェイスがないよねぇ。
すでにあるクラスをStruts用のクラスにするということがやりにくい設計な気がする。
0872デフォルトの名無しさん
NGNGそういう設計はアリだったと思うが、ActionFormはそこまで仰々しい
設計にする必要はないと判断したんだろうな。
どっちにしろ>>857にとっては解決にはならんだろうし。
0873デフォルトの名無しさん
NGNGdata-sourceとかplug-inもサブシステムごとに記述しなきゃいけないんですか?
0874デフォルトの名無しさん
NGNG仕組みをわかっていればものによることぐらいわかるだろう。
プラグインはものによる。
DataSourceは一つで十分。(そもそも、使用はおすすめできないシロモノだが)
0875デフォルトの名無しさん
NGNG万一ActionFormのI/F仕様が変わった(例:メソッドが追加された)とき、
全てのフォームを作りなおさなきゃなんない。
0876デフォルトの名無しさん
NGNGそれは、現状のActionFormでも、abstractなメソッドが追加されたときにはすべてのフォームを作り直さないといけない。
インターフェイスになっていたとすれば、そういったときにはActionFormInterfaceが拡張されるのではなくて、拡張機能用のinterfaceが用意されることになるだろうから、問題ない。
0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNGIoCコンテナを意識したら、嫌でもinterfaceにするんだが
0881デフォルトの名無しさん
NGNGStruts1.0 と 1.1 では Actionのperform, executeが変わったわけだが、当然これと同じようなことが将来ActionFormでも起こるかもしれない。
インターフェイスならそういうのが不可能なわけだ。インターフェイスを拡張したところで解決できる問題ではない。
今のStrutsに限って言えば、abstractなメソッドが追加されるかもだなんて心配してるのはばかげている。
0882デフォルトの名無しさん
NGNGだからってinterfaceいらねーやってのは、単なる思考停止ジャン
0883デフォルトの名無しさん
NGNGいらないとは言ってないよ。StrutsのActionFormがインターフェイスではなくて普通のクラスが採用されている理由を言ってるだけだよ。
「ストラッツインアクション」にも、「ActionFormはなぜインターフェイスでないのか?」に対して「良い質問だ。」と書いてある。
開発者の設計に対する考え方にもよるところがあるだろうから、もし仮にぜんぜん別の人がStrutsを作ったらインターフェイスになっていたかもしれないね。
0884デフォルトの名無しさん
NGNG上位interface用意して、performとexecute以外のもの持たせて、newInterfaceとoldInterfaceにする。
それに実際問題、ActionFormIFを作るとしたら、実装が必要なのメソッドとしては
void initialize(StrutsInfo information);
みたいなStrutsに関する情報をActionFormに押し付けるメソッドだけで、あとはStrutsInfoを介してやりとりすればいい。
そうすれば、変更はStrutsInfoに閉じられるのでActionFormには影響ない。
0885デフォルトの名無しさん
NGNG現状のActionFormと同じものは、StrutsInfoのようなオブジェクトとやりとりする部分を実装したActionFormImplを用意すればいいだけ。
3番目と4番目は、パフォーマンスとかセキュリティーが問題になるなら、既存のものとは別にBeanを作ればいいだけの話。
4番目は現状でもActionFormにシステムプロパティを変更するコード書いたら同じ事が起こる。
セッターではそんなことしないでねって約束があるというなら、interfaceの場合もセッターでそんなことしてるクラスにはimplementsしないでね、っていう約束にすればいいだけの話。
なんか、あの章はいいわけにしか見えんな。
あ、
> 上位interface用意して、performとexecute以外のもの持たせて、newInterfaceとoldInterfaceにする。
意味がわからねぇ。
上位interface用意してperformとexecute以外のもの持たせて、それを継承してperformやexecuteをもたせたnewInterfaceとoldInterfaceにする。
ということで。
0886デフォルトの名無しさん
NGNGStruts-devにリファクタリングを提案するなり、パッチ送るなりしろや。
0887デフォルトの名無しさん
NGNGやだ。
0888885
NGNG「じゃあ2chじゃなくて、しかるべきところで発表しろよ」
っていうレスするやついるけど、あれって
「それは、しかるべきところで発表する価値のある意見です」
っていうお誉めの言葉だと思っていいのかな?
0889デフォルトの名無しさん
NGNGオプソが何なのかわかってない奴だな
0890デフォルトの名無しさん
NGNG0891885
NGNG意見があれば必ず正式なコミュニティーに貢献しないといけない、というものではないことは知ってる。
0892885
NGNG0893デフォルトの名無しさん
NGNGそれは結果論だよね。
Struts1.0の時代にperformだけ別にして継承するインターフェイスなんて設計する馬鹿がいるとは思えない。
performじゃなくてresetが変わってたらどうするんだ?
0894885
NGNGん?あとからでもいけるだろ。
interface ActionIF{
perform();
reset();
}
って昔あったとしたら
interface BaseActionIF{
reset();
}
interface ActionIF extends BaseActionIF{
perform();
}
interface NewActionIF extends BaseActionIF{
execute();
}
にすればいいだけじゃん。予見しとく必要なんかない。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNGそうだね。
ここはオブジェクト指向の設計わかってないやつの質問に答えるスレじゃなかったね。
0897デフォルトの名無しさん
NGNG悪い事言わんから勉強仕直せ。
0898デフォルトの名無しさん
NGNG全員勉強しろ。StrutsやJavaに詳しいだけではフレームワークの有効活用は無理だぜ
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGおまえのためにあるスレではないし。
ほかでやれ
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGこのスレで勉強してるやつも困ってる。
0904885
NGNGくだらんのは同意。
井戸端会議してるだけだし。
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG0907885
NGNG0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNGあえて突っ込むとすれば、元記事と関係なくなにか正しいことを書くしかない。
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNGは・げ・ど・う
0914885
NGNG0915デフォルトの名無しさん
NGNG0916885
NGNG0917885
NGNG0918885
NGNG0919885
NGNGやっぱStrutsは過渡期の技術だったことになるのかなぁ。
0920デフォルトの名無しさん
NGNG自意識過剰も大変だねw
0921デフォルトの名無しさん
NGNG君が立派だって事は分かったから、ここ嫁。
http://jakarta.apache.org/struts/faqs/kickstart.html#jsf
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGそこのリンク読んだけど、JSFとStrutsがどう絡んでいくかじゃなくて、JSFがどういう仕様策定をされているかっていうのが主な話題に見えた。
0924デフォルトの名無しさん
NGNGhttp://d.hatena.ne.jp/hyperash/20040513#1084451804
これでできるよ☆
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNGhttp;//localhost:8080/test.do?param1=1111¶m2=岐阜県
というURIを、HttpRequestのgetParameterValues(param2);で受け取ると、
岐?E?
というふうに文字化けしてしまいます。
何か、解決策はあるのでしょうか?
0927デフォルトの名無しさん
NGNGマルチうざいぞ。
あっちのスレに答え書いてやったから見ろ。
0928デフォルトの名無しさん
NGNGなんでエスケープしてないの?
0929デフォルトの名無しさん
NGNGこの場合はエスケープじゃなくてエンコードと言わないか?
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGURLEncoder
0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNGどうやら、TAPESTRYって大変なものらしいですね。
STRUTS始めようとおもっていましたので、
みなさんの、意外に真面目な議論がためになりました。
どうもありがとう。
0935926
NGNGJavaScriptで、URLを組み立てていたからです。糞設計というのは判ってる。仕方ないんだ。。。
javaScriptのencode()は、JavaのURLEncoderと互換性009だったので、javaScriptで
URLEncoderと同じエンコードを行う関数を作って解決しますた。
0936デフォルトの名無しさん
NGNGhttp://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_1.html
0937デフォルトの名無しさん
NGNGこの記事がこのスレでもあちこち技術系Webサイトでも非難囂々だったのを
知っての上での釣りか?
0938デフォルトの名無しさん
NGNG今見たら内容がずいぶん変わっててワロタ
改訂履歴もねーのかよ!
0939デフォルトの名無しさん
NGNGページ中ほどの
PCいじってるオヤジの顔がイカ臭い
0940デフォルトの名無しさん
NGNGホントだ。「こっそり」を通り越して全面改訂されてるw
これはこれである意味すごいな
0941デフォルトの名無しさん
NGNG同じ@ITでも.NETの方では履歴を残している。
Javaチームが極端に糞なだけらしい。ま、Microsoftマンセーサイトだし仕方ないか。
0942デフォルトの名無しさん
NGNG改訂分の原稿料なしで、泣きながら直したらしいんで、
勘弁してやってください
0943デフォルトの名無しさん
NGNG山田とかいう奴の記事がひどいのは知ってるが、他もそうなん?
0944デフォルトの名無しさん
NGNG間違っている。
0945デフォルトの名無しさん
NGNG0947936
NGNG記事の書かれた3/6辺り探しただけだったんで見落としてた。
0948デフォルトの名無しさん
NGNGもう見つけたみたいだけど、あのときって批判ってより悪口って感じだった。
間違いは間違いで悪いけど、言い方があるだろって引いた。
0949デフォルトの名無しさん
NGNG山田乙
0950デフォルトの名無しさん
NGNGなんであそこまで言われていたのか、全然わかってないね…
単に内容が間違っていたから、だけじゃなく
あの記事が初心者向けだったことやその後の対応の悪さも含めてだろ?
0951山田だけど
NGNGちゃんと修正したじゃん。
0952カプコン
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG0955カプコン
NGNG>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>954
0957カプコン
NGNGマジ?本物??
俺、あんたの本たくさんもってますよ。マジで。っていうか、俺のすべてですよ。
JSPのリファレンスやら、JSPの本やら(基礎とか応用のあるやつ)あと、XML入門も
読みましたよ。
とても仕事でやくだっとります。ほんとに本人??
くどいようだけど、俺は>>951氏の山田さんとは、別人です。単なる煽りがきらいなだけ。
0958カプコン
NGNG記事を書くとなれば、色んなことを考えなきゃいけない。俺はあなたの本をよんで、すばらしく
広い視野の持ち主だとおもってます。
ここまで親切に書いてくれているのは、丸の内とらさんとあなたくらいしかいませんよ。
今度はEJBの本書いてくださいよ。がんばってくださ〜い
0959デフォルトの名無しさん
NGNG0960カプコン
NGNG0961山田だけど
NGNG0962カプコン
NGNG0963デフォルトの名無しさん
NGNG> その後の対応の悪さってどういうこと?
> ちゃんと修正したじゃん。
ライターの風上にも置けん香具師だな。
批判を受けたからこっそり修正して証拠隠滅ですか。
もっと自分の記事に責任を持って、
修正するならそれとわかる方法でやれよ。
0964デフォルトの名無しさん
NGNG丸の内とらさんって、日本語上手いし、
どうしたら初心者が理解できるのかって
真摯に考えてる態度も好感持てる。
だけどソースが汚いと思わないか?
if(xxx){
処理a;
処理b;
}else{
処理a;
処理c;
}
みたいな書き方してるの見て萎えたことがある。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG基本的にプログラマではないから。
WEB+DB PRESSの最近の記事で「Tomcatに含まれるWebサーバーはあくまでも動作確認用の簡易なもので」っとあって、オイオイと思った。
0967デフォルトの名無しさん
NGNGでも、JSTLとかどんどん新しいのが出たみたいで、どれをやっときゃいいか分かりません。
このスレも読ませてもらったけど、Strutsなんかもういらんみたいな意見が時々あるよね。
で、実際Strutsって、かじりだけでもやっといたほうが良いの?
0968デフォルトの名無しさん
NGNG知らなければ、いるとかいらないとかいう話はできない。
せめて一回ActionFormを継承したクラスを書く経験をしてたほうがいい。
JSTLとかELとかは、Struts使おうが使うまいが必要だし。
0969967
NGNGどうもありがとう。JSTLとかELっていうのは、本を買ってきて、大体つかんだんですよ。
あとは、Strutsだな〜と思ってたんですが、フレームワークって何??と思って、なかなか抵抗があるんです。
でも、一回経験したほうがいいっていう感じからすると、経験すればわかるようなものみたいですね。
やってみます。ありがとうございました。
0970デフォルトの名無しさん
NGNGStrutsとかJSTLとか以前にやることあるんじゃないの?
ちょっとサンプル動かした程度で分かった気がするタイプなら、本物にはなれないね。
アマチュアレベル。
0971デフォルトの名無しさん
NGNG>フレームワークって何??と思って、なかなか抵抗があるんです。
Strutsが出る直前くらいまでプログラマやってた奴の言葉とは思えねーなw
0972デフォルトの名無しさん
NGNGま、やってりゃ、「そういうことね」って思うとおもう。
0973969
NGNG他の言語にフレームワークがあろうが、んなことは、全然知らん。
Struts以前にフレームワークなんてあったのか??俺は知らんぞ!
大体、JSPとかサーブレットもタグなんてほとんどなくて、ぐちゃぐちゃの時代しかしらんのだよ!
今、本見て色々進歩したんだな〜とようやく分かったところなんだ!!バッチ処理とGUI案件1件と
しょぼいJSP、サーブレットしか作ってないんだよ!!
>>972
どうも、そんな感じですね。聞くところによると。やってみりゃ、わかるというのが、色々な人の感想みたいです。
ありがとう
0974デフォルトの名無しさん
NGNGもう、無理してネタ作んなくてもいいですよ。
0975デフォルトの名無しさん
NGNG0976969
NGNGじゃー、おまえ、Struts以前にフレームワークがあんのか?いってみろ。
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG>フレームワークって何??
>フレームワークって何??
0979969
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982969
NGNG俺が聞きてえくらいだ。バカ。
おまえ、Struts以前のフレームワークとかしらんから、むきになってんだろ。
俺は実は知ってるぞ。変なCSKとかいう会社がつくってたやつだ。触った事はないがな。
0983デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986969
NGNG今日見てたけど、ろくな会話がねぇじゃんかよ。
最後まで、これで行く気か?
0987デフォルトの名無しさん
NGNG釣りか真性DQNの二択しかないじゃん。
0988969
NGNGはいはい。どうぞ。俺は、バカですよ。大学すら行ってない、バカですよ。
専門学校でJavaしかやってないんでね。でも、必死でやってきたんだよ。
業務を2年半な。俺は、自分を誇ってるぞ。おまえらみたいに、高い金だして
大学いって、人に教えてもらったのとじゃ、知識は段違いだろうよ。
そんなもん、しょうがねぇだろが。
0989デフォルトの名無しさん
NGNG普通隠すな。
0990969
NGNG0991デフォルトの名無しさん
NGNG「しょうがない」
言った時点で
負け組だ
0992デフォルトの名無しさん
NGNG業務もたった二年半
そりゃだめだわ
0993969
NGNGある程度は身につくだろ?
俺はな、本当に独学でここまできたんだよ。SEなんて全く教えてくれない。1つもな。
本を買いあさって、ノイローゼになるくらい読みまくって、ようやくここまでこれたんだ。
おまえらみたいにめぐまれてないんだよ。
しょうがないだろ。
専門学校中退したのも病気のせいなんだよ。おまえらにがたがた言われる筋あいはない。
0994969
NGNG俺の会社なんてな、高校中退のやつもいるような会社で、Javaなんて当時
まだ、人がいなかったんで、誰も教えてくれる人がいなんだんだよ。
でも、未経験だし、学校も中退してるから、どんな会社に入ればいいか分からん。
で、入った会社がそういうところだったんだよ。
おまえらみたいに、全部作られた道筋を歩んできた人間とは根本的に違うんだよ。
以上だ。もうレスはしない。
0995デフォルトの名無しさん
NGNGたとえ不幸でもそれを人に言わない・自慢話にしない奴は、もっとまじめにやってるからねえ。
0996デフォルトの名無しさん
NGNG類は友を呼ぶw
0997デフォルトの名無しさん
NGNG自分で稼いだ金で大学行った俺から言わせてもらうと、お前は氏ね
0998969
NGNGこの屑人間>>995
0999969
NGNGねたつくんなや。
1000969
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。