タグ付けされた質問 「jsf」

JavaServer Faces(JSF)は、通常、HTMLフォームベースのWebアプリケーションを作成するために使用されるモデルビュープレゼンターフレームワークです。標準コンポーネントとレンダーキットを使用して、ステートレットHTMLビューをFaceletsまたはJSPタグを使用して定義し、バッキングBeanを介してデータとアプリケーションロジックをモデル化するために配線できます。



2
正しいBeanスコープの選択方法は?
次のような異なるBeanスコープがあることに気づきました。 @RequestScoped @ViewScoped @FlowScoped @SessionScoped @ApplicationScoped それぞれの目的は何ですか?Beanに適切なスコープを選択するにはどうすればよいですか?
381 jsf  jsf-2  scope  managed-bean 

12
commandButton / commandLink / ajaxアクション/リスナーメソッドが呼び出されていないか、入力値が設定/更新されていません
時々 、使用時<h:commandLink>、<h:commandButton>または<f:ajax>、action、actionListenerまたはlistenerタグに関連付けられた方法は、単に起動されていません。または、送信されたUIInput値でBeanプロパティが更新されません。 これの考えられる原因と解決策は何ですか?

9
JSFがゲッターを複数回呼び出す理由
次のようにoutputTextコンポーネントを指定するとします。 <h:outputText value="#{ManagedBean.someProperty}"/> のゲッターsomePropertyが呼び出されたときにログメッセージを出力してページをロードすると、ゲッターがリクエストごとに複数回呼び出されていることに気付くのは簡単です(私の場合は2回または3回発生したことです)。 DEBUG 2010-01-18 23:31:40,104 (ManagedBean.java:13) - Getting some property DEBUG 2010-01-18 23:31:40,104 (ManagedBean.java:13) - Getting some property の値のsomeProperty計算にコストがかかる場合、これが問題になる可能性があります。 私は少しグーグルで調べて、これは既知の問題であると考えました。回避策の1つは、チェックを含め、それがすでに計算されているかどうかを確認することでした。 private String someProperty; public String getSomeProperty() { if (this.someProperty == null) { this.someProperty = this.calculatePropertyValue(); } return this.someProperty; } これの主な問題は、不要なプライベート変数は言うまでもなく、大量のボイラープレートコードを取得することです。 このアプローチの代替手段は何ですか?それほど多くの不要なコードなしでこれを達成する方法はありますか?JSFがこのように動作しないようにする方法はありますか? ご協力ありがとうございます。
256 performance  jsf  el  getter 

13
Java Server Faces 2.0の主な欠点は何ですか?
昨日私はJava Server Faces 2.0に関するプレゼンテーションを見ました。私は現在、ASP.NET MVC / jQuery開発者として満足していますが、本当に印象的でした。JSFで私が最も気に入ったのは、特にAJAXの多いサイトで、ASP.NET MVCを使用した場合よりもはるかに高速に開発できるように見える大量のAJAX対応UIコンポーネントでした。統合テストもとても良さそうでした。 プレゼンテーションはJSFの利点のみを強調しているので、反対側についても聞きたいです。 だから私の質問は: Java Server Faces 2.0の主な欠点は何ですか? JSF開発者がJSFの代わりにASP.NET MVCの使用を検討する理由は何ですか?
234 asp.net-mvc  jsf  jsf-2 

1
JSFリソースライブラリとは何ですか、またどのように使用する必要がありますか?
JSF <h:outputStylesheet>、<h:outputScript>および<h:graphicImage>コンポーネントが持つlibrary属性を。これは何ですか?これはどのように使用する必要がありますか?使用されるタグに応じて、次のように一般的なコンテンツ/ファイルタイプcss、jsおよびimg(またはimage)ライブラリ名として使用する多くの例がWebにあります。 <h:outputStylesheet library="css" name="style.css" /> <h:outputScript library="js" name="script.js" /> <h:graphicImage library="img" name="logo.png" /> それはどのように役立ちますか?libraryこれらの例の値は、すでにタグ名で表されているものを繰り返すだけのようです。以下のために<h:outputStylesheet>それは、「CSSライブラリ」を表していることをすでに明らかにタグ名に基づいています。同じように機能する次のものとの違いは何ですか? <h:outputStylesheet name="css/style.css" /> <h:outputScript name="js/script.js" /> <h:graphicImage name="img/logo.png" /> また、生成されるHTML出力は少し異なります。のコンテキストパス/contextnameとFacesServletのURLパターンへのマッピングを指定する*.xhtmlと、前者はリクエストパラメータとしてライブラリ名を使用して次のHTMLを生成します。 <link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/style.css.xhtml?ln=css" /> <script type="text/javascript" src="/contextname/javax.faces.resource/script.js.xhtml?ln=js"></script> <img src="/contextname/javax.faces.resource/logo.png.xhtml?ln=img" alt="" /> 後者は、URIのパスにライブラリ名を含む次のHTMLを生成します。 <link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/css/style.css.xhtml" /> <script type="text/javascript" src="/contextname/javax.faces.resource/js/script.js.xhtml"></script> <img src="/contextname/javax.faces.resource/img/logo.png.xhtml" alt="" /> …
228 jsf  jsf-2  resources 


4
PrimeFacesプロセス/更新とJSF f:ajax実行/レンダリング属性を理解する
正確に何であるprocessとupdatePrimeFacesの中でp:commandXxxコンポーネントとexecuteとrenderにf:ajaxタグ? 検証時にどちらが機能しますか?updateバックエンドからコンポーネントの値を更新するのではなく、属性は何をしますか?やるprocessモデルに属性のバインド値を?正確に何を@this、@parent、@allと@form両方の属性に? 以下の例は問題なく機能していますが、基本的な概念について少し混乱しています。 <p:commandButton process="@parent" update="@form" action="#{bean.submit}" value="Submit" />

10
javax.faces.application.ViewExpiredException:ビューを復元できませんでした
コンテナー管理セキュリティーを備えた単純なアプリケーションを作成しました。問題は、ログインして別のページを開いてログアウトすると、最初のページに戻り、リンクをクリックするか、ページを更新すると、この例外が発生します。ログアウトしてセッションが破壊されるので、それは正常だと思います(多分そうではないかもしれません:))。ユーザーをindex.xhtmlやlogin.xhtmlなどにリダイレクトし、そのエラーページ/メッセージが表示されないようにするにはどうすればよいですか? 言い換えると、ログアウトした後、他のページをインデックス/ログインページに自動的にリダイレクトするにはどうすればよいですか? ここにあります: javax.faces.application.ViewExpiredException: viewId:/index.xhtml - View /index.xhtml could not be restored. at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:212) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at filter.HttpHttpsFilter.doFilter(HttpHttpsFilter.java:66) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) …

3
JSF2 FaceletsのJSTLは理にかなっていますか?
条件付きでFaceletsコードのビットを出力したいと思います。 そのため、JSTLタグは正常に機能するようです。 <c:if test="${lpc.verbose}"> ... </c:if> ただし、これがベストプラクティスかどうかはわかりません。私の目標を達成する別の方法はありますか?
163 jsf  jsf-2  jstl  facelets 

4
j_security_checkを使用したJava EE / JSFでのユーザー認証の実行
JPAにユーザー情報を保持するJSF 2.0(およびコンポーネントが存在する場合)とJava EE 6コアメカニズム(ログイン/権限のチェック/ログアウト)を使用するWebアプリケーションのユーザー認証に関する現在のアプローチは何ですか?エンティティ。Oracle Java EEチュートリアルは、これについては少し疎です(サーブレットのみを処理します)。 これは、Spring-Security(acegi)やSeamのような他のフレームワーク全体を利用せずに、できれば新しいJava EE 6プラットフォーム(webプロファイル)にこだわることを試みます。


5
ajax update / renderのコンポーネントのクライアントIDを見つける方法は?「bar」から参照されている式「foo」を持つコンポーネントが見つかりません
次のコードはPrimeFacesのDataGrid + DataTableのチュートリアルからインスピレーションを得たとに置かれる<p:tab>の<p:tabView>に存在する<p:layoutUnit>の<p:layout>。以下はコードの内部です(p:tabコンポーネントから開始)。外側の部分は簡単です。 <p:tabView id="tabs"> <p:tab id="search" title="Search"> <h:form id="insTable"> <p:dataTable id="table" var="lndInstrument" value="#{instrumentBean.instruments}"> <p:column> <p:commandLink id="select" update="insTable:display" oncomplete="dlg.show()"> <f:setPropertyActionListener value="#{lndInstrument}" target="#{instrumentBean.selectedInstrument}" /> <h:outputText value="#{lndInstrument.name}" /> </p:commandLink> </p:column> </p:dataTable> <p:dialog id="dlg" modal="true" widgetVar="dlg"> <h:panelGrid id="display"> <h:outputText value="Name:" /> <h:outputText value="#{instrumentBean.selectedInstrument.name}" /> </h:panelGrid> </p:dialog> </h:form> </p:tab> </p:tabView> をクリックする<p:commandLink>と、コードが機能しなくなり、次のメッセージが表示されます。 「tabs:insTable:select」から参照されている式「insTable:display」を持つコンポーネントが見つかりません。 私が同じことをしようとすると<f:ajax>、基本的に同じことを伝える別のメッセージで失敗します: <f:ajax> …
140 ajax  jsf  jsf-2  primefaces  clientid 

5
JSF 1.2からJSF 2.0への移行
私はJSF 1.2で書かれたかなり大きなアプリで作業しています。JSF 1.2は現在約6歳です。JSF 2.0にアップグレードする必要があります。これはどれほど辛いことでしょうか?カスタムタグの一部の属性が変更されていることに気づきました。
136 java  jsf  migration  jsf-2 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.