問題タブ [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 に答える
2241 参照

spring - Liferay 6.1 + Spring MVC Portlet 4.0: わかりやすい URL マッピング

Liferay 6.1 内の Spring MVC ポートレットに対してフレンドリーな URL マッピングを機能させようとしていますが、失敗します。

への私の追加は、liferay-portlet-xml利用可能なマニュアルとブログの例によるもので、次のとおりです。

friendly-url-routes.xml存在とともに

私のSpring MVCコントローラーは次のようになります

/baseurl/-/search/barレンダリング フェーズの出力のみを使用してポートレットを呼び出した場合、アクション メソッドは呼び出されません。

を使用してこのページへのリンクを作成した場合

Liferay が生成する URL は のようになり/baseurl/-/search/bar?p_auth=sometoken&p_p_lifecycle=1ます。アクション フェーズを正しく実行し、その URL を直接呼び出すこともできます。ただし、削除したいパラメータp_authとパラメータが含まれています。p_p_lifecycle

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

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

java - Spring コントローラーの前処理 @ModelAttribute リクエスト パラメーター

私の Spring 4 駆動型ポートレットには、日付フィールドを含むデータ オブジェクトがあります。JSP ビューには、日付 (dd/mm/yyyy) と時刻 (hh/mm) という 2 つの個別のフィールドがあります。コントローラーのアクション ハンドラーは、@ModelAttribute-annotation を使用してフォーム データを受け取ります。

利用可能な日付全体に対してフィールドが1つしかないため、フォームデータが検証されてonUpdate()受信される前に、日付と時刻をマージする必要があります。myObjectMyObjectjava.util.Calendar

この必要性を回避するためのアイデア 1

MyObjectここで、日付を の 2 つの個別のフィールドに分割し、必要に応じて値をマージするゲッターを提供することもできると考えました。

しかし、これはいくつかの理由で良い考えではないと思います (この質問を参照してください: Hibernate Annotations - which is better, field or property access? ) モデルオブジェクトをデータベースレコードのミラーにしたいので、そうする必要があります割り当てられる前に検証されます。

アイデア2

myObject別のアプローチは、日付または時刻を設定するときに、オンデマンドでカレンダー オブジェクトを作成または変更することです。

ここでの問題は、フィールド「日付」または「時刻」の 1 つだけが有効な場合に、新しいカレンダー オブジェクトが作成されることです。ビューのフィールドには、現在の日付または現在の時刻が入力されます (どちらの値が正しかったかによって異なります)。

isValidDateモデルに別のプライベート フラグを追加することで、この問題を解決することもできます。しかし、これは不潔な解決策だと思います。

結論

myObjectコントローラー用とmyObject実際のモデルオブジェクトとしては大きな違いがあると思います。myObject検証されて「マッピング」されるとすぐに、モデルオブジェクトになる必要があります。

だからここに私の質問:

  • @ModelAttribute最後のポイントは、一般的に悪い考えとして使用することを明らかにしていると思いますか?
  • または、インスタンスが作成される前にフォームデータをマッピングして検証する方法はありMyObjectますか?
  • そうでない場合、どのように問題を解決することをお勧めしますか?
0 投票する
0 に答える
296 参照

spring-mvc - フォームに追加するパス:select spring mvc ポートレット

私のプロジェクトは、Spring MVC を使用したポートレットです。コードを即興化したいので、<form:select>代わりに<select>. 使用するにはどのような変更が必要か知りたいです。選択した値をコントローラーに返す必要があります。

jsp:

モデルクラス:

コントローラ:

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

java - Liferay : 1 つの liferay プラグイン プロジェクトで複数の Spring MVC ポートレットを構成する

liferay で Spring MVC ベースのポートレットを開発しています。基本的に、1 つの liferay プロジェクト自体で 2 つまたは 3 つのポートレットを構成および維持したいと考えています。同じために必要な構成を案内してくれる人もいます。portlet.xml、Spring 構成、および Web 構成 (必要な場合) の構成コードと同様です。すべてのポートレットのデフォルト コントローラーを個別に構成して、それぞれが異なるランディング ページに表示されるようにするだけです。

これらのポートレットを構成する方法を知っている人はいますか? どんな提案も役に立ちます:D

前もって感謝します。

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

liferay - Liferay ポートレットから OG メタタグを変更する

リクエスト パラメータに基づいて OG メタタグを変更したい。Liferay 6.0.6 と Spring Portlet MVC 3.1.2 を使用しています。

ユーザーが URL にアクセスした場合example.com?param=value1、次のように設定します。

ユーザーが に来たらexample.com?param=value2、次のように設定します。

Liferay は、 を通じてタイトル、サブタイトル、説明、およびキーワードを設定できますPortalUtil。これらの OG メタタグを何らかの形で同様に設定できますか?

0 投票する
0 に答える
318 参照

portlet - Spring ポートレット - ブラウザーの [戻る] ボタンが機能しない

ブラウザの戻るをクリックすると、コントロールはどこにも行きません

戻るボタンの後にこのリンクで提案されているように 、ポートレットはプロセスアクションに入りません

Portlet.xml に wps.multiple.action.execution=true を追加しましたが、まだ URL がキャッシュされており、新しい URL を発行していません。JSR 168 仕様の IBM Portal サーバー 6.1 を使用しています。

私の Portlet.xml は以下のようになります。

ブラウザーのクリックで Spring インターセプターを呼び出して、リクエストをインターセプトしようとしています。コントロールはどこにも行きません。インターセプターにヒットしていません。私のSpringインターセプターは以下です:

}