2012-05-11 6 views
0

Liferayでセッションをカスタマイズするにはどうすればいいですか?サンプルコードはもっと役に立ちますので歓迎します。 具体的には、私が何をしたのかを説明します。今Liferayでのセッション管理

<aui:form action="" method="post"> 
     <table> 
      <tr> 
       <td>Username :</td> 
       <td><input name="login" size=15 type="text" /></td> 
      </tr> 
      <tr> 
       <td>Password :</td> 
       <td><input name="password" size=15 type="password" /></td> 
      </tr> 
     </table> 
     <aui:button type="submit" value="sign-in"/> 
</aui:form> 

してください:カスタムJSPのフックを使用して、私はLoginActionのclass.Myのlogin.jspページがどのように見える$ PORTAL_ROOT_HOME/HTML /ポートレット/ログインlogin.jspをを上書きし、私自身のJSPページを作成しても上書きされています送信ボタンをクリックすると、LoginAction.javaでログイン値を取得し、セッションに値を設定する方法を教えてください。これはカスタマイズの意味ですあなたは、このコードでログイン値を得ることができます

+0

セッションを「カスタマイズ」することで何を意味するのかを詳しく説明する必要があります。 – adarshr

+0

今はかなりきれいですね! –

答えて

1

あなたはorigonalをコピーしている必要がありますlogin.jspファイルを先頭から削除します。あなたのコードの見た目であなたはloginActionにアクションを設定するのを忘れていました。これは、以下の方法で行うことができます。

<portlet:actionURL secure="<%= PropsValues.COMPANY_SECURITY_AUTH_REQUIRES_HTTPS || request.isSecure() %>" var="loginURL"> 
      <portlet:param name="saveLastPath" value="0" /> 
      <portlet:param name="struts_action" value="/login/login" /> 
      <portlet:param name="doActionAfterLogin" value="<%= portletName.equals(PortletKeys.FAST_LOGIN) ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" /> 
     </portlet:actionURL> 

<aui:form action="<%= loginURL %>" method="post"> 
     <table> 
      <tr> 
       <td>Username :</td> 
       <td><aui:input name="login" size=15 type="text" /></td> 
      </tr> 
      <tr> 
       <td>Password :</td> 
       <td><aui:input name="password" size=15 type="password" /></td> 
      </tr> 
     </table> 
     <aui:button type="submit" value="sign-in"/> 
</aui:form> 

あなたのフックにorginal $ PORTAL_ROOT_HOME/HTML /ポートレット/ログイン/ login.jspにコピーすることをお勧めしますのでご注意ください。必要に応じて変更を行います。

あなたのHookは、提供されたスニペットがすべてのものであれば、既存の機能を無効/削除します。

アクションからパラメータを受け取るには、Paulsの回答を使用できます。

+0

ありがとうございます。そのうまくいった仕事は今すぐ!しかし私はポールの答えに従ってログイン値を得ることができません。私は空の値を得ています。モデルクラスを書く必要がありますか? –

+0

Paulはaui:inputタグを実際に使う必要があると回答しました:-)、彼らは必要な名前空間を追加します – David

1

String login = ParamUtil.getString(request, "login"); 
    String password = ParamUtil.getString(request, "password"); 

セッションの使用にいくつかの値を設定するには、この:

HttpSession session = request.getSession(); 
    session.setAttribute("parm", "somevalue"); 

BR、 ポール

+0

返事のPaulありがとうございます。私はフォームでアクションを設定できますか?それは私が必要なものです、私はLoginActionクラスにリダイレクトする必要があります、送信ボタンをクリックします。 –

+1

ポートレットの名前空間接頭辞を持つ入力を生成すると、それは要求からです。 また、/portal/portal-web/docroot/html/portlet/login/login.jspの元のlogin.jspを確認してください。 –