JSF(JavaServer Faces)【.NET死亡?!!!】at TECH
JSF(JavaServer Faces)【.NET死亡?!!!】 - 暇つぶし2ch331:デフォルトの名無しさん
05/04/19 10:13:29
誰かJSFのDataGridコンポーネントの在り処知りませんか?

【理想】
ヘッダ列固定可能
ヘッダ行固定可能
フッタ列固定可能
フッタ行固定可能
各セル毎の形式指定可能
セルの編集可能

最悪なければ自作しますが既存のがあればそちらを使いたい所存です
ついでに、JSFコンポーネント集みたいなサイトがあれば教えていただけると嬉しいです。

332:デフォルトの名無しさん
05/04/19 14:22:13
>>331
dataModelを<h:dataTable>にbindする。

それとも知ってて「それじゃ満足できねぇ」の意?


333:デフォルトの名無しさん
05/04/19 16:27:09
>>332
ありがとうございます。ちょっと試してみますね

ちなみに求めているのはASP.NETの WebForms版fpSpreadのパワーアップ版みたいな感じです
URLリンク(dotnetdemo.grapecity.com)

334:332
05/04/20 13:15:21
>>333
リンク先見た。さすがにそこまでの機能は無いなぁ

参考までに、今年リリースされるJDNCのデモでも見てくれ。
こいつはJSFの婚約者なんだ。結婚式はもう少し先だけどね。

URLリンク(jdnc.dev.java.net)

335:デフォルトの名無しさん
05/04/27 22:37:51
あげ

336:デフォルトの名無しさん
05/04/29 02:38:43
JSF だと、Controller の実装ってやらないの?(つか、やらなくていい、というか・・・)

JSF使ってみようか迷いながら調べているんだけど、これまでの servlet/jsp やMVCといった
概念がなくなってて(見えなくなってて)なかなか実際に使うには勇気がいる様な気がした。
便利な仕組みがたくさんあるだけに興味はあるんだけど。
JSFから始める未来の技術屋さんは、httpのことも知らず、getParameter 何それ?ってな時代がくるんだろうか。

337:デフォルトの名無しさん
05/04/29 09:21:16
コントローラは好きなフレームワーク使ってくれっていうことだろ。
JSFはあくまでビューの標準規格だから。

Struts初めての人でもhttpなにそれリクエストなにそれみたいな人が増えている。
まだStrutsとかなら知らんとまともにつくれんだろと言えるけど、
JSFが普及し出すとさらにふえると思う。知らんでもそれなりに作れるようになるから。
技術が進歩したというか、Javaのすそ野が広がったというか、
喜んでいいのか悲しんでいいのか、なんだかなあ。


338:デフォルトの名無しさん
05/04/29 09:34:50
最近簡単なServletを書こうとして
request.getAttribute("hoge")とやって「あれー、おかしいなぁFORMの値取れねー」と
しばらく悩んだ俺がいるわけだが

339:デフォルトの名無しさん
05/04/29 11:16:51
JSF の Backing Bean って値の変更と設定をするっていう意味ではコントローラっぽい
とも思うけど、そうでもないのかな。違うとしたら、コントローラは、どこに実装するんだ?
アクションリスナーで呼ばれる部分?

>>337
httpなんたらってやってる人間はいずれ職人とか呼ばれるようになるのか

340:デフォルトの名無しさん
05/04/29 12:45:12
>>336-339
キミらのことを指差して「ソケットなにそれlisten/bindなにそれみたいな人が増えてる」と嘆くようなもんだ。

341:デフォルトの名無しさん
05/04/29 19:09:55
>>340
そういうつもりはなかったですが、JSFから入った場合、それしか出来ない人間になってしまう気がしたもので。
フレームワークありきで入ってしまうと、その後応用がきかないつーか。
まあ、それで仕事があって商売が出来てなおかつ楽になるんだったら悪いとは言わない。
セコセコ細かいコーディングするのは正直言って俺もやだし。

で、誰か知ってたら教えて欲しいのですが、

<f:selectItems> に渡すBackingBeanのプロパティの型って、必ず SelectItem つっこんだ
Collectionじゃないとダメなんですか?普通のStringのListや<String,String>のMapを渡しても
無視されてる様な気がするんですが。
BackingBean では、出来るだけ SelectItemをnewするとか、UIを意識したコードは書きたくないと
思うんだけど、BackingBeanって、もともとそういうものでしょうか?

342:デフォルトの名無しさん
05/04/29 20:26:38
>>341
どんどん下位レイヤというのは覆い隠されていくわけだから、問題ないというか仕方ないと思うよ。
どちらにせよJSFのようなHTTPを覆い隠すレイヤーが必要で、Javaの場合はJSF以上のものはないしこれからJSFが広まっていくだろうから、JSFしか出来なくてもあまり問題ない気がする。
JSFには、そう言い切ってしまえるところまでがんばって欲しいとは思うけど。

343:デフォルトの名無しさん
05/04/29 22:00:43
>>341
マネージドビーンっていうのは、そういうもんだと思ってる。
あくまでビジネスロジックとビュー(JSF)をつなぐものとして。

1つのJSPファイルに1つのマネージドビーンを用意することにしている。
StrutsでいうところのActionっぽい感じ。

344:デフォルトの名無しさん
05/05/02 13:35:10
>>343

>1つのJSPファイルに1つのマネージドビーンを用意することにしている。

何で?

オレは 『機能単位』 だなぁ。一つのJSPで複数のManaged-Bean使ってるし
複数のJSPで一つのManaged-Bean使ってるし。まぁN対Nっつー感じで。

もしかしてIDEの影響?PageBeanって呼ぶのだっけ?

追伸:Controller役に関しては「それってコンテナのお仕事でしょ」って考えてるけど・・・

345:343
05/05/02 21:58:53
>>344
> 何で?

収拾つかなくなるから。
補足すると3つのJSPで1つの登録画面とかいうなら、マネージドビーンは1つ。
(だからマネージドビーンっていうより、バッキングビーンかなあ。)

逆はないなあ。逆にするって事は、ビジネスロジックがJSFから切り離せないんじゃないの?
まあ、今のやり方がベストだとは思ってないから、検討の余地ありだけどさ。


> 追伸:Controller役に関しては「それってコンテナのお仕事でしょ」って考えてるけど・・・

は? なぜコンテナ?


346:デフォルトの名無しさん
05/05/02 22:44:23
IBMのWSADはそういうコード吐くよね
だいたいJSFなんて、1からコード書くような開発用のものではない
ツールと組み合わされて使われることが目的
ベタで書くのもいいけど
それだったら他のアプローチ考えた方がいい

347:デフォルトの名無しさん
05/05/03 03:38:32
>>220
遅レスだけど、俺もFacesIDE使ってて同じバグに悩んだ。
でも、jarファイル群をSun実装のJavaServer Faces 1.1.01のものに置き換えたら
解決したYO!

348:デフォルトの名無しさん
05/05/03 03:52:58
追記
結局、FacesIDEが標準で含んでいるJSF実装のmyfaces 1.0.8が、IBM実装JSFと同じバグを
抱えていたってことらしい。

349:デフォルトの名無しさん
05/05/12 01:17:17
Exadel studioがフリーになったそうですが
誰か使ってみた奴はいる?

350:デフォルトの名無しさん
05/05/12 01:35:03
>>349
情報サンクス!
今ダウソしてたところ

それにしてもExadel太っ腹だなー
内容にはかなり期待してる

351:350
05/05/12 02:45:29
Exadel studioのダウンロードはユーザー登録をすると、登録に使った
メールアドレスにダウンロードURLが送られてくる方式です。

チュートリアルを見た限り、ユーザー登録するだけの価値はあるかと。

Exadel studioの利用チュートリアルやデモなどはこのページにあります
URLリンク(www.exadel.com)

352:デフォルトの名無しさん
05/05/14 02:38:17
Exadel Studio 使ってみたけどイマイチだった。

Managed Bean を作って、プロパティも適切に設定したはずなのに、
JSF内で使おうとすると認識されない(そんなプロパティ無いと言われる)
Tomcatを再起動しても同じ

また、JSFでMyFacesのタグライブラリの宣言は手動でやらないといけない
そして、肝心のJSFのページ遷移をダイアグラムを使ってビジュアルに指定する機能は、
有料版しか使えない

ストレスたまるからsysdeo+FacesIDE+amateras Html editorの組み合わせに戻したよ

個々のエディタ(JSFエディタ,CSSエディタなど)の出来はいいから、それらだけ
使うのはアリだと思う

353:デフォルトの名無しさん
05/05/14 02:47:32
まあ総括すると、
個々の機能はいいんだけど、肝心なところの使用感が今ひとつ

そんな感じ

354:デフォルトの名無しさん
05/05/14 09:58:34
いや、一番の問題は、アピールポイントが体験できない体験版の
存在価値って何なんだろう?じゃないか?w

自動CM検出機能搭載!体験版では使用できません。
擬似5.1chストリームの生成可能!体験版では使用できません。
体験版の意味ねぇよ_| ̄|○|||

355:デフォルトの名無しさん
05/05/14 10:21:58
>>352 FAQから.
URLリンク(www.exadel.com)
>5.4 What third-party plug-ins are installed with Exadel Studio?
>
>WTP Plug-Ins (IBM contribution with several significant bugs fixed)

>VE Runtime (VE-runtime-S20040628)

これ多分JSFエディタ以外の個々のエディタはeclipse.orgのコード
そのままだとおもう。ならJSFエディタだけ個別のプラグインにして
売ってほしいとこだ。

>>354
Proのほうも30日間限定で使えるらしいから、それで問題ないと思うよ。

さて、IBM/RationalがJSFの部分を省いてオープンソースにしたWTPを元に、
JSF開発環境を出しているわけだけど、本家と比べて出来はどうなのかな。

356:355
05/05/14 10:35:30
ところでWTPってEclipse3.0系と3.1系のどちらも開発途中の
コードしか公開されていないわけだけど、Exadel Studioは
どこまで手を入れてるのかな。
いくつかのクリティカルなバグは自分のところで潰したって
書いてあるけどちょっと気になる。

357:デフォルトの名無しさん
05/05/22 16:32:31
Myfaces+Eclipse+Tomcatで何のタイミングかわかんないんだけどしょっちゅう文字化ける
JSPのクラスファイル消して再コンパイルさせれば、元に戻るんだけど
なんか理由あるの?

JSPの最初には↓のようにかいてる
<%@ page language="java"
pageEncoding="Windows-31J"
contentType="text/html; charset=Shift_JIS" %>

358:デフォルトの名無しさん
05/05/22 16:34:45
pageEncoding="Windows-31J"
ならば
charset=Windows-31J
にしておけば?わざわざShift_JISにする理由がわからん

359:デフォルトの名無しさん
05/05/22 17:01:39
>>357
encoding宣言とそのjspファイルの実際のencodingが合ってないとか

360:デフォルトの名無しさん
05/05/22 20:22:17
>>357
SysdeoのTomcat Launcher Pluginとか使ってるでしょ?

JSPから生成されたJavaソースファイルのコンパイルを
Jasper(TomcatのJSPコンテナ)で行うと化けない。
Eclipseで行うと化ける。

Jasper(TomcatのJSPコンテナ)は、デフォルトではJSP→Javaに変換するとき
UTF-8でソースコードを生成する。しかし、Eclipseの、Javaソースファイルを
開くときのソースファイルの文字エンコーディングの設定がUTF-8になっていない
状態でEclipse上でコンパイルされてしまうと、化ける。


361:デフォルトの名無しさん
05/05/22 21:08:15
>>360の言うように
>デフォルトではJSP→Javaに変換するとき UTF-8でソースコードを生成する。
この部分の設定変えてみよう

っていうか俺が一番言いたいのは
日本語文字はリソースファイルに書けばいいと思うんだけど・・・
自分はいままで(このような不意な)文字化けが絶対に起きないようにリソースファイルに書くのが定石だと思ってたが・・・

362:デフォルトの名無しさん
05/05/22 21:25:30
>>361
コンテンツによっては絶望的じゃないか?

363:デフォルトの名無しさん
05/05/22 21:29:35
>>362
なにが絶望的?

・すべてがリソースに書き出せるわけが無い(?)
>>361のやり方は絶望的
・それ以外の意味

364:デフォルトの名無しさん
05/05/22 21:40:06
HTMLしかしらないデザイナがリソース分離とかやるとおもうか?

365:デフォルトの名無しさん
05/05/22 21:42:43
>>364
やらないだろうね

っつーか 言ってる意味がわからん
デザイナがプレーンなHTML持ってくるのはとうぜん
JSPタグとかに直すのはどの道プログラマ

そんな理由でリソース使わないのはおかしくない?



366:デフォルトの名無しさん
05/05/22 21:57:42
>>365
プログラマが手を入れたJSPファイルは、デザイナにとって理解不能なモノになるわけだが、
そういう分業はそのうち破綻しないか?

JSFスレとしては、デザイナが使えるJSFエディタキボンヌ、というところか。

367:デフォルトの名無しさん
05/05/22 22:00:22
>>366
ちょいまり、
JSPファイルがデザイナに戻る流れってあるのか?


368:デフォルトの名無しさん
05/05/22 22:07:37
>>367
デザイナが一回しかさわらないとでも?
むしろ、デザインは定期的に変わったりするだろ。

369:デフォルトの名無しさん
05/05/22 22:08:53
出荷した後で「ここ直して」とか無い?うちはよくあるんだが。

370:デフォルトの名無しさん
05/05/22 22:11:57
>>368
定期的っつ-のがわかんないけど
デザイナからあがってくるものはHTMLだけだよ
そんなこといったら、あんたんとこどうやって作っているのか疑問
JSP知ってるデザイナばかりではないのだろ?

>>369
それって文言変更レベルだろ?
そんなのPGがやるだろ

371:デフォルトの名無しさん
05/05/22 23:55:45
>>370
業務系WEBアプリならともかく、オープンなネット上のショッピングカートのような
見た目重視とかそういうのならいくらでも変更はあがってこよう

まず、JSFはビジュアルなデザイナ重視
とはいえ、グループ開発用のいいのあるんかな

JSP単体ならDreamWeaverでTomcat連携機能もあったりもして
実はデザイナにもJavaの知識なしで扱いやすい
最初の設定だけはしてあげる必要があるけど、JSPからの戻りが問題ない
が、Strutsのようにカスタムタグが出てくるともうだめぽ

本当はたぺちゃんが普及してくれるといいのだが日本語のドキュメント
一切なしで実用的ではない

テンプレート埋め込み型を組み込むのがシンプルだしいいやね
Struts素のまま使って死んでるプロジェクトいくつかみてきた

372:デフォルトの名無しさん
05/05/23 00:11:05
JSF使えるツールって
SunとIBMぐらいでしょうか?
値段いくらぐらいなんでしょうか?

373:デフォルトの名無しさん
05/05/23 00:53:18
>>372
Sunのなら10000円くらいだったかな。
BorlandもJSF使えないかな?

374:デフォルトの名無しさん
05/05/23 00:55:37
>>370
JSPを書くことはできんが、JSPの邪魔をせずに変更できるようなデザイナならいるとは思うが。
で、デザイナとの行き来が問題になってるからTapestryとかS2JSFとかNirvanaとかMayaとか開発されてるんでしょ。

375:デフォルトの名無しさん
05/05/29 11:12:51
今まで自分がやってきたプロジェクトでは、デザイナーがJSPに触るようなことは想定されてなかったな
cssでデザイン関連の設定を極力外出ししてさえ貰っていれば、所詮htmlタグの変更レベルだからPGで対応可能だった。
それでも2度手間でメンドクサイのはたしかなんで、デザイナーが直接触れるS2JSFみたいなのは凄く興味を惹かれる

376:デフォルトの名無しさん
05/05/29 11:22:35
開発途中でデザイナとPGでHTMLが行ったり来たりするってどういうことよ
仕様変更時はしょうがないが、設計書書いてないの?

377:デフォルトの名無しさん
05/05/29 12:21:32
>>376
ネット上で公開するB2Cのアプリだと、ぎりぎりまでデザインにこだわるお客さんは結構いるよ。
設計ではなく、見た目の問題でね。

378:デフォルトの名無しさん
05/05/29 15:27:51
デザインなんて仕様で決めれるもんじゃないしね

379:デフォルトの名無しさん
05/05/29 18:58:30
>>378
紙芝居わざわざつくって、事前に確認とっているんだから
大幅な変更は別料金ですよね?

>ぎりぎりまでデザインにこだわるお客さんは結構いるよ。
PG側としてはむかつく訳だが

380:デフォルトの名無しさん
05/05/29 20:18:57
>>379
で、そういうPGは、クライアント側としてはむかつかれる訳だが

381:デフォルトの名無しさん
05/05/29 20:56:35
間にSEなりPMが入っているのでクライアントと直接話さないよPGは

382:デフォルトの名無しさん
05/05/29 21:41:08
というか、デザインなんて、サイトインしてからも変わる。

383:デフォルトの名無しさん
05/06/01 23:37:14
>>382
そのときデザイナは現行のJSP見るのかい?
プレーンなHTMLだろがボケ

デザイナ(HTML)→プログラマ(JSPに直す)
一方通行なんだよ
簡単な修正も出来ないプログラマはイラン

384:デフォルトの名無しさん
05/06/01 23:41:40
>>383
あほみっけ

385:デフォルトの名無しさん
05/06/01 23:41:49
おまいらスレタイ嫁

386:デフォルトの名無しさん
05/06/01 23:56:44
>>383
で、またプレーンなHTMLにJSPのタグとか1から埋め込んでいくの?
いいね、工数ぼったくれて。

387:デフォルトの名無しさん
05/06/03 17:28:57
そこでXMLCですよ・・・・。
今でも使ってるの俺ぐらいだろうな・・・・。

388:デフォルトの名無しさん
05/06/04 00:51:56
あ、その言葉、おれも聞いたことあるよ(・∀・)

389:デフォルトの名無しさん
05/06/11 02:09:59
AjaxFacesってのが出たみたいだけど、使った人いますか?
どんな感じ?
Ajaxってのがなんかスゴいこと出来そうな感じ。

AjaxFaces 1.0 released
URLリンク(www.theserverside.com)

390:デフォルトの名無しさん
05/06/12 14:49:31
>>389
デモが見たい

まJSF自体がJavaScript吐くようなカスタムタグだから当然だけど・・・
ちなみにAjaxから勉強しないとはまるぜ

391:デフォルトの名無しさん
05/06/13 18:23:51
JSFのコントローラがだめぽだから、コントローラ部はStrutsをつかって、
ビューの部分はJSFなんて話をよくきくんでござんすが、JSFのコントローラの
いったいどこがStrutsと比べてだめぽなんでやんすか?

392:デフォルトの名無しさん
05/06/19 01:41:35
どこで聞いたのかわかんないけど
Strutsとは微妙に層が違うと思いますよ


393:デフォルトの名無しさん
05/06/19 03:47:18
StrutsはWebアプリケーションを作りやすくする感じだけど、JSFはアプリケーションをWebで作りやすくする感じ。
Webを意識する必要があるならStrutsで、アプリケーションならJSF、という印象をうけた。

394:デフォルトの名無しさん
05/06/19 09:46:32
>>393
意味不明

395:デフォルトの名無しさん
05/06/19 11:10:50
なんとなく伝わるぞ?

JSFだとURLと処理(Action)の関係が固定にならないから、
パラメータ付きのURLをメールに乗っけるとかは作りにくい。

StrutsだとHttpSessionを一切使わない作りにもできたり。
アプリケーションの基盤としてはJSFの方が遥かに上だが。

396:デフォルトの名無しさん
05/06/19 17:36:10
>>391
ダメだといわれているけど、改めて理由を聞かれると答えられなかったのでちょっと考えてみた。
コントローラっていうのがナビゲーション機能っていう意味でなら、struts-config.xmlと比べても何の不満もない。
ちょっと機能が違う部分があるけど、それは目的が違うから。


JSFを使うつもりなら、そのコントローラ部分にStruts1.xを使うっていうのは止めといた方がいい。
JSFはイベント駆動型で、Struts1.xはリクエスト駆動型だから、無理矢理組み合わせたところでメリットがない。
(タグだけJSFで書いて、でもイベント駆動にはしないってことになるでしょう。)

今Strutsを使っていて将来性を高めるためにView部分をJSFでっていっても、
Strutsを止めて作り直すようなことがあったとしてもViewの部分(JSFの部分)が
ほとんど修正なく使えるとも思えない。


イベント駆動とリクエスト駆動での設計の違いなんかを考慮しないで、
JSF使おうというときにStrutsと同じ設計で行こうとすると、JSFのコントローラだめぽと勘違いするんじゃないのかな。
それに応じた設計をしなかったのが問題なわけだと思うんだ。

ただ、ローカルにインストールするアプリを作るのと同じように、強力なコントローラ部分がないっていう感じはする。
(ここでいうコントローラはナビゲーション機能とは違います。)
これはDIとかAOPとかそういう別のフレームワークを組み合わせて使うのがベターだと思う。


397:デフォルトの名無しさん
05/06/21 17:01:28
JSF+Springでアプリ作ってます。

ビジネス層はプレゼンテーション層を意識してはならないと思っています。
なので、DB更新処理はManagedBeanがDTOに値詰めてビジネスロジックに渡して
中でDAOが処理という設計にしました。

そこで、DBテーブルに持っている更新者IDと更新日付に
ログインユーザー情報(SessionスコープのManagedBean)をセットするのは
ManagedBeanの役割だと思うので
ManagedBeanでDTOにセットしてあげてるのですが、非常にかったるいです。

JSFから別のものに乗り換える場合
ManagedBeanで書いたかったるい処理を乗り換えたものにも
やらないといけないのは非常にめんどくさいと思ったんですけど
私どっか考え方ずれてますか?


398:デフォルトの名無しさん
05/06/21 17:03:23
ちょっと訂正
>なので、DB更新処理はManagedBeanがDTOに値詰めてビジネスロジックに渡して

DB更新処理は”プレゼンテーション層に持っている情報”はManagedBeanがDTOに値詰めてビジネスロジックに渡して

399:デフォルトの名無しさん
05/06/21 22:00:53
非常にめんどくさいと思うのは別にいいことじゃない?
リファクタリングのしがいがあると思うけどなあ。

回答になってないけどさ。


400:デフォルトの名無しさん
05/06/21 22:23:14
>>397
俺がよくやるのは、HibernateでInterceptor使って、
getUserPrincipal()と更新時刻を強制的にセットする方法だな。

Hibernateのマニュアルにやり方載ってるよ。

401:デフォルトの名無しさん
05/06/22 09:34:55
>>397
Facade

402:デフォルトの名無しさん
05/06/22 17:51:41
JSFでStrutsのDynaActionFormみたいなことは出来ないのでしょうか?
map-entriesで似たようなことはできるんですがvalue-classの指定がmap-entry毎にないんで
valueが全て同じ型になってしまいます。
map-entry単位でvalue-classの定義が出来れば楽なんですが...


403:デフォルトの名無しさん
05/06/25 00:01:57
URLリンク(www.eclipse.org)
意外なことにinitial committerはIBMじゃなくてoracle。

404:デフォルトの名無しさん
05/06/28 01:19:32
セッションが切れた時の判定って何から取得するのがベストなのか
教えてください。イマイチ何から取得して判断すべきなのか解らない。

405:デフォルトの名無しさん
05/06/28 19:59:23
単純にListenerじゃ駄目なのか。JSFの話じゃなくなるけど。

406:デフォルトの名無しさん
05/06/28 20:53:35
JSFって、クライアント側に全部持つ事できるから、セッション切れても大丈夫じゃないの?

407:デフォルトの名無しさん
05/06/28 21:13:04
>>406
それはない

408:デフォルトの名無しさん
05/06/30 01:20:54
セッションの有効期限を200分にしてるにもかかわらず
25秒間何もしないで放置するとすべてのオブジェクトが開放されてしまうのに
はどのような原因があるのでしょうか?ビーンのスコープはすべて
Sessionに設定しています。

409:デフォルトの名無しさん
05/07/23 03:45:10
>>404
javax.servlet.http.HttpSessionListener
って>>405がレスしてんのか…orz

410:デフォルトの名無しさん
05/07/23 09:51:33
なんかJSFって難しそうだな。
とりあえず今回のプロジェクトはStruts1.2にします。
orz..

411:デフォルトの名無しさん
05/07/23 11:12:57
>>410
どのようなサイクルで処理が回っているのか理解してから使ったほうがいいと思う
これは非常に重要
俺は半年前Websphereで初めてJSFやったんだけど
たまたま時間に余裕のあるプロジェクトだったんでゆっくり勉強してから作業に入れたので
とても幸運だった

いつでも質問してくれ
かなりの事が答えられると思う

412:デフォルトの名無しさん
05/07/23 11:18:30
なんかJSFって難しそうだな…
xDBCとsocket通信を使って開発したほうが楽そうだ。

413:デフォルトの名無しさん
05/07/23 11:25:32
>>412
ま、俺もたまにそういうこと思うけどね
StrutsやHibernate、Springをプロジェクトで使ってもいいけど
半数以上知ってる奴がメンバーの中に居なければ、逆に進度が落ちる
みんなそんなにバカなコーディングはしないだろう
普通に(JDBCとかServletAPIで)作っていってもそれほど問題はないとはおもうこともしばしば 柴俊夫

414:デフォルトの名無しさん
05/07/23 12:44:58
ひとりだけすごく知ってるやつがいればいいよ。

415:デフォルトの名無しさん
05/07/23 12:47:53
>>414
いや、その一人の作業負荷が高くなりそう
半分ぐらい知っている場合
「知らない奴は勉強すれ」

一人しか知らない場合
「操作手順書書いといて」

わかりきった事実やるせない事実

416:デフォルトの名無しさん
05/07/23 13:23:15
EclipseにJSFのプロジェクトあったんだね。
VisualEditor関連の機能が気になるんだけど、いつ頃モノはできるんだろう?

URLリンク(www.eclipse.org)

# Graphical/Visual Editor for JSF Pages

1. Visual editing of JSF components
2. Support drag and drop, wizards for standard and core JSF tags
3. Support for backing beans

# Graphical/Visual Editor for faces-config.xml (Page-flow Editor)

1. Create and remove pages (Navigation Cases) from the diagram
2. Rename navigation rule outcomes and actions and navigation cases on the diagram
3. Automatically diagram navigation data from any JSF configuration file

# JSF Preview

1. The JSF Editors will have a preview capability

417:デフォルトの名無しさん
05/07/23 13:29:10
>>416
その「will」がいつになるのか書かれていないのでかなり先の予感

418:デフォルトの名無しさん
05/07/23 13:34:19
現行のVEみたいに中途半端で終わりそうな気もする

419:デフォルトの名無しさん
05/07/23 13:44:41
とりあえずOracleとIBMとの間で打ち合わせが行われた模様。
まあIBMの連中にしてみれば「全部俺らにやらせろや」とか
思ってんだろうな。

420:デフォルトの名無しさん
05/07/23 14:02:35
>>413
フレームワークってそういうもの。
導入初期には覚えるためのコストがかかることを忘れてはいけない。
わかっているプロジェクトでは学習のための期間や書籍購入、セミナー参加等を計上するが
ダメプロジェクトではフレームワークの効率性のみを期待してあぼーん。

421:デフォルトの名無しさん
05/07/24 05:09:20


422:デフォルトの名無しさん
05/07/24 05:22:23


423:デフォルトの名無しさん
05/07/24 13:40:55
>>404
セッション切れ判定はHttpSessionListenerじゃやりにくい。
無効化されたの伝えようにもセッションが切れちゃってるから。
切れたセッションIDを記録する方法もあるだろうけど。

セッション切れ画面を出したい場合は、
RESTORE_VIEWなPhaseListener#afterPhase()で、

HttpSession#isNew() -> true
HttpServletRequest#isRequestedSessionIdValid() -> false
HttpServletRequest#getRequestedSessionId() -> != null (不要かも)

この条件が成立するリクエストはセッション切れと扱える。

で、これを捉えたら、FacesContext#setViewRoot()に
ViewHandler#createView()で作ったビューをセットして
FacesContext#renderResponse()を呼べば、
セッション切れ画面に切り替えることができる。

ただし、ログアウト画面に再ログインのリンクがあったりすると、
そこからログインした時にセッション切れ扱いされちゃうかも。

一月近く経ってるからさすがにもう見てないだろうなー。。

424:デフォルトの名無しさん
05/07/27 00:22:43
>>416 夕べ、Oracle, IBM, BEAの間で打ち合わせがあって、リリースは
WTP1.5にあわせて2006Q3にしようっていうIBMの意見がとりあえず通ったみたいだ。
WTPがJ2EE5.0対応になるタイミングだしね。

あと、>>349- から話題になってるExadel Inc.が仲間に入れてくれって
表明した。まあ現時点でWTPに寄生したJSF製品売ってるExadelStudioに
してみりゃ死活問題だろうしなあ。

425:デフォルトの名無しさん
05/07/28 12:01:54
<h:inputText id="age" required="true"/>
<h:message for="age"/>

入力チェックで引っかかった場合、
リソースの{0}の部分にid(age)が入るみたいなんだけど
ここを別の文字に変更したい場合はどうすればいいの?

426:425
05/07/28 12:11:28
MyFacesのサンプルにあったわ。

427:デフォルトの名無しさん
05/07/28 13:00:53
>>426
本当に!!
MyFacesを使ってないわっしにぜひ教えてはくれないでしょうか。

428:デフォルトの名無しさん
05/08/02 00:53:59
>>424さんどうもすんません
その解決方法は、とりあえずセッションスコープのビーンを作成してそこでIDをもたせて
それがnullになった瞬間セッション切れているって判別することで解決しました。
ライフサイクルの中でJSFはListnerで何らかの処理が走るのでその中に継承して埋め込む
形で埋葬し解決しました。どうもです。
 ところでまたまたしょうもない質問ですが、多重送信を防止する場合どのような解決方法で
回避しているのが教えてください。
 ID+アクション名というユニークな値を作ってある瞬間アクセスされたとき、過去に時間を記録していない
もしくは、現在の時間と過去の時間の差分が閾値を超えた場合、送信内容を受け付ける。それ以外は
しばらくお待ちくださいページに飛ぶって方法で逃げようと思っています。
 これだとダメでしょうか?


429:デフォルトの名無しさん
05/08/02 01:06:37
>>428
俺はStrutsのTransactionTokenの仕組みに、前画面情報を付加してアレンジした仕組みを使ってる。


430:デフォルトの名無しさん
05/08/03 01:04:54
>>429
ありがと、同期メソッドにユニークな値作らせるだけでいいのか。
たいした話じゃなくてよかったよ。どうもね


431:デフォルトの名無しさん
05/08/04 00:33:44
例えば、ログインフォームで
タブでログインボタンや、ユーザIDの入力フィールドにフォーカスを合わせた状態にします。
そこで、リターンキーを連打し、ごく僅かな時間に複数のリクエストを送信します。そうるすると、
com.sun.faces.lifecycle.InvokeApplicationPhase execute
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.remove(ArrayList.java:392)at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:271)at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)at
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)以下省略
というふうにエラーが出ます。しかし、これがどこから発生していたどこでキャッチできるのか
解りません。変数にアクセスする前であればHTTP500も発生しないし問題はあまりないのですが
出ると気持ち悪いので原因改善できる工夫をどのようにすればいいのか教えてください。

432:デフォルトの名無しさん
05/08/04 00:38:52
>>431
環境を全く書かないのは釣り。

433:デフォルトの名無しさん
05/08/04 01:44:36
JSFでバイナリデータのダウンロードをしたいのですが、上手くいきません。

ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
HttpServletResponse response = (HttpServletResponse) context.getResponse();
OutputStream out = response.getOutputStream();
FileInputStream in = new FileInputStream(fileName);
response.setContentLength(size);
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
out.close();
in.close();
FacesContext.getCurrentInstance().responseComplete();

ダウンロード自体は出来ています。
ですが、クライアントにダウンロードの要求確認の画面が表示されるのが、このメソッドが終了した後です。
つまり、
while ((c = in.read()) != -1) {
out.write(c);
}
↑を実行した後、ダウンロードしますか?と聞かれます。
小さいサイズですと、正常にダウンロードしたように見えますが、
少し大きくなると、1分後くらいにダウンロード確認画面が出ます。
さらに大きいサイズになると、途中でjava.lang.OutOfMemoryErrorが起きます。
普通のServletではほぼ同じコードでも問題なく動作しました。
JSFでは、responseを取得する以外に特別な記述が必要なんでしょうか?
ご教授いただければ幸いです。

434:431
05/08/04 01:49:02
環境といっても
JSF1.1
J2SDK1.4
Tomcat 5.x.xだけでしか試していないのでなんとも言えない。けど


435:デフォルトの名無しさん
05/08/04 07:09:19
>>431
おまえ、バカだろ?
JSF実装に何を使っているのかが重要なんだよ。
そんな調子じゃ道は遠そうだな。


436:デフォルトの名無しさん
05/08/04 13:01:33
>>431
二度押し対策なら本屋に逝って「LightWeightJava」を買ってP168を開けて解決するという方法もある。

437:デフォルトの名無しさん
05/08/04 15:25:33
これでもいい
URLリンク(d.hatena.ne.jp)

438:デフォルトの名無しさん
05/08/06 17:15:48
function disableSubmit(form) {
  var elements = form.elements;
  for (var i = 0; i < elements.length; i++) {
    if (elements[i].type == 'submit') {
      elements[i].disabled = true;
    }
  }
}

これって、使用部品数が多いと、遅くなっちゃうんだよな

439:デフォルトの名無しさん
05/08/07 13:15:01
社内アプリ、クライアントWindows2000/XPという前提で、何か入力画面を作ったとして、
クライアント側でログインしているNTのアカウントを取りたいんだけど、できる?

440:デフォルトの名無しさん
05/08/07 14:13:44
>>439 できる。が、スレ違いの予感。とりあえずNTLM認証とかでぐぐれ。

441:デフォルトの名無しさん
05/08/08 07:23:45
>>437
これいいね

442:デフォルトの名無しさん
05/08/08 10:26:27
>>441
うん、裏でああだこうだやるより
ユーザインタフェースって言葉に合ってると思う。

443:デフォルトの名無しさん
05/08/08 22:36:53
ManagedBeanって画面単位でつくってる?
それともユースケース単位?


444:デフォルトの名無しさん
05/08/08 23:25:54
気分単位。
うれしいBean
たのしいBean
かなしいBean
むかつくBean

うれしいBeanとたのしいBeanで悩む。

445:デフォルトの名無しさん
05/08/08 23:29:08
EmotionalBeanか・・・・・・・・・・語感的にはアリな気がしないでもないから不思議だw

446:デフォルトの名無しさん
05/08/15 12:03:33
>>443
IBMのWSADやRationalは画面単位っぽいコードを吐く
結局IDE任せだな俺は

447:デフォルトの名無しさん
05/08/15 20:46:39
>446

そうするとStrutsで
Actionクラスつくってるのとあんまりかわらなくないですか?
POJOってだけでもメリットあるのかなぁ

448:デフォルトの名無しさん
05/08/15 22:00:45
>>447
> POJOってだけでもメリットあるのかなぁ
そゆこと。

449:デフォルトの名無しさん
05/08/19 19:38:43
携帯向けサイトにJSF使おうと思って調べてたら
h:formってPOSTしかないのね。
i-mode公式サイト作ってる人ってJSF諦め?

450:デフォルトの名無しさん
05/08/20 12:46:38
>>449
単純に実装を行っているのがWebブラウザ向けばかりというだけのことです
JSF自体はクライアントは何でもいい

どこかが作ったi-mode用カスタムコンポーネントがなければ
自分で作るしかない





451:449
05/08/20 13:21:15
>>450
そっか。
JSF的にPOSTで受け取らないと何か動作に問題があるので
POST固定ってなってるもんだと勝手に思ってたよ。
ありがと探してみる。

452:デフォルトの名無しさん
05/08/20 14:25:11
submitボタン二度押し対策で、
URLリンク(d.hatena.ne.jp)
の方法はうまく行きませんね。
この方法は、ASP.NETでもダメだったような記憶がある。

「LightWeightJava」の方法はうまく行くけど、
送信中にブラウザの中止ボタンを押すと、それ以降
submitできなくなる。

IE限定なら、document.readyStateが使えるんだけど。


453:デフォルトの名無しさん
05/08/22 08:48:02
submitボタン押せなくするよりもonsubmitイベントでfalse返すほうが確実っぽい

454:デフォルトの名無しさん
05/08/24 13:25:22
アクションリスナの存在意義がわかりません。
・処理分岐が不可能
・必ず後でアクションメソッドが呼ばれる
それでもなお、ここはアクションメソッドで実装せず、
アクションリスナを使うべきだ!
という具体例があれば教えてください。


455:デフォルトの名無しさん
05/08/26 00:27:57
何か勘違いしてる気がするけど、それはそれとして、ヒント:イベントドリブン、EoD

456:デフォルトの名無しさん
05/08/26 10:28:54
>>455
もっと詳しくお願い。
アクションリスナとアクションメソッドの使い分けが本当にわからん。
リスナメソッドがアクションメソッドより先に呼ばれると言うだけじゃないのか?
リスナメソッドの処理結果を画面上に反映させてユーザに通知することも出来ない。
画面を再描画させる契機はアクションメソッドしかないのだから。
Swingなどのスタンドアロンアプリだったらわかるが、Webアプリでは
どうやって使い分けるんだ?
マジ教えて。


457:デフォルトの名無しさん
05/08/29 22:23:41
>>455
俺もわからない。ヒントだけじゃなくて、具体的な使い分けを教えて欲しい。

458:デフォルトの名無しさん
05/08/29 23:20:25
僕もちゃんと理解してるわけではないんでアレなんだけど。

「アクションメソッド」と「アクションリスナ」があるって考えると確かにリスナの方はどうよって気にもなりますが、
基本的にはイベントドリブンなので、アクションを捕まえるのは常にアクションリスナの役割だってのが前提。
だけど、それをいちいち書くのもややこしいから、ラップして使いやすくしたのがアクションメソッド、
ってことなんじゃないでしょうかね?

459:デフォルトの名無しさん
05/08/29 23:44:09
>>458
ご見解ありがとう。
でもさ・・・
大義名分とか、本来の意味での存在意義はその通りなんだろうけど、
JSFのアクションリスナは、例外を投げて処理を中断することはできるけど
画面の遷移先を変えたりができないってのが何とも中途半端に感じる。
ボタンが押されたら→DB検索→検索結果表示画面へ遷移(またはエラー画面へ遷移)
なんて動きはリスナではできないんだよね・・・・

書籍やWebの情報を見ても「イベントをハンドリングできます」とは書いてあるけど
リスナで実装するべき処理の具体例をなかなか見つけられない・・・




460:デフォルトの名無しさん
05/08/30 00:02:35
無理して使う必要ないんじゃない?
JSFに依存せずにコントローラを作れるという点からも、普段はアクションメソッドを使っていればいいんじゃないだろうか

461:デフォルトの名無しさん
05/08/30 02:17:23
AjaxFaces とか既製品使わないでちょっと、簡単なサンプルを
JSF+AJAXで作りたいのですが、どこかにサンプルはないでしょうか?
いまいましいことにドトネトのやつはあるのですがどうにかならないものでしょうか?

462:デフォルトの名無しさん
05/08/31 19:26:54
>>461
.Netを使う。

463:デフォルトの名無しさん
05/09/01 20:42:18
JSFってつかえねぇ。
とくにMyFacesが駄目だな。

俺は今まで.NET一筋だったんだけど、どれだけJavaが使えないかを検証するために、
ここ一週間ほどJSF使ってみた。

<x:inputDate>とか最悪だな。
入力フィールドが日・月・年の順になってやがる。
しかもソースみるとこの順序固定で出力してやがる。

また<x:inputCalendar>も同様に駄目。
ポップアップさせて日付を選ぶと日付が入力欄に入る。
一見すると正常に動いてるようだが、ちょっと設定を変えるとおかしい。

例えば、表示形式をyyyy/MM/ddにする。
ポップアップから選択後、入力欄には確かにこの形式で表示される。

”しかし”

もう一度ポップアップさせると、動作がおかしい。
何がおかしいかを検証してみると、月が01とか02とかMMの形式だとポップアップが月を認識しない。
選択させるときはMMの形式でOKなのに、表示するときはMMだと認識せずMでないといけない。

つうか、Javaの魅力って何?
OSを選ばないところぐらいしかメリットが無い。
JSFで1ヶ月掛かる仕事も.NETなら1週間程度で終わりそうだし、
MySQLやPostgreSQLも.NETから使えるし、WindowsサーバのOS代だけ金使って、
あとはフリーでも問題無い。

ほんと、JSFって使えねぇ。

464:デフォルトの名無しさん
05/09/01 20:53:02
>>463
それはJSFが使えねえんじゃなくて、MyFacesが使えないだけだ。
さすがWin/.NET厨。問題の切り分けもできないDQNだな。


465:463
05/09/01 20:56:56
>>464
JSFの機能 ”だけ” じゃ.NETの足元には及ばない。
そこで、拡張されていてApacheで開発されているMyFacesと比べるのが相応と判断しただけだ。

JSFだけじゃ.NETと比べる価値も無い。

466:463
05/09/01 21:06:59
JSF、問題は山積みだよ。

例えば、ブラウザの『戻る』ボタンの制御。
JSFではデフォルトで制御してくれているが、昨今、この制御をする方法は何通りもの方法があり、
既に決まった処理となっている。

”しかし”

制御したいのは更新などで多重登録になる場合であり、なんでもかんでもデフォルトで
この処理が付いてくるのは邪魔以外の何者でもない。
特に、検索など参照だけの場合、ボタンやリンクで戻ろうが、ブラウザの戻るボタンで戻ろうが、
どっちでもいいはず。

さらには、JSFだけじゃなくてJavaでのWebアプリ自体に無駄が多い。
ServletやJSPなどで構成されたシステムで、なぜApacheのHTTPServerと
TomcatなどのApplicationServerを連携させてる構成が多いのだろう?

とくにJSFやStrutsなど使ってる場合、システムの99%近くはServletやJSPで
APサーバが処理するのに、めったに処理しない静的コンテンツ用に
ApacheのHTTPServerと連携させる。
まったくもって無駄なサーバ構成である。

467:デフォルトの名無しさん
05/09/01 21:29:25
>>465
> そこで、拡張されていてApacheで開発されているMyFacesと比べるのが相応と判断しただけだ。
その判断がDQNだな。
本業を別に持っている人たちが片手間に作ったモノとなぜ比べる?
せいぜいIBMの実装と比べてから言えよな。
そんな判断もつかないのか。M$厨は。

468:デフォルトの名無しさん
05/09/01 21:30:52
>なぜApacheのHTTPServerと
> TomcatなどのApplicationServerを連携させてる構成が多いのだろう?
てめえがそう思うのならしなければいいだけの話し。
誰も連携させることを強制なんかしていない。
勝手に思いこむお前が糞。

469:463
05/09/01 21:43:26
>>467
>その判断がDQNだな。
>本業を別に持っている人たちが片手間に作ったモノとなぜ比べる?

これは無知ゆえの発言ですね。
Apacheは非営利目的の団体だけど、開発者は普通の企業に勤めてる人間が多い。
しかし、だからといって本業の片手間と決め付けるのは無知そのもの。
実際は、勤め先の会社から給料を貰いつつ、その会社での”仕事”として
Apacheプロジェクトの開発をする事が認められている。
つまり、本業。

>せいぜいIBMの実装と比べてから言えよな。
>そんな判断もつかないのか。M$厨は。

IBMの実装?
それに金払うのか?
ならば、金払わないでもつかえる.NETと比べる土台にすら上がってないよ。

>てめえがそう思うのならしなければいいだけの話し。
>誰も連携させることを強制なんかしていない。
>勝手に思いこむお前が糞。

俺がサーバを立てるなら連携させることは無いだろうな。
だけど、Javaなどをメインに仕事してる会社とかが構築してる場合とかでも
ほぼデフォルトでそういった構成になってる。
正直言って不思議だよ。

ちなみに、思い込みじゃなくて実際に見てみた結果で言ってる。


470:デフォルトの名無しさん
05/09/01 21:51:35
>>469
Apacheは非営利目的の団体だけど、開発者は普通の企業に勤めてる人間が多い。
しかし、だからといって本業の片手間と決め付けるのは無知そのもの。
実際は、勤め先の会社から給料を貰いつつ、その会社での”仕事”として
Apacheプロジェクトの開発をする事が認められている。
つまり、本業。

その辺はプロジェクトによって全く扱いが違うぞ。
MyFacesのコミッタが誰だかわかってて言ってる?
例えば、コミッタのうちのひとり、
Oかもと氏はみかかでーたの仕事としてMyFacesの開発なんかしてないぞ。

471:デフォルトの名無しさん
05/09/01 21:52:13
> 俺がサーバを立てるなら連携させることは無いだろうな。
じゃあそうすればいいだろ。文句たれるな。

472:デフォルトの名無しさん
05/09/01 22:00:52
俺も某Apache関連プロジェクトのコミッタだけど会社の業務中はコッソリ・・・
業務として給料もらってできたらいいなー

473:デフォルトの名無しさん
05/09/01 22:01:10
わざわざJSFのスレにきて.NETの足元にも及ばないとか言ってる時点でお察し

474:463
05/09/01 22:22:58
>>470>>472
それは、日本と欧米の違いじゃない?
まぁ、プロジェクトによって変わるというより、どこの国の奴って方が大きい気がする。
考え方の違いだな。

>>471
単純な文句ではない。
たとえばMyFacesの日付関連に関してもそう。
日付表示は国によって違うことも分かる。
だからこそinputCalendarとかではyyyyMMDDなど書式を指定できる。
にも関わらず書いたような事が起こる。
つまり、考えが足らない。
つうか、inputCalendarでyyyymmddの指定してもう一度ポップアップさせると
月を認識しないなんて、バグだろ・・・
それにMyFacesのコミッタに日本人がいるのに、日・月・年の並びになってて不思議に思わないのも変。
日付の表示方法ってのは何通りもあるから、大抵の言語とかでも日付の書式設定てのがある。
書式設定にあわせて入力欄も変わらないと意味が無いよな。

はっきり言って、コミッタの設計能力って新卒の新入社員並だよな・・・


HTTPServerに関してもそう。
書籍やインターネットなどで連携についてよく掛かれている。
確かに静的コンテンツを表示させるのには効率は良いだろう。
しかし静的コンテンツが殆ど無いにも関わらず、なんでも連携してる感があるのは否めない。

>>473
理論的に反論できない時点でお察し。

俺は実例もあげて言ってるわけだが、反論するなら例などあげて理論的に反論しないと、
負け犬の遠吠えにしか聞こえない。

475:デフォルトの名無しさん
05/09/01 22:34:48
先の見えない&路線変更しまくりの.NETよりはJavaのほうがコミュニティーや各ベンダの
相互チェック体制がしっかりしている分いいかな。



476:463
05/09/01 22:38:01
>>475
Javaは路線変更していないと言えるのだろうか・・・

コミュニティーや各ベンダの相互チェック体制がしっかりしてるというが、
実装を行うコミュニティやベンダが多く、同じ仕様なはずなのに
多少なりとも独自仕様が入り、互換性がない。
つうかSunのJDK自体も独自仕様がはいってるし、正直終わってる。

477:デフォルトの名無しさん
05/09/01 22:42:43

また、本屋が儲かるな・・

478:デフォルトの名無しさん
05/09/01 22:43:55
まあ、糞.NETには糞MyFacesが相応な比較対象ということなんだな。
まともな実装にはかなわないのがわかってるから勝てそうな相手を選んだってことか。

479:デフォルトの名無しさん
05/09/01 22:45:40
>>474
MyFacesに関しては同意できるんだが、ApacheHTTPServerと同TOMCATの連携は
ロードバランスやクラスタリングの様な便利な使い方もあるわけで、なぜ否定的に見
られるのか分からん。
それに、TOMCATがガチでAPサーバとWEBサーバを兼ねてたら、IISとの混成なん
かで無駄な工夫が必要になる。

480:463
05/09/01 22:46:30
>>478
なら、そのまともな実装とやらを教えてくれよ。
俺のJavaの知識は1週間しかないんだよ。

1週間程度勉強した奴にここまで突っ込まれて、理論的にも反論できないってどういう事よ。


481:デフォルトの名無しさん
05/09/01 22:49:00
いやホント .Net 案件無いんですわ
たのんますよ

482:463
05/09/01 22:53:24
そりゃ下請け、孫受けじゃ案件ないだろ。
俺の会社がそうだけど、元請けがしっかりと.NET案件でJavaと同じ期間・金額で見積もって
儲けてるからな。

いまやJava技術者は過剰供給で単価が安い。
しかも、トラブル続出、開発工数は膨らんで大変だから、下請けに丸投げする。

483:デフォルトの名無しさん
05/09/01 23:06:03
>>480
IBMの実装でも試してみろよ。
期間限定(30日だったかな?)なら無料で使えるから。

484:デフォルトの名無しさん
05/09/01 23:08:54
>>480
> 1週間程度勉強した奴にここまで突っ込まれて、理論的にも反論できないってどういう事よ。
糞実装と比較して文句たれて、どんな人物が開発してるかも知らずに「Apache」というだけで「本業で開発」と決めつけてる
ような奴に、「ここまで突っ込まれて」とも思わないのだが?


485:デフォルトの名無しさん
05/09/01 23:44:31
糞実装のMyFacesでも、少し前に新人に作らせた.NETプログラム(C#)よりはまともだ
だから、Javaの勝ちだな

486:デフォルトの名無しさん
05/09/01 23:54:22
>>474
> しかし静的コンテンツが殆ど無いにも関わらず、なんでも連携してる感があるのは否めない。

普通は画像が大量にあったりするが、しょぼいイントラしかやったことないのか?
まー、検証もせずに Apache と連携させなきゃならんと思い込んでる人間が多いのは同意で
ローカル開発環境でも教科書どおりに Apache + Tomcat とか意味分からんとやってるプロジェクトが多い。
なぜローカル環境でも Apache と連携してるの? とか聞いたら、え?無くてもいいの?
とかいうプロジェクトは俺が Tomcat のみで稼動するように今まで置き換えてきた。
SSL もクラスタリングも仮想ホストも Tomcat で出来るしな。

.NET のほうが楽なのは同意。.NET はそんなに経験ないがサクサク作れた。
ちょっと変わったことしようとしたら、ハマったが、それは経験不足だったからかもしれない。
悪くいうつもりは無いが、Java はもっとバカ向けに作られてもいいと思う。
DI やら AOP は便利だが、作ってる奴らが技術自体に酔ってる気がしてならない。
自分でも Javassist や CGLIB で AOP 組んだが確かにおもしろい。
そういう低レベルな技術が見えない .NET とは思想の差か。

487:デフォルトの名無しさん
05/09/02 00:08:01
>>486
> ちょっと変わったことしようとしたら、ハマったが、それは経験不足だったからかもしれない。
俺もそこにギャップを感じた。
ありきたりの、おきまりのことをやるだけなら簡単なのだが、想定外の要件に対応しづらい。

488:デフォルトの名無しさん
05/09/02 00:14:06
>>486
.NETにもCodeDOMを使ったAOP実装とか、IoCコンテナでDelegateInjectionとか
.NETでも独自の特色を活かした技術的酔いどれは色々模索されてるよ。
2ちゃんで話題にならないのはレベルの差かw

489:デフォルトの名無しさん
05/09/02 00:17:32
2chで議論するまでもなく、.NETとJavaのどちらが優れているかなんて市場(経済)が証明している。
.NETなんて「そのうちJavaを追い越す」なんて5年前から言われていて、いつまでたってもてんで普及しない。
Java>>>>>.NETなのは某255が暴れていた5年前から変わらなかったし、これからもそう簡単には変わらないよ。

うちらがここでどう議論しようが、それが現実の企業の下している結果なんだから仕方ないじゃん。
これはJSFがいまだ流行らず従来のJ2EE仕様で現場が満足しているという状況にも同じことがいえるが。

つうかなんでいまさら.NET vs Javaをこのスレでやらにゃならんのだ?


490:デフォルトの名無しさん
05/09/02 00:18:56
流れを読まずに低レベルな質問。

1) JSFでWebアプリの初期化仕事をしたい場合ってどうするのが
 一般的?初期化専用のServletを作るしかないのかな?

2) ManagedBeanを取得/参照する一般的な方法はなに?
 Session/Request/ContextをFacesContext経由で取得して
 Bean名で参照すれば可能なのは分かるんだけど、
 ScopeとBean名はfaces-config.xmlで設定するわけなんで、
 ↑のようなのをベタでやるのはキモチ悪いんですが。


491:デフォルトの名無しさん
05/09/02 00:23:32
>>489
> これはJSFがいまだ流行らず従来のJ2EE仕様で現場が満足しているという状況にも同じことがいえるが。
これは来年が勝負だな。Java EEの標準仕様としてJSFが組み込まれるから、各ベンダーや開発環境の対応が充実してくると思われる。

.NETが普及しないのは、特定の企業の囲い込まれたくない、という企業や公共機関の思惑もありそう。
特定の企業の方針に振り回されたりぼったくられたりするのはカンベンだ、という。
あるいは、政府や公共機関だと特定企業との癒着イメージを付けたくないとか。

> つうかなんでいまさら.NET vs Javaをこのスレでやらにゃならんのだ?
それは、このスレがアンチスレだからだ。ここは>>1の空気を読んで欲しいところ。


492:デフォルトの名無しさん
05/09/02 00:24:13
>>488
大多数のドトネト厨はそんなところをキャッチアップできないDQNだからな。

493:デフォルトの名無しさん
05/09/02 00:29:02
>>489
市場経済で何かが主流になっている=優れている?
俺的には断然否だな。

ハリウッドやオリコンチャートやベストセラーなんぞ糞だし
大企業の工業生産された酒よりは断然地酒だし
VHSよりベータだし

ちなみに.NETは結構ウチの会社では使われてるよ。
.NETがJavaほど使われてない主な理由って

・クライアント向けに使うにはまだ時期尚早(バカでかい.NET Flamework
 入れなきゃいかんしVBあたりに比べても重い)
・サーバサイドで使うとしてもIIS+Win限定ではなんかヤだ
・技術者がまだ少ない
・枯れてないのが不安

ってなあたりでしょ。アーキテクチャの優劣以外の問題のがデカいと思う



494:デフォルトの名無しさん
05/09/02 00:30:50
MSの技術はすぐに廃れるから信用できない。
かつてWindowsアプリ開発のスタンダードだったMFCでさえ、
今ではC++と共にすいたいしてしまった。
.NETだって1.0と1.1じゃえらい違いだ。

495:デフォルトの名無しさん
05/09/02 00:32:32
>>494
MFCは十分長生きしたと思うけどね
それにC++もそうだが、別に全然消え去ったワケじゃないよ

.NETはまあ2.0で随分変わるがJavaのTigerだって似たようなモンだろ

496:デフォルトの名無しさん
05/09/02 00:34:28
>>490
1) ServletContextListenerを使うのがいいんじゃね?
 初期化専用Servletを使うのはServlet2.2の頃のやり方。
2) 1. ManagedPropertyでDIする。
  2. ValidableResolverから名前を指定して取得する。

2.はExternalContextから取得する方法もあまり変わらない気もする。
まあ、ScopeとBean名はアプリにべた書きでもいいんじゃね?
JSPのVB式にもべた書きだろ?型名をべた書きじゃなきゃいいと思う。
これ以降はスレ違いだからこっちへ移動汁↓

JSF(JavaServer Faces)【.NET死亡?!!!】
スレリンク(tech板)


497:デフォルトの名無しさん
05/09/02 00:35:17
スマソ。俺がスレ間違えてた・・・

498:デフォルトの名無しさん
05/09/02 00:37:12
>市場経済で何かが主流になっている=優れている?
>俺的には断然否だな。

キミがここで何を叫ぼうが現実は現実。普及したものが勝ちだよ世の中は。
それはかつてMSがさんざん証明してきた真理。

>ちなみに.NETは結構ウチの会社では使われてるよ。

キミの廻りの話なんて聞いてない(しかも根拠がないから信じろと言われても無理)。

>時期尚早
>技術者がまだ少ない
>枯れてないのが不安

.NET厨が必ず使うよねこの一連のセリフ・・・.NETが登場してから一体何年たってると
思ってるんだ??いい加減目を覚ませよ。



499:デフォルトの名無しさん
05/09/02 00:38:44
Javaは1995年登場で5年後の2000年にはサーバサイドをかっさらっていったよなあ。
.NETは2000年夏に登場で5年後の今年もぜんぜんぱっとしないなあ。



500:デフォルトの名無しさん
05/09/02 00:42:40
>>498
いや、俺的には勝ち=優れているとは全然思ってないだけ。
WindowsのC++フレームワークのデファクトになったMFCなんぞ
まさに糞の塊だし。まさに、「勝っただけ」の典型。

時期尚早はただの事実だろ。クライアントサイドで普及するには
Longhornを待つしかない。で、クライアントサイドでは別に
Javaは勝っていない。
MSはRADとしてVB6.0系列は止めちまったから、クライアントは
.NETに移行していくしかない。そうやって技術者が育ってくれば
サーバサイドにも当然動きが出てくるだろう。

ま、それでもC++やCOMが完全に置換されることは無いだろうけどね。

501:デフォルトの名無しさん
05/09/02 00:43:10
ガビ━(゚Д゚;)━━ン!!!!! load-on-startupでホゲフガガって
今時はやらないんだな_| ̄|○||| 何時の間にやら時代遅れ……

502:デフォルトの名無しさん
05/09/02 00:44:38
>>496
回答トンクス。
>>501
別にやってもいいんじゃないの?
今時はダッセーとか言われるのかもしれないけれど。

503:デフォルトの名無しさん
05/09/02 01:22:22
>>491
サーバーサイドと言ってもいろいろなので。
以前ASPでやってたようなイントラ系の案件なら、ASP.NETに移行するのに何ら
問題はない気がする。

Javaであっても、SunやIBMに振り回されるのはかわらんだろう。まあ
程度問題ではあるけれども。

504:デフォルトの名無しさん
05/09/02 02:54:19
なんとなくLight Weight Javaという本を買ってチョコチョコいじり始めたんですが、あんまり理解できておりません。
サンプルを見ながら作ってまず思ったのは「セッション管理はどうすんの?」
で、次に思ったのは「jspに直でアクセスされたらどうすんの?」なんですが、
ここらへんはどう解決するのがスタンダードなんでしょうか。
買った本のサンプルでは直でURL叩いたらフツーに表示されて鬱になりました。
層が違うとかJSFと関係ねーとかボロクソ言われそうな確信に近い予感がするんですが、
スレ違いだったら容赦くださいませ。
なんか夢のような話がいっぱい書いてあってやってみたくなったんだけど、
オレの能力ではなかなか前途は暗そうです。

つーか、そもそもJavaとかServletの知識も足りん気もします。
Javaの言語的な知識一通り+Servletのお勉強(モア・サーブレットで一通り)+Struts(+hibernate)の業務経験半年。
Webアプリ自体はレガシASPで過去2年ぐらいやってます。

ちなみに、今までのスタンスは、
セッション管理
フレームワークから生のセッションをゲットしてコチョコチョチェックしてどうこうする。
jsp直アクセス
(゚⊿゚)シラネ。既存のがなんにも対策してないから俺もやらね。
でした。

505:デフォルトの名無しさん
05/09/02 06:59:29
>セッション管理はどうすんの?
普通にManagedBeanのスコープをsessionにすればいいだけじゃないのか?
何を問題にしているのかさっぱりわからん。

>「jspに直でアクセスされたらどうすんの?
WEB-INFの下にでも置いておけ。JSFだからという問題ではないだろ。


506:デフォルトの名無しさん
05/09/02 12:51:26
>>504
あなたが純粋なアプリ屋で、アプリ基盤とか共通チームとか言われるチームから
サポートを受けられる立場なら、細かいところは任せちゃった方がいいです。
逆に、自分でそこまで見なきゃ行けない立場なら、まずはServletレベルから
ちゃんと勉強した方がいいです。

507:デフォルトの名無しさん
05/09/02 19:41:20
>>470
Oかもと氏はContributerであって、Comitterではない。

いやあ、いつのまにコミッタに!?と一瞬あせったぞ。

508:デフォルトの名無しさん
05/09/02 19:42:35
あ・・・Committerね。タイポスマソ。

509:デフォルトの名無しさん
05/09/02 20:36:48
>>504
直接的なセッション管理についてはあまり気にすることはない、という感じかしら。
JSFはそういう汚いものをなるべく隠すようにデザインされてるから。
HttpSession#setAttribute()で明示的にオブジェクトを保存するかわりに、
SessionスコープのManagedBeanを使うのがJSFのやりかた。

JSFServlet通さずにJSFなjspに直接アクセスされたら、単に500になるだけでしょ。


510:504
05/09/03 00:41:37
やっぱり私は的外れな事をのたまっていたようで。
私がセッション管理と呼んでいたのはいわゆるログイン認証が必要な
サイトでのログイン状態の管理のことでした。
ログイン時に入力情報をセッションに格納し、その後リクエストごとに
セッションの情報を使って認証し、正当なものにのみリクエストされたページを
表示し、ダメならログインページにリダイレクト、
という処理をどう実装すべきなのかがぜんぜん思いつきません。

パッと思いついたのがFilterでHttpSessionを触ることなんですけど、どうなんでしょうか。
もはやJSFぜんぜん関係ないかもですが、ご指導お願いいたします。

511:デフォルトの名無しさん
05/09/03 09:59:06
>>510
ログインページからsessionスコープのManagedBeanを呼び、そこにログイン状態を保持
ログインチェックはFilterで行い、Sessionからログインで使ったManagedBeanをチェックする。
ただし、ログインページから飛ぶときだけはチェックの対象外とする。

でいけるんじゃないの?
ただ、Strutsのときはログイン時のsubmit先のURLがすぐわかったけど、JSFではどうなるんだっけ?

512:デフォルトの名無しさん
05/09/03 10:11:33
> ただ、Strutsのときはログイン時のsubmit先のURLがすぐわかったけど、JSFではどうなるんだっけ?
JSFを使ったフォームの場合は、送信先URLは自ページだよ。
送信元はわかるから、送信元がログインページかどうかを判断すればいいんじゃね?

513:デフォルトの名無しさん
05/09/03 10:37:56
>>510
JSFではExternalContext経由で比較的低レベルの機能にアクセスできるよ。
もちろんSessionも触れるしRedirectもできる。

「リクエスト受信時に何かしたい」ような場合、まあServletFilterでも
いいんだけど、JSF的にはPhaseListenerを使うという選択肢もあるんじゃない
のかな。

514:デフォルトの名無しさん
05/09/03 12:00:34
で、いつになったら具体的なサンプルコードなど出てきますか?

テーブル定義はこうして、こういった画面つくって、こういった設定、コードを書けば、
ログイン認証ができるよという明確なサンプル的なものが欲しいのですが?

それとも現時点ではJSFでは処理が複雑なのでしょうか?
それとも、ここの技術者レベルが低いのでしょうか?

515:デフォルトの名無しさん
05/09/03 13:48:16
>>514
一冊、本買ってこいよ。

516:デフォルトの名無しさん
05/09/03 13:59:47
>>515
JSFをメインに書いているような本は2,3冊買いました。
雑誌などで特集してるものも含めると10冊以上買いました。

しかし、雑誌などではコンポーネントとかの使い方などに注力しています。
また、ログイン画面などのサンプル的なものは存在しましたが、
やっていたのは、ログイン後にプログラムの中で固定でユーザ名とパスワードを
ifで判別してエラーメッセージを出して終わりとかその程度です。

実際に仕事で使えるレベルのサンプルが欲しいのですが、
書籍を書いている人も技術レベルが低かったり実務やってないのでしょうか?


517:デフォルトの名無しさん
05/09/03 14:47:50
そのif文を適当に変えりゃいいだけじゃないか。

518:デフォルトの名無しさん
05/09/03 14:51:49
>>514
あなたの技術レベルというか知能レベルが低すぎるのです。

519:デフォルトの名無しさん
05/09/03 14:54:56
>>514,516
突然逆切れか。しかも仕事か(苦笑)
お前、それでよく給料貰ってるな……。

520:デフォルトの名無しさん
05/09/03 15:06:31
要約すると
・本をたくさん読んだけどわからなかった
・本のレベルが低すぎるに違いない
・JSFが難しすぎるに違いない
・決して自分がバカなのではない

こいつの何がバカかって、514、516の最後の1行さえ書かなければ、それなりの意見がでてたかもしれないってところだ。

521:デフォルトの名無しさん
05/09/03 15:31:48
>>517
そのif文を書き換えるだけで良いという考えが、技術力の低さ・業務での開発が分かってない、
典型的な例だと思います。

>>519
JSFでまだ仕事はしてません。
Strutsでの開発をしていますが、今後を考えての勉強です。

>>520
>・本をたくさん読んだけどわからなかった
>・本のレベルが低すぎるに違いない
これは、その通りでは?
単純に、その本が何をターゲットにしてるかが違うだけという事もありますが、
あまりにも仕事レベルで使えるものが少ない。

>・JSFが難しすぎるに違いない
これは、勉強中なので何とも言えません。

>・決して自分がバカなのではない
馬鹿では無いと思います。

>こいつの何がバカかって、514、516の最後の1行さえ書かなければ、それなりの意見がでてたかもしれないってところだ。
ただの言い訳ですね。
これを言うからには、それなりの意見をだして納得させた上で、”馬鹿”だの言ってもらいたい。
意見が出なければ、技術レベルの低い人間しか居ない。
意見が出れば、素直に自分が馬鹿と認め、謝罪でもなんでもしますよ。


522:デフォルトの名無しさん
05/09/03 16:19:21
いつになったらコードが出てくるのか?
という発想をする職業エンジニアがいることに驚いた。
自分で応用ができないレベルでしかないのに
本のレベルが低すぎるなんてよく言い切れるものだ。

523:デフォルトの名無しさん
05/09/03 16:25:08
他人に具体的なコードをもらうまで自分でなんとかできる技術力が521に無いことは確かなようだ。

524:504
05/09/03 16:40:41
なんか妙に伸びてると思ったら誰かが私の代わりに盛り上げてくれた人がいたのですね。
というかひょっとして現在進行中ですか。
なんか流れに水を注すようで申し訳ないのですが、せっかくだから書いときます。

セッションにログイン情報を格納する方式はJSFが提供するManaged Bean、
セッションからログイン状態を評価するタイミングとしてServletFilterとPhaseListener、
という方式を教えていただいたので、いろいろ考えておりました。

ServletFilterで処理する場合、FacesServletの処理の前にManagedBeanを取得して評価
することになると思うんですが、そうなると、HttpSessionからStringのキーを指定して
Managed Beanを取得せねばならない気がします。
どうやらfaces-config.xmlで<managed-bean>要素内の<managed-bean-name>要素
に指定された文字列を指定してgetAttributeしたら取れそうなんですが、
そういう名前でセッションにぶら下がってる保証があるのかどうかわからんくて困っております。
LoginBean loginBean = (LoginBean)((HttpServletRequest)request).getSession().getAttribute("loginBean");
とかフィルタで書いといて、JSFの実装差し替えたらセッションにManaged Beanを格納する方式
が変わってたりして動かなくなったらどうしようみたいな。
だったらManaged Beanに頼る意味あるのかなあ。どうせServletFilterで生のセッション触るなら
ログイン情報もログイン時にHttpSessionに直に書いてもいいんじゃないだろうか、とか。
なんかまとまってないですね。もうちょい考えます。

PhaseListenerの場合は、実装に特に問題はなさそうなんですが、
「フェーズと何の関係があるんだろう?」という疑問が湧き。
とりあえずrestoreViewのあたりに仕込んでValiableResolverでログイン時のManaged Beanを取得
して評価する。オッケーならスルーで、ダメなら、、。うーん、(JSF的には)どうすればいいんだろう。
ここでやるのは正しいんでしょうか。


525:デフォルトの名無しさん
05/09/03 16:54:21
> そういう名前でセッションにぶら下がってる保証があるのかどうかわからんくて困っております。
現在のバージョン(1.1)とその次のバージョン(1.2)ではJSF仕様で保証されている。
将来のバージョンではわからないけどね。


526:デフォルトの名無しさん
05/09/03 16:59:26
>>524
どのみち、今のところ、それしかManagedBeanを参照する綺麗な方法が無いと
思う。あきらめれ。

527:デフォルトの名無しさん
05/09/04 01:37:56
>>521
> そのif文を書き換えるだけで良いという考えが、技術力の低さ・業務での開発が分かってない、
> 典型的な例だと思います。

そうだねぇ。
キミの技術力の低さや、そんな技術力で業務での開発をやらないといけない事情を分かってないとは言える。

528:デフォルトの名無しさん
05/09/04 04:45:21
なんつうか認証だったら単純にJAAS使うのがいいんでない?

529:デフォルトの名無しさん
05/09/04 06:40:35
つうか、Tomcatの認証機能使えばいいと思う。

530:デフォルトの名無しさん
05/09/04 09:15:38
>>529
それはJAAS実装でなくて?
それとも、俺様の知らない、Tomcat独自の秘密の認証機能があるのか?

531:デフォルトの名無しさん
05/09/04 13:59:41
確かTomcatのはJAAS「互換」だけどJAAS実装じゃないとかよく分からんがそんな感じだった。
仕様を満たしてない部分があるとかかも。
どっちにしろJDBCやらLDAPのRealm作れば普通のWebアプリの認証は実現できるっしょ。
Tomcatだったら JdbcRealmは実装提供されてなかったっけ?

532:デフォルトの名無しさん
05/09/04 14:04:28
>>531
TomcatにもJDBC Realmあるよ。

533:デフォルトの名無しさん
05/09/04 18:52:18
アプリの配置された実ディレクトリのパスを取得したいんですけど、
JSFのELで取得するには、どのオブジェクトのなんという属性を
参照すればいいんでしょうか?

どういう暗黙オブジェクトがあるかというドキュメントは見ますが、
それぞれどういう情報を持っているかという資料は見つけられません。
どこかにいい資料はないものでしょうか?
#もしかして、中身については何も規定がなく、実装に依存する?

534:デフォルトの名無しさん
05/09/04 20:16:07
JSFとか意味わかってないんじゃね?

> どこかにいい資料はないものでしょうか?
URLリンク(www.ingrid.org)

535:デフォルトの名無しさん
05/09/04 20:33:04
JSFのEL

536:533
05/09/04 20:35:58
いや、ServletAPIじゃなくてJSFのELで取得する方法を探しています。

というのも、BackingBeanはあくまでもPOJOのままにしておきたい
(=FacesContextなどは参照しない)→とするとfaces-config.xml内で
<managed-property>で外部から値を設定してやる必要がある→
ここに記述できるのはELだから、なんとかしてELで実ディレクトリを
求められないか?という流れです。
他にうまいこと外部から値を注入してやる方法があれば、それでも
いいんですが。

537:デフォルトの名無しさん
05/09/04 20:40:26
うーんムズイねそれは

何をしたいのか処理の順番が分からないから答えにならないかもしれないけど
普通にサーバ側のページ初期化アクションでbean.setPath()とかやるのはダメなの?_

538:デフォルトの名無しさん
05/09/04 20:52:15
533は大人だ。

539:デフォルトの名無しさん
05/09/04 21:01:16
実ディレクトリは動的に求めないとダメ?
<managed-property>の<value>に直接書くのは無しかな?
faces-config.xml にも環境依存の情報は書きたくない?

話しは少しずれるんだけど、
>BackingBeanはあくまでもPOJOのままにしておきたい
これ、実は結構難しくない?俺もテストファーストでBeanを作ろうと
思ったんだけど、出力メッセージをFacesContextに入れるところや
UIComponentのComponent Bindingで断念した。orz

540:デフォルトの名無しさん
05/09/04 21:06:59
>BackingBeanはあくまでもPOJOのままにしておきたい
これ、実は結構難しくない?俺もテストファーストでBeanを作ろうと
思ったんだけど、出力メッセージをFacesContextに入れるところや
UIComponentのComponent Bindingで断念した。orz

分かる、非常に同感
なんかさ、くちゃくちゃになるんだよねいろんなとこでいろんなことしたりしちゃって・・・
結局 static FacesContext.getCurrentContext()だっけ?
こいつが悪であり、しかしこいつがある理由が分かるような気がしないでもない



541:デフォルトの名無しさん
05/09/04 21:22:22
FacesContext#getCurrentInstance() ね。
JSFだとBeanがPOJOで作れてテストがカンタン!なんて幻想だったよ・・・orz

542:デフォルトの名無しさん
05/09/04 21:26:47
あまり不満ばっか並べてもJSFがかわいそうなので利点を挙げると
コンバータ・バリデータ・アクションって分けて開発できることかなぁ
初心者にはコンバータ・バリデータ書かせておけばよいし

543:533
05/09/04 21:40:02
なるほど、参考になります。
JSFは始めたばかりなんで、原則通りやってみようと考えて
いるんですが、現実には理想通りにいかない部分もあるん
ですね。

その後調べてみて、やはりELで直接取得するのは難しい
ようなので、代替案を考えました。
1. applicationスコープのbeanをひとつだけ用意し、この
 生成時に実ディレクトリを取得しプロパティに保持
 (これだけコンテナ依存)
2. その他のbean(sessionスコープ)は<managed-property>で
 上記beanのプロパティ値をセット
試したところうまく動くようですので、これでいってみようと思います。

開発環境と運用環境が違うので、faces-config.xmlに環境
依存情報を記述するのは避けたいですね。それよりはまだ
コンテナ依存の方が許容できます。

544:デフォルトの名無しさん
05/09/04 21:47:06
>>533
そのパスって動的に変わる値だと思ってたけど固定なのね;;
ならば、web.xmlに環境変数として希望するパスの情報書くのはダメなのかな
<resource-env-ref> とか<env-entry>とか

545:デフォルトの名無しさん
05/09/05 02:19:29
しかし、いまだに
URLリンク(www.ingrid.org)
が引用されるのがさびしい限りだ。

546:デフォルトの名無しさん
05/09/05 14:03:49
>>524
遅レスだけどJSFにこだわらないでこれでいいと思うけど...

>だったらManaged Beanに頼る意味あるのかなあ。どうせServletFilterで生のセッション触るなら
>ログイン情報もログイン時にHttpSessionに直に書いてもいいんじゃないだろうか、とか。

あとはServletFilterのInitParameterで認証失敗時の遷移先URIやチェック除外対象のURIのリスト
とかを設定できるようにすればいいんじゃないの?


547:504
05/09/06 00:59:21
規制されて書けないうちにどんどん話が進んでゆく。。

>525
仕様で決まっていたんですか。知らなかったです。不勉強でした。
そういうことだったらログイン時のManagedBeanをServletFilterでチェックする
というやり方で問題なく対処できそうです。
ありがとうございます。

Tomcatの認証はLDAP使ってやったことはあります。
その時も理屈が理解できてないのに機能だけ使うのに抵抗を感じ、
アプリケーション内で実装しようと目論んだわけですが。
なんせJAASという単語も今知ったくらいなので、これからお勉強して手の内
に入れたらそういう便利なしくみを使うのもよいかなーと思います。
でも、頭が悪いのか、チュートリアル読んでもイマイチ理解できませんが。
精進します。

>546
ええ。それでもいいわけですよね。むしろ、そうあるべきなのか。
そして、JSFと全然関係ないスレ違いな質問をしていたのだという事実にようやく気付いたりしつつ。


548:デフォルトの名無しさん
05/09/06 17:42:19
JSFって、まだ本読んでもちゃんとアプリ作れないレベルなんですか?
新人達がJSFで社内ツール作らされてちゃんと作ってたみたいだけど、
どうやってたんだろう?
イントラだからセキュリティは若干甘いかもしれないけど

549:デフォルトの名無しさん
05/09/06 19:42:49
>>548
そんなこたあ無いでしょ
別に(ふつうの)Servletや非JSFページとも併用できるんだし

550:463
05/09/10 16:17:26
さて、またしばらくJSFを使ってみた。

まず、JSFだけではなんなのでStrutsとかも使ってみたが、
これはJSFでも同じような事ができるが、たしかにStrutsとかと比べると楽というか、
まぁ、雑誌とかの売り文句通りな気がした。

とりあえず、IBM実装を勧められたわけだが、会社に環境があったので来月にそれを使ってる
プロジェクトが終わるらしいので、それが終わってから使わせてもらうことにした。

さて、まず気になったこと。
URLが変。
Page1とPage2というJSPをつくって、お互いにx:commandButtonで画面遷移させるだけ。
MyFacesだとPage2に行ったときPage1のURLのまま。
Page1へ戻ったとき、URLはPage2のまま。
うん・・・動きに問題が無いとはいえ、気持ち悪い。
SUN実装の方はそんなことなかった。

なんというか、この間、MyFacesが糞だと言っていたのが良く分かった気がした。
MyFacesってコアの部分はSunとかと同じで拡張コンポーネントがあるだけと思ってたけど、違うのね。
つうか、こういった部分も仕様に入れないでいいのか?
まぁ、仕様が糞だから異なる実装で互換性がなくなるって事か・・・

あと、別のスレッド見て気が付いたけど、必須入力。
あれ、どうするんだ?
確かに何かの値によって必須入力チェックしたりしなかったりというのは有りだよな。
でも、必須入力かどうかの指定は
<x:inputText id="name" value="#{Bean名.name}" required="true"/>
って指定しちまうし・・・

この辺、PHPのmojaviとか優秀だったなぁと感じる。
まさしく、現場を分かった上でのフレームワークって感じで。
StrutsとかJSFって本当に現場わかった人間が設計してるのか怪しい感じ。

551:463
05/09/10 16:29:52
あと、なんで画面表示するだけでTomcatに警告がでるんだろうな。

警告: Unable to find component 'name' (calling findComponent on component '_id0:_id1')

って感じの。
画面に入力欄1つ作って、後はサブミットのコマンドボタン。
まったく・・・

エラーメッセージもはまったな・・・
ユーザ名:<x:inputText id="name" value="#{Bean名.name}" required="true"/>
<x:message for="name"/>
と書いて、何も入力せずにSubmitしようとするとエラーメッセージが

"name": 値を入力して下さい.

もう・・・
いや、確かに分かるんだけどさ・・・
これをちゃんとさせるとなると、
<x:outputLabel for="name" value="ユーザ名:"/>
<x:inputText id="name" value="#{Bean名.name}" required="true"/>
<x:message for="name"/>
という風にしなくちゃいけない・・・
おいおい、普通に書いて表示させられるのに、いちいちラベル作らないといけないのかよ・・・
面倒なだ・・・

真面目に不思議に思うんだ。
.NETFramework自体は無料。
SUNとかApache実装のJSFは無料。(IBMとかは優秀らしいが無料じゃないよな?)
明らかに、.NETの方が楽だし良く出来てるし動作も軽くて安定してるし、開発しやすい。
企業にとっては良い事だらけにしか見えないんだけどね・・・
MS製品はすぐにバージョンアップしてという意見もあったけど、どうせ2、3年とか
長くても5年ぐらいでシステム入れ替える癖に無駄な意見だよな・・・

552:名無しさん@そうだ選挙に行こう
05/09/10 19:30:26
ハードウェアとアプリケーションの寿命は違うがな。


553:名無しさん@そうだ選挙に行こう
05/09/11 02:06:07
>> .NETFramework自体は無料。
このへんからトラップのにおひがするぉ

554:名無しさん@そうだ選挙に行こう
05/09/11 07:38:48
>>553
いや、フレームワーク自体は無料だろ。
有料なのは開発環境な訳だし。
.NETFrameworkSDKは無料でダウンロードできるし、
メモ帳とかでソースコード書いてコマンドラインでコンパイルすれば、そのまま配布もできるし。

555:名無しさん@そうだ選挙に行こう
05/09/11 08:48:43
.NETがいいと思うなら.NET使えばいいじゃん。
ここはJavaのほうが総合的に良いと思って使っている人たちのスレ。


556:名無しさん@そうだ選挙に行こう
05/09/11 12:06:15
今時メモ帳でソース書く人とかいるのか?

557:名無しさん@そうだ選挙に行こう
05/09/11 12:17:42
別にメモ帳の部分にこだわる必要はないんじゃない?
EclipseでだってC#とか書けるし、WebだけでいえばWebMatrixとかもあるし。



558:名無しさん@そうだ選挙に行こう
05/09/11 13:37:24
>>550
>確かに何かの値によって必須入力チェックしたりしなかったりというのは有りだよな。

まぁ、このスレの他の奴のレベルが低いんだろうから答えてやるよ。

エラーチェック用のBeanを作る必要があるんだよ。
public void 関数名(FacesContext context, UIComponent component, Object value) throws ValidatorException
って感じで。

でもって、独自のエラーチェックしたい入力項目とかに
<h:inputText validator="#{Bean名.関数名}"/>
という風に指定する。

エラーチェック用の関数の中身は、
context.getExternalContext().getRequestParameterMap();
をつかってMapを取得して、欲しい情報をgetで受け取ればいい。
ただし、<h:form>にはちゃんとIDを付けておく。
<h:form id="frm">
こんな感じでな。

そうしておいて、取得したMapから値をgetで取得するときは、
map.get("frm:取得したい値のID");
という風にする。

あとは、エラーにしたい場合は、
throw new ValidatorException(new FacesMessage("エラーメッセージ"))
とかすればいい。



559:名無しさん@そうだ選挙に行こう
05/09/11 13:47:59
おれがSunのJSF実装で試したときは
値が未入力の場合、Validatorにそもそも渡らなかった気がするんだが、気のせい?

560:名無しさん@そうだ選挙に行こう
05/09/11 14:12:05
>>559
SUN実装は使ったことないから分からない。
とりあえず、MyFacesでは問題無かった。


それと、余談になるんだが、お前様方の周辺でJSFってどんなかんじ?
俺の場合、会社だと新規のJava案件は殆どWebSphereを使うから、JSF使ってるから、
結構流行ってると言えば、流行ってるんだけど、他ではどうかとちょっと気になった。


561:463
05/09/11 14:36:10
>>558
なるほど、独自にチェックするしかないのね。
確かに出来そうだと思ったが、

>>559が書いてるようにMyFacesでも値が未入力だとValidatorに行かないな。
>>558=>>560も低レベル技術者のようで・・・


つうか、この辺はStrutsの方がマシだな。
登場してからの歴史が長いってのもあるんだろうな。
でも、JSFはやっぱいUIだけって感じなんだろうな。
だからStrutsとJSFが連携できるようになってるんだろうな。

Strutsを補う意味でJSFを使うのかと思ってたけど、
本当はJSFの貧弱さを隠すためだったんだな。

この辺を見ると、.NETFrameworkって素晴らしいと本当に実感したよ。

562:名無しさん@そうだ選挙に行こう
05/09/11 14:51:29
このスレとしてはJSF>>>>>(超えられない壁)>>>ASP.NETであってほしいが、そうもいかないって事か。
とりあえず、「h:output_text」とか書いてある古いJSFの資料は捨てちゃっても構わないよね?

563:463
05/09/11 15:11:38
>>562
>このスレとしてはJSF>>>>>(超えられない壁)>>>ASP.NETであってほしいが、そうもいかないって事か。

まぁ、スレ的にはそうだろうね。
俺も、ASP.NETマンセーと"だけ"言いたい訳じゃない。
Web開発者としては、提案するときに色々な選択肢がある訳で、
『こういった理由で○○をつかいます』と客に提案したい訳よ。

だから、JSFなりStrutsなりを勉強してる訳だけども、結局、両方使ってみると
ASP.NET>>>>>>>>>(超えられない壁)>>>>>>>>>>>JSF
なんだよね。

JSFなりStrutsが本当に使える物であるならば、俺はむしろJava信者になっても構わないんだけどね。


>とりあえず、「h:output_text」とか書いてある古いJSFの資料は捨てちゃっても構わないよね?

いいの?
Javaとかオープンソースって聞くと、例えバージョンが古くなったりしても、
ソースコードとかがあるからどうにでもなるってのも1つのメリットとしてよくあがるけど、
資料捨てて、数年後とか失敗したと思わなければいいんだけど。
俺の会社のJava開発チームは、前世紀からのJava資料を全部保管してるよ。
つうか、この資料だけで、会社の倉庫の半分使ってるんだけど・・・・

まぁ、あまりJSFやStrutsのスレが盛り上がってない事から見ても、きっと下火なんだろうね。

それと、最近、やけにJavaの技術者いませんか?との問い合わせが会社に多い。
聞くと、殆ど新規案件じゃなくて仕様変更なり拡張。
『今までの開発先は?』と聞くと『Java案件はもうやってない』とかで俺の会社とかに問い合わせがくるけど、
実際問題どうなの?
俺の会社やオフシェア先の中国でも、最近はASP.NETとかに以降してるから、
Java技術者って、実はこの先、仕事ないんじゃ?

564:名無しさん@そうだ選挙に行こう
05/09/11 16:41:41
(L)AMPのような手軽さもなければ、.NETほど生産性が高いわけでもない。
今はまだ数で圧倒的ではあるけど、難しい局面になってることは確かだな。


565:名無しさん@そうだ選挙に行こう
05/09/11 17:46:49
>>563
中国は国家主導でLinuxの導入進めてる。
個人レベルではWindowsのシェアが高いけど、企業レベルでは殆どがLinux環境。

566:名無しさん@そうだ選挙に行こう
05/09/11 18:20:02
>>565
別に国家レベルでLinux導入進めていたって、その中国の人間の客は日本なんだから、
日本向けに技術者を教育なり集めるのが普通だろ。

中国とかは関係無いよ。
あくまで客である日本企業の需要に合わせる。


俺らだって、客先が有無を言わさず『Linuxで!!』と言われればLinux使うし、
『Linuxは絶対に駄目。Windowsサーバで!!』と言われればそれに従うだけだし。

567:名無しさん@そうだ選挙に行こう
05/09/11 18:42:37
JSFについて、日々意見が交換されているフォーラム等ってない?
「JSF フォーラム」で検索すると「日本宇宙フォーラム」や「ヤパーナ社会フォーラム もう一つの世界は可能だ」
とか、変なものがヒットするんだが。

568:名無しさん@そうだ選挙に行こう
05/09/11 19:11:44
>>567
だから、流行ってないんだって。

むしろ、Seasar2のS2JSFのメーリングリストとかの方が活発に意見交換されている。
だけど、あそこはあくまでもS2JSFの話題だからなぁ。

基本的にはJSFを使用するのは時期尚早って感じなんじゃない?
だから、このスレとかでもあまり意見交換って行われてないじゃん。

JSFが気になった奴もちょっと使ってみて、『つかえねぇ』と感じて、
結局今まで通りって流れのような気がする・・・俺のように・・・

569:名無しさん@そうだ選挙に行こう
05/09/11 19:25:51
>>567
適当に探してみた

jsf-jp JavaServer Facesに関するMLです。
URLリンク(groups.yahoo.co.jp)

@ITのJava Solution 会議室
URLリンク(www.atmarkit.co.jp)

570:名無しさん@そうだ選挙に行こう
05/09/11 20:19:47
一応、2つのプロジェクトでJSF(IBM実装で)使ったりしてはいるが
どうもここ見る限りでは浸透していない様子だなぁ・・・
あぼんの予感がする

571:名無しさん@そうだ選挙に行こう
05/09/11 20:23:43
まだこれからでしょ。今は時期尚早という見方も多い。
実装による質のばらつきもまだまだ多いし。
初期のServletコンテナもベンダーによる質のばらつきが多かったのに似ている希ガス。
各ベンダーやオープンソースによる実装が安定して、さらに
オープンソースの高機能なJSF開発環境やEclipseプラグインが
出てくると一気に普及すると思うけどな・・・。


572:デフォルトの名無しさん
05/09/12 01:51:49
フレームワークのプログラミングモデルがたぶん大幅に変わらないから、
代わっても1.2見るだけでも局所的及び一部分だ。だとすると覚えるのは
モデルだけで後は、どうやって利用するかどこに利用できるかってことに
今は知恵を使ったほうがいいよ。現状のレベルだといきなりASP置き換えはムリ
それだとどこまでのレベルで使えるのか判断したほうがいいよ
Webspherは全部のプロジェクトでつかえるものではないしな

573:デフォルトの名無しさん
05/09/12 22:47:10
どっちかというとStrutsの置き換えみたいな考え方で、1.2以降ボチボチと使われ始めるんじゃないだろうか?
ASP.NETの対抗馬としてサンは開発環境込みで広めたかったんだろうが、
Eclipseで開発できない限りJavaの世界じゃ広まらないからな

574:デフォルトの名無しさん
05/09/13 01:57:34
IBMかHPの実装がでないと意味が無い。SUNは弱体化してもう虫の息だ。
こんなところが実装するソフトウェア基盤はゴミでしかない。M$の金魚の糞は
つぶれたほうがいいよ

575:デフォルトの名無しさん
05/09/14 04:26:15
>>573
>Eclipseで開発できない限りJavaの世界じゃ広まらないからな

Eclipseでの開発の有無より、スレ見てる限りJSFの仕様(実装)が糞だから
みんな使わない(業務で役に立たない)んじゃない?

576:デフォルトの名無しさん
05/09/14 08:02:40
>>575
いや、仕様よりもEclipseだろ

577:デフォルトの名無しさん
05/09/14 08:12:35
そうだな、どんなに素晴らしい仕様でもどうしようもない

578:デフォルトの名無しさん
05/09/14 21:00:29
確かにツールがないとつらいな。
あとは日本語のマニュアルw

579:デフォルトの名無しさん
05/09/15 15:04:20
>>534 >>545
Googleだと古い方のページがトップですが、
新オフイシャルサーバを参照する方がよいですよね。
「Servlet および JavaServer Pages API ドキュメント (Tomcat 4.0)」
URLリンク(www.jajakarta.org)

Servlet API 2.3とJavaServer Pages API 1.2なので
JakataのTomcat 4.1のページと同等ですね。

Servlet API Documentation (Tomcat 5.5)
URLリンク(jakarta.apache.org)
JavaServer Pages API Documentation (Tomcat 5.5)
URLリンク(jakarta.apache.org)
Servlet API Documentation (Tomcat 5.0)
URLリンク(jakarta.apache.org)
JavaServer Pages API Documentation (Tomcat 5.0)
URLリンク(jakarta.apache.org)
Servlet and JavaServer Pages API Documentation (Tomcat 4.1)
URLリンク(jakarta.apache.org)

JSFもそうですが、最新バージョンの日本語マニュアル欲しいですね。

580:デフォルトの名無しさん
05/09/16 00:48:26
Servlet + Velocity で十分でしょ。

581:デフォルトの名無しさん
05/09/16 01:34:44
>>580
えらいねぇ。
漏れはもうStrutsなりJSFなりがないとしんどくてだめだよ。

582:デフォルトの名無しさん
05/09/16 01:43:17
>>580
Velocity使うより、ふつうにJSPで充分。
というかVelocityよりはJSPのほうがいい。

583:デフォルトの名無しさん
05/09/16 03:12:55
Velocityはマクロ周辺をもう少し使いやすく・・・
マクロファイル大量に分ければいいか・・・

584:デフォルトの名無しさん
05/09/16 03:14:15
あえてVelocityを使うほどのメリットあるの?
HTML出力以外だと便利だけど。
JSPでよくない?

585:デフォルトの名無しさん
05/09/16 13:35:11
て言うか、Maya最強!

586:デフォルトの名無しさん
05/09/16 13:56:31
>>584
デザイナからするとJSPよりVelocityのほうが扱いやすいらしいよ

587:デフォルトの名無しさん
05/09/16 14:11:06
>>585
いろいろ毎日忙しくて
まだ検証にも踏み切ってないんだけど
実務に使えそう?

588:デフォルトの名無しさん
05/09/16 14:22:56
>>586
#ifとかがプレビューで見えたほうがいいってこと?

589:デフォルトの名無しさん
05/09/16 15:29:18
>>587
パフォーマンス的な事を言ってるなら、Velocityを使えると考えるなら
それと同じくらいには使える。

CSSを用いればHTMLからレイアウトと装飾を分離できる。
ってのは最近では当たり前に知られてる利点だけど、それと同じ感
覚でWEBアプリ依存部分を分離できる。

これを逆に(Seasar的に)見ると、MayaファイルでHTMLに対してWEB
アプリへの依存性を注入してる(所謂DI)とも言える。
あと、XPathを利用した複数箇所に現れる同一タグへの処理はAOP
的。こういった辺りが概念的に気持ちイイ!

590:デフォルトの名無しさん
05/09/16 16:31:57
>>589
そういうのわかりやすくまとめてある資料ってありますか?

591:デフォルトの名無しさん
05/09/16 17:10:21
>>590
URLリンク(maya.sandbox.seasar.org)
ここ読んであとはサンプル弄ってみるくらいかな?
hoge.htmlとhoge.mayaが組になってる事さえ意識できれば
変更、結果表示の繰り返しで触れるようになると思うよ。

592:デフォルトの名無しさん
05/09/16 19:12:21
いまのとこ使う気はないけど、どんなものか試してみたいっていうにはちょっと壁が高いな。

593:デフォルトの名無しさん
05/09/16 20:58:15
Seasarって俺はどうも好きになれないんだよね。

メーリングリスト(参照だけならWebで見れる)でも、開発者自ら『MyFacesの糞実装』と
表現は違えど、名言しているにもかかわらず、S2JSFでは思いっきりMyFacesを使ってるし。

個人的には糞実装の上に、どんなに良いものを乗っけても、土台が糞な以上、
S2JSFも糞なんだよな・・・

つうかJSF自体オープンソースになったんだから、独自に実装すればいいんだよ。

594:デフォルトの名無しさん
05/09/17 01:02:45
JSP+ELが最強ってことだな?

595:デフォルトの名無しさん
05/09/17 01:11:48
>>594
JSP+EL+JSFでおけ

596:デフォルトの名無しさん
05/09/17 01:45:34
まさたかさんはとりあえず
URLリンク(www.theserverside.com)
を読んでおいてもらいたい。

597:デフォルトの名無しさん
05/09/17 03:09:57
>>593
S2JSFのどの辺が糞ですか?
個人的には、S2JSFはMyFacesの糞実装をうまく隠蔽する仕組みにしたつもりですが

598:デフォルトの名無しさん
05/09/17 11:10:08
Seasarを避難すると個人掲示板だろうがどこでも現れてくるよね
中の人


599:デフォルトの名無しさん
05/09/17 11:31:24
まぁ、確かに糞実装と言っておいて、その糞実装を核として使ってるんだから、
いくら上から隠蔽しても糞だよな。

家でいえば、土台の基礎工事がちゃんと出来ていないのに、豪華な家を建ててるようなもの。
崩れるときは土台から崩れるし、土台を修正しようとすると、可也の時間が掛かる。
隠蔽する前に土台をしっかりとさせる方が重要だよな。

オープンソースなんだから、土台を自分たちで実装するなり改造するなり手は幾らでもある。

その結果が今のS2JSFなんじゃない?
確か、1.0.5に核のMyFaces1.0.9関連で不具合出て、対策わかったから昨日には1.0.6を出すと言っていたのに、
まだ出てないよね。
これが、結局は核の部分に問題があるのを上から無理やり隠蔽しようとするから時間掛かってるんじゃない?

それと、ビューの部分をHTMLで書いて簡単に確認できるって考え方は悪くないんだけど、
俺らがJSFで開発するのに本当に欲しいものはVisualStudioのように
画面にコントロールを貼り付けていって・・・という作業がしたいんだよね。

IBMとかの使えばできるけど、WebSphereに依存しちまうし、なにより値段が高い。
あれを買う金があるなら、素直にVisualStudio買ってASP.NETで作っちまうよ。
無料のWebMatrixでさえ、画面にコントロール貼り付けられるし、
次のVisualStudioだってWeb開発しかしないなら、1万ちょっとで開発環境が手に入る訳だし。

あとは拡張コンポーネント次第だよな。
MyFacesの拡張コンポーネントは糞だし、S2JSFでのコンポーネントもそれ程実用性は無い。
既存のものをちょっと使いやすくした程度。



600:デフォルトの名無しさん
05/09/17 11:34:04
>>599
Sunの実装は?
ぽとぺたできて1万くらいだったような


601:デフォルトの名無しさん
05/09/17 11:37:57
>>599

> ビューの部分をHTMLで書いて簡単に確認できる

え?カスタムタグ使ってる系ってこれが出来ないから
デザイナーとのやりとりや変更が多いタイプの仕事では
テンプレート系がもてはやされてるんじゃないの?

602:デフォルトの名無しさん
05/09/17 11:41:24
>>600
Sunの実装って、色々なJSF使えるの?

jsf-1_1_01、MyFacesとかとかIBMのとかOracleのとか。

俺が言いたいのは、開発するのに貼り付けられるってのは重要だけど、
何を使うかは自由でいたいの。

仕様としてちゃんと決められてるんだから、その仕様に基づいて実装させていれば、
この部分は自由に出来るはずだよね。(できないなら開発ツールが糞か実装が糞か仕様がそもそも糞)

603:デフォルトの名無しさん
05/09/17 11:45:47
あともう1つは、開発環境、もう少し軽くならないもんかなぁ・・・

Javaで作られてる開発環境重過ぎる。
IBMのなんて、CPU3.5G、メモリ2GBでも余裕で重いし落ちるしな。

.NETFrameworkで作られた開発環境は、CPU800MHz、メモリ512でも
Javaの開発環境と比較して、比べ物にならないほどスムーズだしな。

ある程度のマシンスペックが要求されるのは、我慢できるが、
ハイスペックのマシンで、やっと動いてますってのは我慢できない。

604:デフォルトの名無しさん
05/09/17 11:50:26
>>601
MSの世界ではUIはVBプログラマの仕事みたいよ。
レイアウト、デザイン、ロジックで分離とか言っても、そもそも
そういう視点を持ってないMS側の人には分からんだろう。
一人で全部作るには確かに楽ではあるしね>ASP.NET

605:デフォルトの名無しさん
05/09/17 11:52:17
>>604
JSF(JSP)だって、UIはJavaプログラマの仕事じゃん。
レイアウト、デザイン、ロジックで分離とか言っても、そもそも
そういう視点を持ってないJava信者の人には分からんだろう。
一人で全部作るには可也の苦労があるしね>JSF




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