問題タブ [jsr286]
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.
portlet - ページ切り替えにアクションURLを使用するためのdisplaytagを取得します
DisplayTag1.2を使用するJSR-286ポートレットで外部ページングを使用しようとしています。
DisplayTagで、定義したパラメーター化されたアクションURLからページングリンクを生成したいのですが、それを機能させることができないようです。
これが私のJSPのコードです:
上記のコードでは、Display-tagが提供された$ {actionUrl}を無視し、デフォルトのレンダリングURLを生成しているように見えます。生成されたリンクは正常に機能します(ページ間を移動できます)が、ポートレットは他のページのデータをフェッチするためにアクションリクエストを必要とするため、セッション内のリストは更新されず、テーブルには、どのページに関係なく常に同じデータが含まれます。選択する。
それを機能させる方法はありますか?DisplayTagは私がやろうとしていることをサポートしていますか?
よろしくお願いします!
java - ポートレットを作成せずに JSR 286 をサポート
最終的に SharePoint でホストできるように、新しいプロジェクトは JSR 286 に準拠する必要があります。しかし同時に、ポートレットを作成するよう求められているわけではないと言われました。標準に準拠するだけです。私たちは当初、Struts 2 を使用して通常のアプリケーションを作成することを考えていました。
これは誰にとっても意味がありますか?私は標準を掘り下げ始めるつもりですが、これまでに読んだことは、これが単なる「これを行う..これをしないでください..このように名前を付ける」ような取引ではないように思われます。ポートレットを作成するかしないかのどちらかです。私が間違っている?いずれかの方向を指す記事を知っている人はいますか?
cookies - Struts2ポートレットは、CookieInterceptorを使用してCookieを読み取ります
WebSphere Portal 6.1.5のポートレット用にJSR286、Struts2を使用してWebアプリを作成しています。問題は、CookieInterceptorでビルドされた作業を作成できないことです。私はこれをsrc/struts.xmlで試しました:
そしてアクション:
メソッドsetCookiesMapは呼び出されません。私はfirebugを使用しましたが、実際には、リクエストヘッダーに「my-filter-cookie」が含まれています(JQuery cookieプラグインを使用して設定)。WebDeveloper for Mozillaは、ブラウザにそのようなCookieがあり、CURRENT_TIME+1年で期限切れになることを示しています。
別の構成を試しました。私は行動のためのインターセプターを書きました:
再び失敗する...?私は何を間違えますか?提案してください。
java - Websphere xJSR286のベストプラクティス
現在、非常によく知られているポータルツールの下でWebsphere 6+JSR86ポートレットを使用する新しいプロジェクトで使用するアーキテクチャーアプローチを定義しています。
私が計画しているのは、ポートレットグループごとに1つの.earファイルを使用し(たとえば、2つのポートレットが密接に関連している場合、それらは同じ.earにあります)、共有ライブラリを使用して、これらのポートレットで使用される共通のコードとライブラリを保持することです。
誰かが以前にこのアプローチ(または別のアプローチ)を使用したことがありますか?これは良いアプローチだと思いますか?
私はいくつかの意見を探しているか、誰かとこのアーキテクチャについて話し合っています(IBMのWebサイトで、私のシナリオに対応する「ベストプラクティス」の記事を見つけられなかったため)。私が誰かに聞いたことがないという理由だけで、先にいくつかの問題を発見します。
struts2 - IBM WP 6.1.5 で JSR 286、Struts 2.2.0 + PortletPlugin 2.2.0 を使用して、ポータルからファイルをダウンロードします。
JSR-286 + Struts 2.2.0 + PortletPlugin 2.2.0 を使用しています
ユーザーがダウンロードしたいファイルの名前を設定できません。ユーザーはファイルを取得できますが、その名前は壊れています。「myImage.png」の代わりに、ユーザーは「241883e9」または「241563a2」を取得します。ユーザーがダウンロードしたファイルの名前を変更して開くと、ファイルが破損していないことがわかります。私のコードを見てください:
file-listing.jsp:
関数「goToAction」は動的に生成して送信します(POSTとGETの両方を試しましたが、役に立ちません):
私のstruts xml構成ファイル:
そしてアクションコード:
ログ ファイルで次の LOG 行を見たことがありません: LOG.trace("#getFileName {}", attachement.getName());
でもわかる
[25.01.11 23:26:46:582 MSK] 00000052 srt W com.ibm.ws.webcontainer.srt.SRTServletResponse setHeader 警告: ヘッダーを設定できません。応答はすでにコミットされています。
応答のヘッダーを設定できないようです... :(
私は何を間違っていますか?助けてください。
UPD:部分的な解決策を見つけました:このコードをアクションに追加しました:
現在、問題はファイル名にあります。ASCII 文字以外のファイル名が含まれていると、ファイル名が破損します。「my file.doc」、「02.png」などのファイル名は正常に機能します。
java - ポートレット仕様-非同期マルチパートリクエストの処理
非同期の性質のためにActionRequestではないはずのマルチパートhttpリクエストを処理する適切な方法は何ですか?
たとえば、フラッシュアップローダーからのAjaxMultipartリクエスト。アクションフェーズの後にレンダリングフェーズが続くため、これらはアクションリクエストを意味するものではありません。htmlフォームの場合に便利ですので。
Springのような一部のフレームワークは一般的なAjaxリクエストを処理するためにResourceRequestsを使用していますが、マルチパートリクエストを処理することについては何も言及されていません(JSR286)。
次に残っているのはレンダリングフェーズです。これはそのために使用できますが、正しくないようです。spring-portlet-mvcでは、レンダリングフェーズでビューをレンダリングすることが期待されており、リクエストを非同期で処理しないため、実際にはそれを行う方法がない場合があります。
春のフレームワークでは、私が対処する方法がわからないこれらの問題があります
私の最後は、非同期リクエストはサーブレットによって処理されるべきであり、ポータルサーブレットをポイントしてポートレットリクエストになるべきではないということです。これは非常に煩わしく、多くの余分な作業を引き起こします。または、Spring-portlet-mvcの場合と同様に、回避策としてResourceRequestsを使用します。
jquery - WebSphere Portal 6.1 での GenericPortlet.serveResource() への Ajax 呼び出し
jQuery/ajax を使用して、ポートレットの serveResource() メソッドを呼び出そうとしています。Pluto 2.0 で動作する単純な JSR-286 ポートレットを取得することができました。このポートレットは、要求本文から JSON 文字列を読み取り、JSON から Java オブジェクトを作成し、そのオブジェクトの toString() を呼び出し元の JavaScript に返すことができます。ただし、同じポートレットを WebSphere Portal 6.1 にデプロイ*すると、リクエストの本文は、serveResource() に到達するまでに空になります。
基本的/基本的な何かが欠けていると思いますので、アドバイスをいただければ幸いです。JSON 文字列を URL パラメーターにプッシュすれば、サンプルを機能させることができると思いますが、現在のアプローチが「悪い」という理由がない限り、今のところそのアプローチは避けたいと思います。
編集: *より具体的に言うと、WSRP Producer を実行し、WebSphere Portal 6.1 経由でポートレットを使用する WAS7 に同じポートレットをデプロイしました。
Javascript スニペット:
ポートレット スニペット:
javascript - JSR-286 およびポートレット間通信の代替として GWT を使用する
ポートレット JSR286 仕様の動作と GWT のみを使用して (Google ガジェットを使用せずに) ポートレット間通信機能を実装または模倣したいと考えています。
これが私の使用例です:
-site1.abc.org でホストされている GWT App-1 があります -site2.abc.org でホストされ
ている GWT App-2 が
ありますのようなアプリ) site-portal.abc.org でホストされています
私の GWT App-Portal は、GWT App-1 と GWT-App2 を同じページに表示する必要があります。また、App-1 は対話してデータを (呼び出しまたはイベントを介して) App2 に送信する必要があります。
質問:
1) これは技術的に可能ですか?
2) これをどのように実装しますか?
PS: これが機能する場合、Big-Vendor-Horizontal-Portal イニシアチブを終了する必要があるかもしれません。
url - JSR 286 ポートレットで URL パラメータにアクセスしますか?
Jetspeed 2 ポートレット/ポータルで URL パラメータにアクセスする方法はありますか?
のように: www.bla.com/portal/page.psml?param=12345
liferay (PortalUtil.java) が httpservletrequest にアクセスするためのいくつかのツールしか見つかりませんが、私が知る限り、jetspeed にはそのようなものはありませんか?
public render parameters はそのようなことに使用できると思っていましたが、ここで少し混乱していますか? 前に誰もこの問題を抱えていませんでしたか?
前もって感謝します :)
jsf - Webflow、JSF、Primefaces: このリストが空なのはなぜですか?
Webflow には、サービス レイヤーからロードする 4 つのリストがあります。それらは次のようになります。
私の JSF/Primefaces UI には、次のようなものがあります。
ページを開くと、webflow がリストをロードし、JSF/Primefaces が正しく表示します。そして、「addEntry」ボタンを押すと、リスト内のエントリがすべて消えます。Webflow が 1 つのエントリをリストに正しく追加していることを確認しました。
Webflow「addEntry」-スニペット:
すべてが同じビューステートで発生し、アプリケーション全体がLiferayのポートレットで実行されます。
何が問題なのかわかりません。手伝っていただけませんか?
私は使用しています:
- JSF: 1.2
- プライムフェイス: 1.1
- ウェブフロー: 2.3
- ポートレット: 2.0 --> JSR286
- ライフレイ: 6.0.6