問題タブ [facelets]

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.

0 投票する
2 に答える
11220 参照

java - フェイスレットをリクエストするときにBackingBeanメソッドが複数回呼び出されるのはなぜですか?

私は最近JSF+Faceletsについて働いて学んでいます。BackingBeanとFaceletxHTMLページがあります。facelet-pageを(1回だけ)要求すると、backing-bean-methodが複数回呼び出されます。

これの理由は何でしょうか?

特別なものは何も見えません。前もって感謝します。

フェイスレットは次のとおりです。

そして、これがバッキングビーンです。getKundenメソッドは複数回呼び出されます。

0 投票する
2 に答える
1419 参照

jsf - 変数データをパラメータとして facelet-hyperlink を作成する方法は?

私は 2 つの facelet ページを持っています: customers.xhtml (顧客のリストを含む) と customer.xhtml は 1 人の顧客の詳細ビューです。customers.xhtml 内で ah:dataTable コンポーネントを使用します。

ここで、テーブル内の顧客ごとにハイパーリンクを作成したいと考えています。ハイパーリンクは customer.xhtml に移動する必要があります。各顧客にはプロパティがprimaryKeyあり、表示する顧客を customer.xhtml に伝える必要があります。

どうすればいいですか?facelet-page ごとに 2 つの異なるバッキング Bean を使用すると、どのように機能しますか?

前もって感謝します。

0 投票する
1 に答える
3117 参照

java - JSF1.2のファセットに対してNetbeans6.8でコード補完を有効にするにはどうすればよいですか?

NetBeans6.8でfacelets+JSF1.2のコード補完を有効にしたいのですが。自分のAntbuild.xmlを使用してビルドする自由形式のプロジェクトで有効にしたいのですが、有効にするオプションがないため、「既存のソースを使用するWebアプリケーション」を使用します。

すべてのスクリーンショットでごめんなさい。自分がしたことを示したいだけです。

プロジェクトの設定

プロジェクトダイアログを選択

[名前と場所]ダイアログ

[サーバーと設定]ダイアログ

[既存のソースとライブラリ]ダイアログ

プロジェクト構成 [ライブラリ]タブが選択された[フレームワーク]ダイアログ

[構成]タブが選択された[フレームワーク]ダイアログ

セットアップと構成を行った後でも、ファセット内のコード完了は機能しません。
コードの完了に失敗したエディターを表示しています

私は何かが足りないのですか?私はこれについて間違った方法で行っていますか?

解決

これが私がやったことです:

  1. 標準のJavaプロジェクトからWebプロジェクトに切り替えました(ええと!)
  2. 私はAwanoのアドバイスを受けて、xhtmlファイルのMIMEタイプをtext/xhtmlに戻しました。
  3. tldファイルfaceletsサイトからjsf-facelets.jarのmeta-infディレクトリに追加し、プロジェクトに含めました。
  4. jsf-ui.tldファイルのフラグメントタグにrendered属性を追加しました。何らかの理由で欠落していました:

    /li>
0 投票する
1 に答える
12363 参照

java - Faceletsの「jsfc」属性を使用する必要がありますか?

Faceletsは、jsfc属性を使用して、HTML要素を関連するJSFコンポーネントに変換します。これは、ビジュアルデザインツールを使用してビューを作成できるため、ラピッドプロトタイピングにかなり役立ちます。しかし、最近、 Cay Horstmannによるこのブログ投稿を発見しました。彼は、 h:dataTableなどの複雑なコンポーネントと一緒にjsfcを使用することに無駄を費やしています。

Cay Horstmannは私のお気に入りのJavaの本を何冊も執筆しているので、これは私を驚かせました。しかし、問題の範囲/性質を判断しようとしたときに、私のGoogle-fuスキルはゼロの結果をもたらしました。ただし、jsfcが好きであるEd Burnsによる最近の投稿を除きます(そして彼は結局JSFの共同仕様のリーダーです) 。だから私の質問は単純です、Faceletsでjsfcを使用することをお勧めしますか?そうでなければ、それがもたらす問題は何ですか。

0 投票する
2 に答える
5865 参照

java - JSF ロケール例外

私は JSF を初めて使用し、Web ページを国際化して、Web サイトの訪問者が各ロケールを表すフラグ アイコンをクリックして言語を切り替えることができるようにしたいと考えています。faces-config.xml を編集し、リソース バンドル、デフォルト ロケール、およびサポートされているロケールを追加しました。次に、バックグラウンド ジョブを実行するための changeLang.java という Bean を作成しました。ページが評価されると、次のエラーが表示されます。

テクノロジー:
JSF 2.0 Mojarra 2.0.2
Spring 3.0.0
Facelets

私の
changeLang.javaファイル

および「ページの使用」スニペット

完全なログ:

この問題を解決するのを手伝ってくれませんか?

アドバイスをありがとう。

0 投票する
3 に答える
23697 参照

java - 同じ資格情報で2回ログに記録したときにユーザーセッションを無効にする方法

RichfacesとFaceletsでJSF1.2を使用しています。

多くのセッションスコープのBeanといくつかのアプリケーションBeanを含むアプリケーションがあります。

ユーザーは、たとえばFirefoxでログインします。ID="A"でセッションが作成されます。次に、Chromeを開き、同じクレデンシャルで再度ログインします。ID="B"でセッションが作成されます。

セッション「B」が作成されたら、セッション「A」を破棄できるようにしたい。どうやってするか?

また。Firefoxのユーザーが何かをしたときに、「他の場所からログインしたためにログアウトしました」というポップアップまたは何らかの通知を表示できるようにしたいと思います。

作成および破棄されたセッションを追跡するsessionListenerがあります。重要なのは、HTTPSessionオブジェクトをアプリケーションスコープのBeanに保存し、ユーザーが2回ログインしたことを検出したときにそれを破棄できるということです。しかし、何かが私にそれが間違っていて、機能しないことを教えてくれます。

JSFはサーバー側のどこかでセッションを追跡しますか?識別子でそれらにアクセスする方法は?そうでない場合、ユーザーが2回ログインしたときに、ユーザーの最初のログインを開始するにはどうすればよいですか?

0 投票する
2 に答える
10381 参照

eclipse - Eclipse /Tomcat6で認識されないFaceletsタブライブラリ

これをindex.jspJSFファイルに含めました。

EclipseはURLに下線を引き、ホバーすると次のようになります。

Tomcatプラグインを使用してTomcat6をデプロイして起動しようとすると、次のようになります。

..。

私のweb.xmlにはこれが含まれています

私のface-config.xmlにはこれが含まれています

そして、私のアプリケーションビルドには最新のJSF2.0.2jsf-api.jarとjsf-impl.jarがあります。MyFaces1.2.8とすべての最新のcommonsjarもあります。JSFをアップグレードするまで、アプリは正常に構築されていました。少なくとも実行時エラーが予想されますが、ここではEclipseはtaglibを認識できません。他に何が欠けている可能性がありますか?

編集

詳細については、Mojarraを取り出して、Myfacesに残しました。これは私がこれを私のweb.xml:から削除する必要があることを意味しました

そしてそれをmyfacesと同等のものに置き換えます:

ありがとう

0 投票する
1 に答える
15452 参照

java - 他の場所で定義される JSF テンプレートで onLoad 関数を定義する方法

標準のログイン ページとランディング ページがある自分のサイトのビューを設計しています。ログイン ページには onLoad 関数を呼び出したいのですが、他のページには (まだ) 呼び出しません。この挿入物を含む template.xhtml ファイルがあります。

<div id="content"> <ui:insert name="content"/> </div>

次に、 login.xhtml に次のものがあります。

<ui:define name="content"> ... </ui:define>

通常、これを login.xhtml に入れます。

<body onload="document.getElementById('login_form:name').focus();">

しかし、私は JSF の ui 構成タグを使用しているため<body/>、login.xhtml にタグを含めることができません (少なくとも、私が試みている方法では)。

私が説明した構造でこれを達成する方法はありますか? 私が考えている方法は、onLoad でテンプレート内の関数を呼び出し、ui:define を含む各ページにこの関数を設定することです。それは可能ですか?

ありがとう!

0 投票する
2 に答える
5902 参照

jsf - フェイスレットとJSTL(フィールドで使用するために日付を文字列に変換する)

ページ内で日付を文字列に変換する必要があります(ドメインモデルに大量のtoStringを追加したくないので、Beanに追加することはできません)。

上記のコードは機能しますが、日付をデフォルトの形式でフォーマットします...フォーマットを変更したいと思います。

JSTL fmtを使用してみましたが、これはFacelets JSF Convert datefortitle属性と互換性がないようです。これに対する回避策はありますか(JSTLを使用する必要はありません)?

ありがとう。

0 投票する
2 に答える
1240 参照

jsf - JSF 2 複合コンポーネントのドキュメントを生成する

カスタム JSF 2 複合コンポーネント ライブラリのドキュメントを生成しようとしています。複合コンポーネントは、faces-config.xml ファイルでは参照されませんが、複合コンポーネントの .xhtml ファイルは META-INF/resources に格納され、新しい composite:interface タグを使用してインターフェイスを定義します。

JSP タグ ライブラリの場合、https://taglibrarydoc.dev.java.net/を使用してドキュメントを生成できます。私の JSF 2 複合コンポーネント ライブラリに同様のものがあるかどうか疑問に思っています。