1

Webページにメニューをロードする方法はログインユーザーに依存しますか? ログイン前にいくつかのメニューが表示され、ログイン後に管理者がログインしている場合はログインユーザーに応じてより多くのメニューが表示されるWebサイトを作成したい. JSP/サーブレットを使用してこのプロジェクトを構築したいと考えています。ユーザーが任意のメニューをクリックすると、ページ全体がリロードされず、このメニューの詳細説明を表示する部分のみが変更されます。

4

2 に答える 2

2

JSTLを使用するだけで、JSP の HTML 出力のフローをプログラムで制御できます。HttpServletRequest#isUserInRole()を返すことで、現在ログインしているユーザーのロールを確認できますboolean

サーブレット 3.0 を使用しているため、引数を使用してメソッドを呼び出す新しい EL 2.2 サポートを利用することもできます。したがって、これは次のようにする必要があります。

<c:if test="${pageContext.request.isUserInRole('admin')}">
    <p>This will be displayed only if the user has the role "admin".</p>
</c:if>
<c:if test="${pageContext.request.isUserInRole('guest')}">
    <p>This will be displayed only if the user has the role "guest".</p>
</c:if>

以下も参照してください。

于 2012-02-16T20:04:34.740 に答える
0

さまざまな jsps にさまざまなメニューを用意し、ログインしたユーザーに基づいてそれらの jsps を含めることができます。

例えば...

<%if(userRole.equals("admin")){%>
   <jsp:include page="../menu/admin_menu.jsp" />
<%}%>
<%if(userRole.equals("user")){%>
   <jsp:include page="../menu/user_menu.jsp" />
<%}%>
于 2012-02-16T19:43:35.713 に答える