問題タブ [trinidad]
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 - トリニダードでcommandButtonを使用してポップアップウィンドウを取得するにはどうすればよいですか?
commandButton
トリニダードでポップアップウィンドウを使用するにはどうすればよいですか?
私の問題は、Add
からボタンをクリックしてdialogdemo.jspx
も、ポップアップウィンドウやダイアログボックスが開かないことです。
これはdialogdemo.jspx
ファイルです:
関連するマネージドBeanは次のLaunchDialogBean.java
とおりです。
これがポップアップファイルですPopup.jspx
:
そのために私は豆を書きましたChooseIntegerBean.java
これが私のfaces-config.xml
:
jsf - JSF / ADF/PPRが期待どおりにページを更新できない
ページを誤って更新すると、JSF / ADF/PPRで問題が発生します。5つのオプションを含むselectManyCheckBoxがあります。オプションの1つは「すべて」です。ユーザーがそのチェックボックスをオンにした場合、他のすべてのチェックボックスをオンにする必要があります。
私はvalueChangeListenerを使用して、Beanが更新されて正しく印刷されていることを確認できますが、ページが更新されず、必要に応じて他のすべてのチェックボックスをオンにします。
java - onclick javascriptがメニュー項目に追加されたときにJSFページが送信されませんか?
ポップアップ ウィンドウを使用して詳細を表示します。ユーザーがサインアウト リンクをクリックしたときにそれらを閉じたい。ウィンドウを閉じる JavaScript 関数があります。
サインアウト リンクは、Navigation MenuModel を使用してレンダリングされます。faces-config の定義は次のとおりです。
問題は、マネージド Bean で「onclick」プロパティを使用すると、ページが「signout.jsp」に送信されず、同じページにとどまることです。
「onclick」部分を削除/コメントすると、ページが適切に送信されます。
MyFaces Trinidad を使用しています。
jsf - 私のサイトを閲覧するユーザーからアプリケーションで使用される jsf フレームワークを非表示にする方法は?
ブラウザでアプリケーションのソースを表示すると、リッチフェイスやトリニダードなどを理解できません...たとえばリッチフェイスでこのアプリケーションを開発するために使用されるjsfフレームワーク
application.url/a4j/s/3_3_2.SR1org.richfaces.renderkit.html.Paint2DResource
img タグの src として、またはトリニダードで表示されます
org.apache.myfaces.trinidad.faces.FORM
フォーム名として表示され、この問題は richfaces の JavaScript ファイルに存在します...
誰かがこの問題の解決策を持っていますか?
java - JAXB boolean 処理の奇妙な点と JSF
JAXB には既知のバグがあります: https://jaxb.dev.java.net/issues/show_bug.cgi?id=733
JAXB は、ブール フィールドの getter および setter を適切に生成しません。このバグは、下位互換性のために未修正のまま残されています。
JAXB プラグインが存在し、次のブール フィールドのゲッターとセッターが生成されるようにします。
- setXXX(ブール値)が生成される
- getXXX()が生成されます
- boolean 属性が XSD でデフォルト値を指定している場合、getXXX() はbooleanを返します。
- boolean 属性が XSD でデフォルトを指定していない場合、 getXXX() はBooleanを返します。
問題: JSF コンポーネント (チェックボックスなど) の XXX フィールドを編集/表示しようとしても機能しません - コンポーネントが無効になっています。
Apache Trinidad 1.2 を使用しています。コンポーネントは次のようにコーディングされます。
私はこれを詳細に追跡していませんが、(以下の回避策に裏打ちされた) 仮定は、JSF EL リゾルバー (または whathaveyou) がブール値の getXXX() メソッドを探し、それが見つからないため、コンポーネントが無効になっているということです。
回避策: getXXX() メソッドを変更して Boolean を返すと、すべてがうまくいきます。
質問:
- この問題をまとめて可能な限り迅速に解決する方法について、あなたのアイデアは何ですか?
- boolean-getter JAXB プラグインのカスタマイズを見逃していませんか?
- Boolean getXXX() が見つからない場合に boolean getXXX() にフォールバックするようにJSF リゾルバー (または whathaveyou ) を変更することは可能ですか (意味がありますか)?
手動で介入して、生成されたすべての getXXX() メソッドを変更して、ブール値ではなくブール値を返すことは避けたいと思います。
css - CSS を使用した tr:table での行のバンディングと選択のスタイル設定
CSS を使用してスタイルを設定する必要がある tr:table があります。テーブルの通常のスタイル機能はすべて機能していますが、行バンディングと行選択は機能していません。レンダリングされたソースを表示すると、取得する ID またはクラスの行に違いは見られません。また、公式ドキュメントには、いずれかのスタイル クラスを宣言するための属性がありません。これは可能ですか?もしそうなら、CSSを取得するために何をする必要がありますか?
編集
何が起こっているのかを明らかにしてみましょう。
まず、上記の宣言を使用して jsf にテーブルを生成するように指示し、属性 rowBandingInterval によって各行に交互の色を与えるように指示します (2 に設定されている場合、2 行で 1 つの色、2 行で別の色、2 行で元の色を実行します)。など)
ページが標準の html にレンダリングされると、トリニダード (および jsf) は独自のクラスと ID を html に適用します。私の通常の手順は、レンダリングされた html を見て、それが適用されているクラスを見つけ、それに CSS ルールを追加することです。ただし、この場合、追加のスタイルは追加されません (レンダリングされた html には、ある行が別の行と異なることを示すものは何もありません)。
問題は、トリニダードに交互の行とユーザーが選択した行の異なるクラス/ID を CSS で取得するように指示するにはどうすればよいかということです。
編集 2
注意を払っている人を投稿し続けるために、実際のtd
要素にも変更はありません
編集 3
すべての属性を切り替えてから、すべてのコードを必要最低限の骨まで取り除いた後、行バンディング属性を見つけました。トリニダードのクラスはかなり複雑で、コードを再フォーマットしてすべてのノイズを取り除かない限り、それを見ることはできません。Trinidad は.af_column_cell-text-band
、バンド付きの行にクラスを追加しますが、通常の行には.af_column_cell-text
. これで問題の半分は解決しました。ユーザーが選択した行のセレクターを知る必要があります。そのため、答えを教えてくれる人なら誰でも喜んですべてのビー玉を渡します。
javascript - トリニダード(JSF)で検証エラーのある入力フィールドを強調表示する方法は?
フォームのクライアント側検証が失敗した後、Trinidad はエラー メッセージを表示し、失敗した入力のラベルを強調表示します。入力フィールド自体を強調表示する必要があります。どういうわけかそれを行うことは可能ですか?私が考えることができる最も絶望的な解決策は、ラベルの DOMAttrModified イベントに js イベントリスナーをアタッチすることですが、それは本当にひどいハックです。
java - モバイル Web サイトの構築
モバイル デバイスでサイトを表示できるように検討中です。BlackBerry、iPhone、Android の 3 つの携帯電話をターゲットにしました。
このすべてに慣れていないので、いくつか質問があります。
ここで実際に見ているのは、デバイス自体ではなく、デバイスのブラウザー機能であると仮定します (モバイル アプリケーションを構築している場合、デバイスが関係します。正しいですか?)
そのため、フロント エンドが JSF 1.1、myFaces、および RichFaces を使用して構築されたオンライン オークション サイトがあります。いずれにしても JSF 1.2 に移行する予定です。これにより、Trinidad を利用できるようになります。Trinidad はモバイル サイトに適しているように見えるからです。
気になるのはパフォーマンスです。現在のサイトでは、ユーザーが検索を実行できるようにしており、その検索の結果として大量のデータが返される可能性があります。デスクトップ ブラウザから実行すると、現在、結果セットを待機しています。これらのリクエストに対して何か別のことをしない限り、モバイル デバイスから表示する場合、結果セットを待つ時間が長くなると思いますが、それは正しいですか?
では、モバイル フロント エンドを構築するだけでは、非モバイル サイトで直面するパフォーマンスの問題に対処することはできません。これは正しい説明でしょうか?
サイトを取得してモバイル対応にする方法について詳しく学ぶために推奨されているサイトはありますか?
ありがとう
hibernate - JSF + Hyperjaxb3 + Hibernate LazyInitializationException(リクエスト間)
Hyperjaxb3によって生成されたトリニダードコンポーネントとJAXB/JPAエンティティBeanを備えたJSFアプリケーションがあります。UIでは、JPAオブジェクトを値として持つTrinidadコンボボックスコンポーネントを使用します。
シナリオは次のとおりです。
- ユーザーはコンボボックスで選択を行います
- ユーザーがサーバーにリクエストを送信し、同じフォームに返されるコントロールをクリックします
- フォームからのデータが送信され、コンボボックスでの選択は、ユーザーが手順1で行ったとおりにする必要があります。equals()メソッドがコンボボックスアイテム(JPAオブジェクト)で呼び出され、次の例外がスローされます。
org.hibernate.LazyInitializationException:ロールのコレクションを遅延初期化できませんでした:package.AnObject.items、org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)atorg.hibernate.collectionでセッションまたはセッションが閉じられませんでした.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
SpringのOpenEntityManagerInViewFilterを使用して、遅延ロードされたオブジェクトを取得します。これは1つのリクエストで機能します。
HyperJAXBで生成されたオブジェクトのレベルでは、メソッドはそのオブジェクトの各属性で呼び出されるメソッドequals()
を呼び出します。その属性がリストである場合、それはPersistenBagによってプロキシされ、それがLazyInitializationExceptionを取得するポイントです。equals(Object object, EqualsBuilder equalsBuilder)
equalsBuilder.append(...)
equals()
メソッド-HyperJaxbによって生成されます:
equals(Object object, EqualsBuilder equalsBuilder)
HyperJaxbによって生成されます:
この問題をどのように解決するかについて何かアイデアはありますか?
JSFコンバーターを使用して、String値(オブジェクトではない)を持つSelectItemを使用しようとしましたが、覚えていれば、Stringがオブジェクトに変換された後にequals()が呼び出されます。
jsp - 2 tr:selectOneChoice ValueChangeListeners は同じアクション メソッドを呼び出します
2 つの tr:selectOneChoice コンポーネントがあり、それぞれに独自の valueChangeListener メソッドがあります。問題は、ドロップダウン ボックス 1 の値を変更すると、予想されるアクション メソッド 1 が呼び出されることです。
しかし、ドロップダウン ボックス 2 の値を変更すると、アクション メソッド 1 とアクション メソッド 2 が順番に呼び出されます。これは非常に奇妙で、アクション メソッド 1 はまったく呼び出されません。最悪の部分は、同じページにある別のボタンをクリックしても、両方が両方のアクション メソッドを順番に呼び出すことです。
MyFaces、Facelets、Trinidad を使用しています。どうもありがとうございました。