1 名前:デフォルトの名無しさん mailto:sage [03/07/26 17:33] スレがないので新しくたてました www.atmarkit.co.jp/fjava/special/jsf01/jsf01.html java.sun.com/webservices/downloads/webservicespack.html
357 名前:デフォルトの名無しさん [2005/05/22(日) 16:32:31 ] Myfaces+Eclipse+Tomcatで何のタイミングかわかんないんだけどしょっちゅう文字化ける JSPのクラスファイル消して再コンパイルさせれば、元に戻るんだけど なんか理由あるの? JSPの最初には↓のようにかいてる <%@ page language="java" pageEncoding="Windows-31J" contentType="text/html; charset=Shift_JIS" %>
358 名前:デフォルトの名無しさん [2005/05/22(日) 16:34:45 ] pageEncoding="Windows-31J" ならば charset=Windows-31J にしておけば?わざわざShift_JISにする理由がわからん
359 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 17:01:39 ] >>357 encoding宣言とそのjspファイルの実際のencodingが合ってないとか
360 名前:デフォルトの名無しさん mailto:sage [2005/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 名前:デフォルトの名無しさん [2005/05/22(日) 21:08:15 ] >>360 の言うように >デフォルトではJSP→Javaに変換するとき UTF-8でソースコードを生成する。 この部分の設定変えてみよう っていうか俺が一番言いたいのは 日本語文字はリソースファイルに書けばいいと思うんだけど・・・ 自分はいままで(このような不意な)文字化けが絶対に起きないようにリソースファイルに書くのが定石だと思ってたが・・・
362 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 21:25:30 ] >>361 コンテンツによっては絶望的じゃないか?
363 名前:デフォルトの名無しさん [2005/05/22(日) 21:29:35 ] >>362 なにが絶望的? ・すべてがリソースに書き出せるわけが無い(?) ・>>361 のやり方は絶望的 ・それ以外の意味
364 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 21:40:06 ] HTMLしかしらないデザイナがリソース分離とかやるとおもうか?
365 名前:デフォルトの名無しさん [2005/05/22(日) 21:42:43 ] >>364 やらないだろうね っつーか 言ってる意味がわからん デザイナがプレーンなHTML持ってくるのはとうぜん JSPタグとかに直すのはどの道プログラマ そんな理由でリソース使わないのはおかしくない?
366 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 21:57:42 ] >>365 プログラマが手を入れたJSPファイルは、デザイナにとって理解不能なモノになるわけだが、 そういう分業はそのうち破綻しないか? JSFスレとしては、デザイナが使えるJSFエディタキボンヌ、というところか。
367 名前:デフォルトの名無しさん [2005/05/22(日) 22:00:22 ] >>366 ちょいまり、 JSPファイルがデザイナに戻る流れってあるのか?
368 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 22:07:37 ] >>367 デザイナが一回しかさわらないとでも? むしろ、デザインは定期的に変わったりするだろ。
369 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 22:08:53 ] 出荷した後で「ここ直して」とか無い?うちはよくあるんだが。
370 名前:デフォルトの名無しさん [2005/05/22(日) 22:11:57 ] >>368 定期的っつ-のがわかんないけど デザイナからあがってくるものはHTMLだけだよ そんなこといったら、あんたんとこどうやって作っているのか疑問 JSP知ってるデザイナばかりではないのだろ? >>369 それって文言変更レベルだろ? そんなのPGがやるだろ
371 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:55:45 ] >>370 業務系WEBアプリならともかく、オープンなネット上のショッピングカートのような 見た目重視とかそういうのならいくらでも変更はあがってこよう まず、JSFはビジュアルなデザイナ重視 とはいえ、グループ開発用のいいのあるんかな JSP単体ならDreamWeaverでTomcat連携機能もあったりもして 実はデザイナにもJavaの知識なしで扱いやすい 最初の設定だけはしてあげる必要があるけど、JSPからの戻りが問題ない が、Strutsのようにカスタムタグが出てくるともうだめぽ 本当はたぺちゃんが普及してくれるといいのだが日本語のドキュメント 一切なしで実用的ではない テンプレート埋め込み型を組み込むのがシンプルだしいいやね Struts素のまま使って死んでるプロジェクトいくつかみてきた
372 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 00:11:05 ] JSF使えるツールって SunとIBMぐらいでしょうか? 値段いくらぐらいなんでしょうか?
373 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 00:53:18 ] >>372 Sunのなら10000円くらいだったかな。 BorlandもJSF使えないかな?
374 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 00:55:37 ] >>370 JSPを書くことはできんが、JSPの邪魔をせずに変更できるようなデザイナならいるとは思うが。 で、デザイナとの行き来が問題になってるからTapestryとかS2JSFとかNirvanaとかMayaとか開発されてるんでしょ。
375 名前:デフォルトの名無しさん [2005/05/29(日) 11:12:51 ] 今まで自分がやってきたプロジェクトでは、デザイナーがJSPに触るようなことは想定されてなかったな cssでデザイン関連の設定を極力外出ししてさえ貰っていれば、所詮htmlタグの変更レベルだからPGで対応可能だった。 それでも2度手間でメンドクサイのはたしかなんで、デザイナーが直接触れるS2JSFみたいなのは凄く興味を惹かれる
376 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 11:22:35 ] 開発途中でデザイナとPGでHTMLが行ったり来たりするってどういうことよ 仕様変更時はしょうがないが、設計書書いてないの?
377 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 12:21:32 ] >>376 ネット上で公開するB2Cのアプリだと、ぎりぎりまでデザインにこだわるお客さんは結構いるよ。 設計ではなく、見た目の問題でね。
378 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 15:27:51 ] デザインなんて仕様で決めれるもんじゃないしね
379 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 18:58:30 ] >>378 紙芝居わざわざつくって、事前に確認とっているんだから 大幅な変更は別料金ですよね? >ぎりぎりまでデザインにこだわるお客さんは結構いるよ。 PG側としてはむかつく訳だが
380 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 20:18:57 ] >>379 で、そういうPGは、クライアント側としてはむかつかれる訳だが
381 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 20:56:35 ] 間にSEなりPMが入っているのでクライアントと直接話さないよPGは
382 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 21:41:08 ] というか、デザインなんて、サイトインしてからも変わる。
383 名前:デフォルトの名無しさん mailto:sage [2005/06/01(水) 23:37:14 ] >>382 そのときデザイナは現行のJSP見るのかい? プレーンなHTMLだろがボケ デザイナ(HTML)→プログラマ(JSPに直す) 一方通行なんだよ 簡単な修正も出来ないプログラマはイラン
384 名前:デフォルトの名無しさん mailto:sage [2005/06/01(水) 23:41:40 ] >>383 あほみっけ
385 名前:デフォルトの名無しさん mailto:sage [2005/06/01(水) 23:41:49 ] おまいらスレタイ嫁
386 名前:デフォルトの名無しさん mailto:sage [2005/06/01(水) 23:56:44 ] >>383 で、またプレーンなHTMLにJSPのタグとか1から埋め込んでいくの? いいね、工数ぼったくれて。
387 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 17:28:57 ] そこでXMLCですよ・・・・。 今でも使ってるの俺ぐらいだろうな・・・・。
388 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 00:51:56 ] あ、その言葉、おれも聞いたことあるよ(・∀・)
389 名前:デフォルトの名無しさん [2005/06/11(土) 02:09:59 ] AjaxFacesってのが出たみたいだけど、使った人いますか? どんな感じ? Ajaxってのがなんかスゴいこと出来そうな感じ。 AjaxFaces 1.0 released www.theserverside.com/news/thread.tss?thread_id=34350
390 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 14:49:31 ] >>389 デモが見たい まJSF自体がJavaScript吐くようなカスタムタグだから当然だけど・・・ ちなみにAjaxから勉強しないとはまるぜ
391 名前:デフォルトの名無しさん [2005/06/13(月) 18:23:51 ] JSFのコントローラがだめぽだから、コントローラ部はStrutsをつかって、 ビューの部分はJSFなんて話をよくきくんでござんすが、JSFのコントローラの いったいどこがStrutsと比べてだめぽなんでやんすか?
392 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 01:41:35 ] どこで聞いたのかわかんないけど Strutsとは微妙に層が違うと思いますよ
393 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 03:47:18 ] StrutsはWebアプリケーションを作りやすくする感じだけど、JSFはアプリケーションをWebで作りやすくする感じ。 Webを意識する必要があるならStrutsで、アプリケーションならJSF、という印象をうけた。
394 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 09:46:32 ] >>393 意味不明
395 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 11:10:50 ] なんとなく伝わるぞ? JSFだとURLと処理(Action)の関係が固定にならないから、 パラメータ付きのURLをメールに乗っけるとかは作りにくい。 StrutsだとHttpSessionを一切使わない作りにもできたり。 アプリケーションの基盤としてはJSFの方が遥かに上だが。
396 名前:デフォルトの名無しさん mailto:sage [2005/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 名前:デフォルトの名無しさん [2005/06/21(火) 17:01:28 ] JSF+Springでアプリ作ってます。 ビジネス層はプレゼンテーション層を意識してはならないと思っています。 なので、DB更新処理はManagedBeanがDTOに値詰めてビジネスロジックに渡して 中でDAOが処理という設計にしました。 そこで、DBテーブルに持っている更新者IDと更新日付に ログインユーザー情報(SessionスコープのManagedBean)をセットするのは ManagedBeanの役割だと思うので ManagedBeanでDTOにセットしてあげてるのですが、非常にかったるいです。 JSFから別のものに乗り換える場合 ManagedBeanで書いたかったるい処理を乗り換えたものにも やらないといけないのは非常にめんどくさいと思ったんですけど 私どっか考え方ずれてますか?
398 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 17:03:23 ] ちょっと訂正 >なので、DB更新処理はManagedBeanがDTOに値詰めてビジネスロジックに渡して DB更新処理は”プレゼンテーション層に持っている情報”はManagedBeanがDTOに値詰めてビジネスロジックに渡して
399 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 22:00:53 ] 非常にめんどくさいと思うのは別にいいことじゃない? リファクタリングのしがいがあると思うけどなあ。 回答になってないけどさ。
400 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 22:23:14 ] >>397 俺がよくやるのは、HibernateでInterceptor使って、 getUserPrincipal()と更新時刻を強制的にセットする方法だな。 Hibernateのマニュアルにやり方載ってるよ。
401 名前:デフォルトの名無しさん mailto:sage [2005/06/22(水) 09:34:55 ] >>397 Facade
402 名前:デフォルトの名無しさん mailto:sage [2005/06/22(水) 17:51:41 ] JSFでStrutsのDynaActionFormみたいなことは出来ないのでしょうか? map-entriesで似たようなことはできるんですがvalue-classの指定がmap-entry毎にないんで valueが全て同じ型になってしまいます。 map-entry単位でvalue-classの定義が出来れば楽なんですが...
403 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:01:57 ] www.eclipse.org/proposals/eclipse-jsf/main.html 意外なことにinitial committerはIBMじゃなくてoracle。
404 名前:デフォルトの名無しさん [2005/06/28(火) 01:19:32 ] セッションが切れた時の判定って何から取得するのがベストなのか 教えてください。イマイチ何から取得して判断すべきなのか解らない。
405 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 19:59:23 ] 単純にListenerじゃ駄目なのか。JSFの話じゃなくなるけど。
406 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 20:53:35 ] JSFって、クライアント側に全部持つ事できるから、セッション切れても大丈夫じゃないの?
407 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 21:13:04 ] >>406 それはない
408 名前:デフォルトの名無しさん [2005/06/30(木) 01:20:54 ] セッションの有効期限を200分にしてるにもかかわらず 25秒間何もしないで放置するとすべてのオブジェクトが開放されてしまうのに はどのような原因があるのでしょうか?ビーンのスコープはすべて Sessionに設定しています。
409 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 03:45:10 ] >>404 javax.servlet.http.HttpSessionListener って>>405 がレスしてんのか…orz
410 名前:デフォルトの名無しさん [2005/07/23(土) 09:51:33 ] なんかJSFって難しそうだな。 とりあえず今回のプロジェクトはStruts1.2にします。 orz..
411 名前:デフォルトの名無しさん [2005/07/23(土) 11:12:57 ] >>410 どのようなサイクルで処理が回っているのか理解してから使ったほうがいいと思う これは非常に重要 俺は半年前Websphereで初めてJSFやったんだけど たまたま時間に余裕のあるプロジェクトだったんでゆっくり勉強してから作業に入れたので とても幸運だった いつでも質問してくれ かなりの事が答えられると思う
412 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 11:18:30 ] なんかJSFって難しそうだな… xDBCとsocket通信を使って開発したほうが楽そうだ。
413 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 11:25:32 ] >>412 ま、俺もたまにそういうこと思うけどね StrutsやHibernate、Springをプロジェクトで使ってもいいけど 半数以上知ってる奴がメンバーの中に居なければ、逆に進度が落ちる みんなそんなにバカなコーディングはしないだろう 普通に(JDBCとかServletAPIで)作っていってもそれほど問題はないとはおもうこともしばしば 柴俊夫
414 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 12:44:58 ] ひとりだけすごく知ってるやつがいればいいよ。
415 名前:デフォルトの名無しさん [2005/07/23(土) 12:47:53 ] >>414 いや、その一人の作業負荷が高くなりそう 半分ぐらい知っている場合 「知らない奴は勉強すれ」 一人しか知らない場合 「操作手順書書いといて」 わかりきった事実やるせない事実
416 名前:デフォルトの名無しさん [2005/07/23(土) 13:23:15 ] EclipseにJSFのプロジェクトあったんだね。 VisualEditor関連の機能が気になるんだけど、いつ頃モノはできるんだろう? www.eclipse.org/proposals/eclipse-jsf/index.html # 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 名前:デフォルトの名無しさん [2005/07/23(土) 13:29:10 ] >>416 その「will」がいつになるのか書かれていないのでかなり先の予感
418 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 13:34:19 ] 現行のVEみたいに中途半端で終わりそうな気もする
419 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 13:44:41 ] とりあえずOracleとIBMとの間で打ち合わせが行われた模様。 まあIBMの連中にしてみれば「全部俺らにやらせろや」とか 思ってんだろうな。
420 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 14:02:35 ] >>413 フレームワークってそういうもの。 導入初期には覚えるためのコストがかかることを忘れてはいけない。 わかっているプロジェクトでは学習のための期間や書籍購入、セミナー参加等を計上するが ダメプロジェクトではフレームワークの効率性のみを期待してあぼーん。
421 名前:デフォルトの名無しさん mailto:sage [2005/07/24(日) 05:09:20 ] あ
422 名前:デフォルトの名無しさん mailto:sage [2005/07/24(日) 05:22:23 ] ぼ
423 名前:デフォルトの名無しさん mailto:sage [2005/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 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 00:22:43 ] >>416 夕べ、Oracle, IBM, BEAの間で打ち合わせがあって、リリースは WTP1.5にあわせて2006Q3にしようっていうIBMの意見がとりあえず通ったみたいだ。 WTPがJ2EE5.0対応になるタイミングだしね。 あと、>>349- から話題になってるExadel Inc.が仲間に入れてくれって 表明した。まあ現時点でWTPに寄生したJSF製品売ってるExadelStudioに してみりゃ死活問題だろうしなあ。
425 名前:デフォルトの名無しさん [2005/07/28(木) 12:01:54 ] <h:inputText id="age" required="true"/> <h:message for="age"/> 入力チェックで引っかかった場合、 リソースの{0}の部分にid(age)が入るみたいなんだけど ここを別の文字に変更したい場合はどうすればいいの?
426 名前:425 mailto:sage [2005/07/28(木) 12:11:28 ] MyFacesのサンプルにあったわ。
427 名前:デフォルトの名無しさん [2005/07/28(木) 13:00:53 ] >>426 本当に!! MyFacesを使ってないわっしにぜひ教えてはくれないでしょうか。
428 名前:デフォルトの名無しさん mailto:sage [2005/08/02(火) 00:53:59 ] >>424 さんどうもすんません その解決方法は、とりあえずセッションスコープのビーンを作成してそこでIDをもたせて それがnullになった瞬間セッション切れているって判別することで解決しました。 ライフサイクルの中でJSFはListnerで何らかの処理が走るのでその中に継承して埋め込む 形で埋葬し解決しました。どうもです。 ところでまたまたしょうもない質問ですが、多重送信を防止する場合どのような解決方法で 回避しているのが教えてください。 ID+アクション名というユニークな値を作ってある瞬間アクセスされたとき、過去に時間を記録していない もしくは、現在の時間と過去の時間の差分が閾値を超えた場合、送信内容を受け付ける。それ以外は しばらくお待ちくださいページに飛ぶって方法で逃げようと思っています。 これだとダメでしょうか?
429 名前:デフォルトの名無しさん mailto:sage [2005/08/02(火) 01:06:37 ] >>428 俺はStrutsのTransactionTokenの仕組みに、前画面情報を付加してアレンジした仕組みを使ってる。
430 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 01:04:54 ] >>429 ありがと、同期メソッドにユニークな値作らせるだけでいいのか。 たいした話じゃなくてよかったよ。どうもね
431 名前:デフォルトの名無しさん mailto:sage [2005/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 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 00:38:52 ] >>431 環境を全く書かないのは釣り。
433 名前:デフォルトの名無しさん [2005/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 mailto:sage [2005/08/04(木) 01:49:02 ] 環境といっても JSF1.1 J2SDK1.4 Tomcat 5.x.xだけでしか試していないのでなんとも言えない。けど
435 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 07:09:19 ] >>431 おまえ、バカだろ? JSF実装に何を使っているのかが重要なんだよ。 そんな調子じゃ道は遠そうだな。
436 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 13:01:33 ] >>431 二度押し対策なら本屋に逝って「LightWeightJava」を買ってP168を開けて解決するという方法もある。
437 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 15:25:33 ] これでもいい d.hatena.ne.jp/naoya/20050803/1123053496
438 名前:デフォルトの名無しさん mailto:sage [2005/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 名前:デフォルトの名無しさん mailto:sage [2005/08/07(日) 13:15:01 ] 社内アプリ、クライアントWindows2000/XPという前提で、何か入力画面を作ったとして、 クライアント側でログインしているNTのアカウントを取りたいんだけど、できる?
440 名前:デフォルトの名無しさん mailto:sage [2005/08/07(日) 14:13:44 ] >>439 できる。が、スレ違いの予感。とりあえずNTLM認証とかでぐぐれ。
441 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 07:23:45 ] >>437 これいいね
442 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 10:26:27 ] >>441 うん、裏でああだこうだやるより ユーザインタフェースって言葉に合ってると思う。
443 名前:デフォルトの名無しさん [2005/08/08(月) 22:36:53 ] ManagedBeanって画面単位でつくってる? それともユースケース単位?
444 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 23:25:54 ] 気分単位。 うれしいBean たのしいBean かなしいBean むかつくBean うれしいBeanとたのしいBeanで悩む。
445 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 23:29:08 ] EmotionalBeanか・・・・・・・・・・語感的にはアリな気がしないでもないから不思議だw
446 名前:デフォルトの名無しさん [2005/08/15(月) 12:03:33 ] >>443 IBMのWSADやRationalは画面単位っぽいコードを吐く 結局IDE任せだな俺は
447 名前:デフォルトの名無しさん [2005/08/15(月) 20:46:39 ] >446 そうするとStrutsで Actionクラスつくってるのとあんまりかわらなくないですか? POJOってだけでもメリットあるのかなぁ
448 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 22:00:45 ] >>447 > POJOってだけでもメリットあるのかなぁ そゆこと。
449 名前:デフォルトの名無しさん [2005/08/19(金) 19:38:43 ] 携帯向けサイトにJSF使おうと思って調べてたら h:formってPOSTしかないのね。 i-mode公式サイト作ってる人ってJSF諦め?
450 名前:デフォルトの名無しさん [2005/08/20(土) 12:46:38 ] >>449 単純に実装を行っているのがWebブラウザ向けばかりというだけのことです JSF自体はクライアントは何でもいい どこかが作ったi-mode用カスタムコンポーネントがなければ 自分で作るしかない
451 名前:449 mailto:sage [2005/08/20(土) 13:21:15 ] >>450 そっか。 JSF的にPOSTで受け取らないと何か動作に問題があるので POST固定ってなってるもんだと勝手に思ってたよ。 ありがと探してみる。
452 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 14:25:11 ] submitボタン二度押し対策で、 ttp://d.hatena.ne.jp/naoya/20050803/1123053496 の方法はうまく行きませんね。 この方法は、ASP.NETでもダメだったような記憶がある。 「LightWeightJava」の方法はうまく行くけど、 送信中にブラウザの中止ボタンを押すと、それ以降 submitできなくなる。 IE限定なら、document.readyStateが使えるんだけど。
453 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 08:48:02 ] submitボタン押せなくするよりもonsubmitイベントでfalse返すほうが確実っぽい
454 名前:デフォルトの名無しさん mailto:sage [2005/08/24(水) 13:25:22 ] アクションリスナの存在意義がわかりません。 ・処理分岐が不可能 ・必ず後でアクションメソッドが呼ばれる それでもなお、ここはアクションメソッドで実装せず、 アクションリスナを使うべきだ! という具体例があれば教えてください。
455 名前:デフォルトの名無しさん mailto:sage [2005/08/26(金) 00:27:57 ] 何か勘違いしてる気がするけど、それはそれとして、ヒント:イベントドリブン、EoD
456 名前:デフォルトの名無しさん mailto:sage [2005/08/26(金) 10:28:54 ] >>455 もっと詳しくお願い。 アクションリスナとアクションメソッドの使い分けが本当にわからん。 リスナメソッドがアクションメソッドより先に呼ばれると言うだけじゃないのか? リスナメソッドの処理結果を画面上に反映させてユーザに通知することも出来ない。 画面を再描画させる契機はアクションメソッドしかないのだから。 Swingなどのスタンドアロンアプリだったらわかるが、Webアプリでは どうやって使い分けるんだ? マジ教えて。
457 名前:デフォルトの名無しさん [2005/08/29(月) 22:23:41 ] >>455 俺もわからない。ヒントだけじゃなくて、具体的な使い分けを教えて欲しい。