問題タブ [omnifaces]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsf - カスタム例外ハンドラで javax.el.PropertyNotFoundException を処理する方法
私は omniFaces の AjaxExceptionHandler を試し (これは非常に役に立ちます)、java.lang.Throwable
すべての種類の要求 (ajax 要求だけでなく) から発生する例外をキャッチして例外を設定するように構成しました。
javax.el.PropertyNotFoundException
うまく機能しますが、開発者が EL 式のスペルを間違えた場合はキャッチしません。
質問は次のとおりです。JSF2のメカニズムでどのように処理javax.el.PropertyNotFoundException
するのですか?ExceptionHandlerFactory
java - 2 番目の ajax リクエストを呼び出すと、f:viewParam と Converter および ViewScoped の例外が発生する
これf:viewParam
をバインドして検証して auserId
をに変換しようとすると、予期しない結果Player
が得られました。
私のコンバーターはこのように見えます
3 つのリンク (Harry、Tom、Peter) をクリックすると、コンバーターがうまく機能します。ID を変換player
し、マネージド Bean にバインドします。次に、テキストボックスに何かを入力してクリックします。最初は正常に機能し、入力した内容がボタンの横に表示されますが、入力内容を変更してもう一度Switch
クリックすると、エラーメッセージが表示されます。これはエラーメッセージですのために。f:viewParam を取り出した場合、すべて正常に動作します。驚いたことに、f:viewParam から o:viewParam (OmniFaces) に切り替えると、うまく機能します。Switch
Bad Request. Please use a link from within the system
required
f:viewParam
java - 検証エラーの後、後続のajaxリクエストはBeanからではなくUIコンポーネントから値を取得します
私のJSF2ベースのアプリケーションには、(他のUIコンポーネントの中でも)いくつかのチェックボックスを含むフォームがあります。
チェックボックスに、チェックされたときに起動するajaxリクエストを登録しました。ajaxリクエストは、実際にはバッキングBeanの別のチェックボックスの値を更新するだけです。その結果、他のチェックボックスもオンになります(再レンダリングされると、レンダリング応答フェーズでバッキングBeanから更新された値を取得するため)。
これは、フォーム全体が送信され、検証エラーが発生するまで正常に機能します。その後、ajaxリクエストは引き続き機能し、バッキングBeanの値を変更しますが、更新されたチェックボックスを再レンダリングするフェーズでは、その値はバッキングBeanからではなく、ComponentStateHelper
クラスから取得されたキャッシュ値から取得されます。
私が理解している限り、これはJSF 2の新機能に使用され、コンポーネントツリーへの部分的な変更のみを保存します。
私が理解していないのは、これは検証フェーズとどのように関連しているのかということです。StateHelper
検証でエラーが見つかったときに、チェックボックスのクラスにキャッシュされた値があるのはなぜですか?
jsf - Omnifaces CombinedResourceHandler-特定のリソースを抑制する方法はありますか?
Omnifaces1.0をRichfaces4.0と組み合わせて使用しています。通常、Richfacesに含まれているcss / jsの一部は不要で扱いにくいため、抑制しています。これを行うには、レンダラータイプのjavax.faces.resource.Scriptまたはjavax.faces.resource.Stylesheetのカスタムレンダラーを定義します。
org.omnifaces.resourcehandler.CombinedResourceHandlerを有効にすると、以前に抑制されていたCSSの一部が結合されているように見えます。ResourceHandlerから除外したいアセットを定義する方法はありますか?
jsf - 他のフィールドの前にinputHiddenからidがロードされたエンティティBeanにリクエスト値を適用する
私は次のファセットテンプレートを持っています:
およびリクエストスコープのBean:
最初のページの読み込みは適切に機能し、エンティティが読み込まれてフォームに表示され、inputHiddenがエンティティIDに設定されます。問題は、送信スローです。
おそらく、getUserがsetIdの前に呼び出されたためです。どうすればこれを解決できますか?私は本当にリクエストスコープのBeanが欲しいのですが、これは少なくともviewaccessスコープのBeanで簡単に解決できることを知っています。
編集:プロセス検証フェーズで例外がスローされることに気づきました。最初は、モデル値の更新フェーズで例外がスローされると思いました。「privateUser」を「privateUseruser= new User()」に変更しましたが、今は大丈夫ですが、少し変な感じがします。
よろしく、パベル
jsf-2 - Omnifaces - FullAjaxExceptionHandler - f:ajax onevent ステータスは成功です
私は Omnifaces FullAjaxExceptionHandler を使用しています - これはうまく機能していますが、ajax 呼び出しを行い、status == 'success' をチェックする onevent 関数がある場合、FullAjaxExceptionHandler がエラー ページをレンダリングしたにもかかわらず、まだ呼び出されています。(私はJSFを使用しています(グラスフィッシュ3.1.1のMojarra 2.1.3)
JSF コード:
<h:commandButton value="myButton">
<f:ajax listener="#{myBean.myBeanFunction()}"
render="someDiv"
onevent="myFunction"/>
</h:commandButton>
Javascript コード:
function myFunction(e)
{
if (e.status == 'success') {
alert("Success");
}
}
そのため、FullAjaxExceptionHandler によってエラー ページが表示される場合は、javascript 関数を実行しない方法が必要です。
jsf - JSF 2.0 -- クラスター全体で OmniFaces 結合リソース キャッシュを共有またはプライムする
クラスター全体で結合されたリソースを使用する JSF の方法はありますか? 基本的に、リソースを導入するクラスター内の最初のサーバーがそれを他のサーバーのリソースキャッシュと同期できるソリューションを探しています。
jsf-2 - JSF で InputStream を動的イメージとして表示する
InputStream
OmniFaces を使用して JSF 2.0 に動的イメージを埋め込んで表示するにはどうすればよいですか?
jsf - omnifaces にはページネーション関連のコンポーネントがありますか?
JSF(データテーブル)の実際のページネーションに役立つコンポーネントを探すために、オムニフェイスのショーケースを検索しましたが、成功しませんでした。
あるのか知っていますか?
それは素晴らしい機能です。
https://rogerkeays.com/blog/paging-large-data-sets-with-a-lazylistで取ったアプローチに少し取り組み、以下のコードを用意しました。
これは非常に汎用的で、任意の JSF コンポーネント ライブラリまたは永続化 API で使用できます。
開発者は、クエリを実行するためにビジネス ファサードまたはエンティティ マネージャにアクセスできる JSF マネージド Bean (バッキング Bean) に遅延リストを実装する必要があります。
たぶん、このようなアプローチはオムニフェイスに適合する可能性があります.
jsf - PrimeFaces + PrimeFaces Mobile + MyFaces ExtVal でのレンダリングの問題
PrimeFaces、PrimeFaces Mobile、MyFaces ExtVal の 3 つのフレームワークを一緒に使用しようとしています。ライブラリのバージョンは、PF 3.3.1、PF Mobile 0.9.3、MyFaces ExtVal 2.0.5 です。次のコードを検討してください。
プロジェクトに PrimeFaces と Mobile jar しかない場合、レンダリングされた commandButton は期待どおりです。
これはデフォルトの PrimeFaces レンダラーです。f:view を renderKitId を PRIMEFACES_MOBILE として構成すると、レンダリングされるボタンは次のようになります。
こちらもさすがにOK。ここで、MyFaces ExtVal jar を追加すると、すべてが壊れ、PRIMEFACES_MOBILE だけがコンポーネントのレンダラーになります。動作をテストするために、jar を追加しました: myfaces-extval-bean-validation-2.0.5.jar、myfaces-extval-core-2.0.5.jar、および myfaces-extval-property-validation-2.0.5.jar。次に、renderKitId を削除して、デフォルトの PrimeFaces ライブラリを使用する必要がありますが、結果は次のようになります。
f:view の renderKitId を HTML_BASIC に強制しようとしましたが、commandButton の PrimeFaces Mobile バージョンをレンダリングし続けます。
皆さん、何か提案はありますか?RenderKitId を定義する前は、システムは問題ありませんでしたが、ライブラリをアップグレードすると、このエラーが発生しました。PrimeFaces フォーラムに投稿しましたが、解決方法がわかりませんでした。また、なぜこのようなことが起こっているのかわかりません。