1

Liferay Portal 6 バージョンを使用しています。同じページで UserName と Password の値を取得するにはどうすればよいですか?

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@page import="javax.portlet.RenderRequest"%>
<portlet:defineObjects />

This is the <b>Kiran</b> portlet.

<form>
  <p><b>UserName:</b> <input type="text" name="UserName" size="10"></p>
  <p><b>Password:</b> &nbsp;&nbsp;<input type="Password" name="Password" 
size="10"></p>
  <p><input type="submit" value="Submit" name="submit"><input type=
"reset" value="Reset" name="reset"></p><hr><hr>
</form>


<%

// here


%>
4

3 に答える 3

4

フォームにターゲットがなく、ポートレット アクション URL を参照していないため、値が正しく送信されているかどうかはわかりません。

このチュートリアルでは、基本的な使用方法とパラメーターの取得について説明します。JSP ポートレット セクションを確認します。jsp の request オブジェクトにもアクセスできるはずです。

私は JSP ポートレットを書き始めませんでした。今日ではかなり時代遅れです。Spring Portlet MVCを確認するか、JSF を検討してください。

于 2011-12-11T10:33:03.147 に答える
1

ポータル/ポートレットでは、すべての識別子が適切に名前空間化されている必要があります。同じ HTML ドキュメントで他のコンテンツがどのようになるかはわかりません。したがって、フォーム コントロールは次のように読む必要があります。

<input type="text" name="<portlet:namespace/>user" .../>

リクエストからパラメータを「user」として取得できるようにするため。

Liferay 6 で AlloyUI taglibs を使用する場合、この名前空間の多くは自動的に行われます。

また、Udo Held が提案するように、ポートレット アクション URL を追加する必要があります。

<form action="<portlet:actionURL/>">
于 2011-12-12T11:27:49.070 に答える
0

何を手に入れようとしていますか?他の .java ファイルまたは .jsp ファイルでユーザー名とパスワードを取得しますか?? または、ユーザーがログインしたら、ユーザー名とパスワードを取得しますか?

他の .java または .jsp の現在の jsp ページに設定されているユーザーの詳細を取得しようとしている場合は、単純に PortletSession を使用します。 例: jsp から

PortletSession portletSession = actionRequest.getPortletSession();       
portletSession.setAttribute("liferayUserMap", liferayUserMap,PortletSession.APPLICATION_SCOPE);

.java/.jsp から

PortletSession portletSession = actionRequest.getPortletSession();
portletSession.getAttribute("liferayUserMap",PortletSession.APPLICATION_SCOPE);

そうすることで、異なるポートレットの異なるファイル間でデータを共有することもできます。

ケース 2 の場合: ユーザーの詳細を取得しようとしている場合は、次の手順を実行します。

ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
themeDisplay.getUser();

コーディング中にポートレット構造に従っていることを願っています。そうしないと、上記のコードが機能しません。'struts-config''tiles-def'でいくつかのアクション クラスを指定する必要があるため

于 2011-12-12T09:38:23.493 に答える