0

同じページのフックから投稿値を取得しようとしているので、値が正しい場合、コンテンツが表示されます。

このコードをフックに追加して、指定したページに配置しました。

<portlet:actionURL secure="<%= PropsValues.COMPANY_SECURITY_AUTH_REQUIRES_HTTPS || request.isSecure() %>" var="SecondloginURL">
     <portlet:param name="saveLastPath" value="0" />
     <portlet:param name="struts_action" value="/journal_content/view" />
</portlet:actionURL>
<aui:form action="" name="auth" method="POST">
     <aui:input label="Second Password" type="password" name="password" />
     <aui:button type="submit" value="authenticate" />
</aui:form>

なんとか値を取得できましたが、検証されたときにセッションが開始されましたが、クロスページは移動しません。

コードは次のとおりです。

<% String pass = request.getParameter("password"); %>
<c:if test="<%= pass.equals(\"1234\") %>">
   <% 
       HttpSession session1 = request.getSession();
       session1.setAttribute("pass","authenticated");
       String foo = (String) session1.getAttribute("pass");
       out.println(foo);
   %>
<h2>this is the second password and it's working</h2>
   <div class="journal-content-article" id="article_<%= articleDisplay.getCompanyId() %>_<%= articleDisplay.getGroupId() %>_<%= articleDisplay.getArticleId() %>_<%= articleDisplay.getVersion() %>">
   <%= RuntimePortletUtil.processXML(application, request, response, renderRequest, renderResponse, articleDisplay.getContent()) %>
</div>
</c:if>
4

1 に答える 1

1

Liferayフックでは、ストックのLiferay jspをオーバーライドして、フォームを追加することもできます。

Liferayアクションや他のLiferayクラスをオーバーライドすることもできます。上記のコードをどこに置いたか、他に何をフックに入れているか、また何を達成しようとしているのかを明確にしないでください。

最初に:フォームをいくつか<portlet:actionURL/>に送信する必要があります。次に、このjspが呼び出されるポートレットに応じて、そのポートレットのアクションハンドラーを実装またはオーバーライドする必要があります。そこでは、からパラメータ値を取得することができますActionRequest

于 2012-09-12T11:49:47.623 に答える