問題タブ [spring-portlet-mvc]

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 投票する
1 に答える
741 参照

java - SpringポートレットをWebMVCに移行します

私は既存のプロジェクトを再構築するように割り当てられました。このプロジェクトは、2つの機能を備えたポータルです。

  1. ユーザーがシングルサインオンして、他の既存のWebアプリからの簡単な情報を表示できるようにする
  2. 他のWebアプリのAPI/データベースを介したユーザーの管理

このプロジェクトでは、Spring Portlet MVC 3eXoポータルコンテナ、およびCASシングルサインオンを使用します(それぞれがスタンドアロンのWebアプリです)。

時間が経つにつれて、最初の機能をシャットダウンする必要があることがわかります。これにより、シングルサインオンが残り、ユーザーはリンクをクリックして他のシステムにアクセスできます。このプロジェクトをSpringMVCを使用して通常のWebアプリに変換し、eXoプラットフォームの重さを取り除きたいと考えています。この状況にさらされた人は誰でも提案をしてください。これを行うためのエレガントな方法はありますか?

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

java - RenderRequest 時のプロトコル リダイレクト

私は、Liferay ポータル サーバーで Spring Portlet-MVC フレームワークと Velocity を使用するプロジェクトに取り組んでいます。いくつかのページについては、安全な接続で提供する必要があります。ポートレットにかなり慣れていないので、Action-Method にリンクしてそこからリダイレクトするという解決策を思いつきました。

私の解決策はうまくいきますが、私にはあまりいいとは思えません。誰かがこれを行うための別のより透過的な方法を考えることができるかどうか疑問に思っていました (おそらく RenderMappings でインターセプターとアノテーションを使用しますか?)。

どんな提案でも大歓迎です!

0 投票する
5 に答える
5064 参照

spring-mvc - Spring ポートレット MVC 3.1 は、どのアノテーション付きメソッドを複数のコントローラーでレンダリングするかをどのように決定しますか?

複数のコントローラー クラスと DefaultAnnotationHandlerMapping を使用する場合、Spring Portlet MVC 3.1 を使用すると問題が発生します。

バックグラウンド

  • Render & Action フェーズのアノテーションを備えた Spring Portlet MVC 3.1 を使用しています。
  • JBoss EPP 5.1.1 を使用しています

問題

  • パラメータを使用したポートレット レンダリング リクエストの場合、ポートレットで正しくないページがレンダリングされる

原因

  • Spring ポートレット MVC は、正しいアノテーションを持つ予想されるメソッドとは異なる @RenderMapping のメソッドを使用しています

テクニカル分析

  1. すべてのコントローラーには @RenderMapping および @ActionMapping アノテーションが含まれており、ポートレット URL で設定されたパラメーターに基づいて予期されるメソッドが確実に呼び出されるようにするための「params」引数があります。デフォルトのレンダリングには、「params」引数のない @RenderMapping アノテーションを持つメソッドがあり、リクエストにパラメーターが含まれていない場合に空の JSP をレンダリングするために使用します。

  2. あなたの本の第 7 章と第 8 章を読んだことから、Dispatcher Portlet が着信要求の適切なハンドラー マッピングを取得し、それを構成済みのコントローラー Bean の適切なメソッドに送信しようとすることがわかりました。私たちの想定では、デフォルトの @RenderMapping アノテーション (パラメーターなし) は、特定のリクエストパラメーターに一致するアノテーションを持つコントローラーに他のメソッドがないことを確認した後にのみ呼び出されると想定していました。

  3. ただし、この仮定が正しくないことを認識するためにデバッグを行いました。DefaultAnnotationHandlerMapping は、コントローラー Bean で使用可能なアノテーションのリストを事前定義された順序でトラバースするように見えます。これは、デフォルトの @RenderMapping アノテーション (パラメーターなし) を持つコントローラー Bean がリストの前に表示される場合、リストのさらに下にある正しいメソッドではなく、デフォルトの @RenderMapping アノテーション (パラメーターなし) を持つメソッドが呼び出されることを意味します。 .

明らかなエラー

Windows環境で開発し、Linux環境にデプロイしています。Windows では、ハンドラーがコントローラー Bean をアルファベット順に循環することがわかります。そのため、最初に、'Z' に最も近い Bean 名を持つパラメーターなしで @RenderMapping アノテーション付きメソッドをコントローラーに追加することで問題を解決しました。

ただし、Linux では、コントローラー Bean が別の順序で検出されるようです。問題を強調するために、以下に Spring ログを添付しました。no params @RenderMapping アノテーションは YourDetailsController にあり、Windows のログでわかるように、リストの最後に表示されますが、Linux では表示されません。つまり、リスト内の YourDetailsController の後に表示されるコントローラーの 1 つにアクセスしようとすると、代わりに YourDetailsController の no params アノテーションが常にヒットすることになります。

質問

  1. 私たちの仮定は間違っていますか?
  2. 私たちの診断は期待される行動を反映していますか? それとも、Spring Portlet MVC のバグですか?
  3. ハンドラーマッピング Bean リストを形成するためにスキャンされた注釈を取得する別の方法はありますか?
  4. (注釈の代わりに) xml 構成を使用すると、問題が解決しますか?
  5. 複数のハンドラー マッピングと順序を定義して、デフォルトのハンドラー マッピングがディスパッチャー ポートレットによって使用される最後のハンドラー マッピングになるようにすることはできますか?

この問題に関するご意見やアドバイスをいただければ幸いです。

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

spring - @ModelAttributespringmvcポートレットとajaxフォームの送信

英語が下手でごめんなさい。私は文字通り私を混乱させている私の心の中で起こっている多くのことを持っています。フォームで送信された値を@ModelAttributeとして処理したいので、そもそも混乱します。@ModelAttributeを使用しなくても、私は優れており、すべてが完全に機能しています。

私の要件は、portletでのajaxフォーム送信とSpringMVC3.0アノテーションを処理することです。

私が持っているフォーム

次のjQueryを使用して、フォームをajax呼び出しとして送信します

私はajax呼び出しを処理するために次のコントローラーを持っています

Userクラスを作成し、@ModelAttributeを使用して値を設定/取得したいと思います。私はそれを使用することを理解しようとして多くのリンクを通り抜けてきました。例の1つは、taglib形式を使用しています。フォームをajax呼び出しとして送信するjQueryがありますが、フォームをこのパターンに変更するとコードが破損するかどうかわかりません。

助けてくれてありがとう!

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

java - コントローラー (Spring Portlet MVC) から PortletSession 属性 (インターセプターによって設定) にアクセスする

私は Spring Portlet MVC を初めて使用しますが、ここ数日、一生懸命勉強してきました。私の問題のコンテキストは次のとおりです

  1. 単一のコントローラーを備えた Spring Portlet MVC ポートレットがあります。
  2. ポートレットは、ユーザーがリソースにアクセスしたいときはいつでもHandlerInterceptor (メソッド「preHandleRender」) を呼び出すように構成されています。
  3. インターセプターは、ユーザーが認証されているかどうかを確認し、認証されていない場合は、ユーザーの Liferay 資格情報を取得して、他の多くの Web サービスでの認証を管理します (現時点では興味深いものではありません)。
  4. この後、インターセプターはユーザー データを PortletSession 内に格納します

では、PortletSession に保存されているユーザー データを、インターセプターによってコントローラー内から取得するにはどうすればよいでしょうか??

sessionInterceptor.preHandleRender

ViewController クラス

リクエストがあれば、コードに関する詳細情報を提供する準備ができています。

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

java - Spring Portlet MVC でオブジェクト型パラメーターを取得する方法

私はSpring Portlet MVCに取り組んでいます。「CLASS」という名前のテーブルがあります。CLASS テーブルには複合主キーがあります。CLASS テーブルを別のテーブルで使用したい。コンボボックスに CLASS テーブルの項目を一覧表示したい。

コンボボックスが選択されたら、CLASS の複合 ID を取得する必要があります。しかし、IDが取得できません。id は CLASSID 型 (および id はオブジェクト) であるため、コンボボックスから int,string.. 型のパラメーターのみを取得します。

コンボボックスからオブジェクトを取得することは可能ですか? はいと答えた場合、これを行う方法は?

よろしく。

classId はオブジェクトです。クラス配列から名前の値とその他の値を取得できます。しかし、classId の値を取得できません。null を返します。Spring Portlet MVC でオブジェクト タイプ パラメータを取得するにはどうすればよいですか?

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

java - SpringおよびPortletタグのMaven依存関係

Netbeans IDEで次の問題が発生します-JSPファイルを作成し、これら2つのtaglibを内部に配置すると

その後、エラーが発生しますThe absolute uri ... cannot be resolved。ASにデプロイするとアプリケーションは正常に動作しますが、開発中のオートコンプリートなどを楽しみたいと思います。私pom.xmlはこのように見えます-PasteBin

クラスパスに必要なすべてのJARがあると思いますが、NetBeansにそれらのタグを認識させるにはどうすればよいですか?

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

java - Spring MVPorletActionMappingが機能していません

SpringMVCPortletフレームワークのコントローラーを使用した単純なログインフォームがあります。フォームは次のようになります

とコントローラー

そして問題は、フォームを送信すると/bookShop-1.0/portal/classic/showcase/somePortalGeneratedString、ポートレットがlocalhost:8080/portal/classic/showcaseURL上にあるために間違ったページにリダイレクトされ、404エラーが発生することです。<portlet:renderURL>タグとマッピングは正しく機能していますが、このフォームを単純に機能させることはできません。

私の環境は、JBoss JPP 6.0(GateIn 3.5に基づく)、Spring 3.2.1、およびPortlet2.0です。

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

java - ページ間のリダイレクト - Spring MVC

から始めてSpring Portlet MVCいますが、この質問は にも当てはまると思いますSpring MVC。この例をお見せしましょう

登録ページのコントローラー

問題は、ページから showRegisterPage メソッド (アクション) を呼び出すと、registration.jsp にリダイレクトされますが、この例外が発生することです。

これは、ModelAttributeユーザーを LoginController に配置することで修正できますが、コードの重複は実際には正しい方法ではないため、これを正しく解決するにはどうすればよいですか?また、showRegisterPage メソッドを RegistrationController に移動しようとしましたが、リンクが機能しません。誰かが、ページをコントローラーにバインドする方法を正確に説明できるでしょうか?

PS index.jsp と registration.jsp の両方に<form:form>タグが含まれており、両方のコントローラーから定型コードも省略しました。

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

spring-webflow-2 - ポートレットで Spring Webflow リダイレクトが機能しない

ポートレット間通信機能を実装する必要があります。機能は以下のとおりです。

1) ユーザーが「createStep1.jsp」の「名前を付けて保存」リンクをクリックします。

2) 下記の WebflowsaveDraftStep1が呼び出され、下書きがデータベースに保存されます。

3) ユーザーは別のポートレットmyportletにナビゲートされ、正常に保存されたメッセージがそこに表示されます。

どういうわけか、Webflow が で指定した URL にリダイレクトされませんexternalRedirect。同じページにとどまります。以下はコードです:

理想的には、Google の URL をポートレットの URL に置き換えたいと考えていますlocalhost:8080/myportlet