Liferayフォームを介してパスワードを投稿し、 「パスワード」と呼ばれるセッションに保存しています。現在「1234」のデフォルトとして作成した正しいパスワードを入力すると、セッションがアクティブになり、ページを閲覧すると正常に動作しています。
しかし、初めて投稿するときは機能しません。データを表示したり、別のページに移動したりするには、ボタンを 2 回クリックする必要があります。
ここにいる誰かがこれで私をサポートしてくれますか?これは私の完全なコードです:
<%
String value = BeanParamUtil.getString(article, request, "structureId");
%>
<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>
<c:choose>
<c:when test="<%= value.equals(\"10801\") %>">
<%
HttpSession session1 = request.getSession(false);
out.print(session1 + "<br>");
String sessionId = session1.getId();
out.print(sessionId + "<br>");
String foo = (String) session1.getAttribute("password");
out.print(foo + "<br>");
%>
<c:choose>
<c:when test="<%= !Validator.isNull(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:when>
<c:otherwise>
<aui:form action="<%= SecondloginURL %>" name="auth" method="POST">
<aui:input label="Second Password" type="password" name="password" />
<aui:button type="submit" value="authenticate" onClick="location.reload(true)" />
</aui:form>
<%
String pass = request.getParameter("password");
out.println(pass+" = 1234");
%>
<c:if test="<%= Validator.equals(pass, \"1234\") %>">
<%
session1.setAttribute("password","authenticated");
%>
</c:if>
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<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:otherwise>
</c:choose>
私はジャーナル_コンテンツ/ビューでフックをやっています