Melhor pratica na VIEW

Tenho 2 usuarios (Administrador, Usuario)
Como eu faço para mostrar o que um usuario pode ver ou não?
Tipo:
Administrador
— Cadastrar Usuario
— Cadastrar Logica
Usuario
— Alterar Cadastro
— Operar Logica

1 - Eu crio uma view que verifica na sessão se é Administrador ou Usuário e a partir dai libera o que o usuário deve ou não ver?
ex:

<c:if test="${usuario}"> <a href="usuarioAlterar.jsp">Alterar Cadastro</a> <a href="usuarioOperar.jsp">Operar Logica</a> </c:if>
2 - Crio uma jsp para Administrador e outra para Usuario?
ex: [color=blue]administrador.jsp[/color] e [color=blue]usuario.jsp[/color]

3 - Deixo tudo no banco de dados e quando o a pessoa se logar é verificado linha a linha na JSP o que pode ou não mostrar?
ex:

<c:forEach var="bd" items="${bd}"> <c:if test="${not empty bd.lista.items.usuarioAlterar}"> <a href="usuarioAlterar.jsp">Alterar Cadastro</a> </c:if> <c:if test="${not empty bd.lista.items.usuarioOperar}"> <a href="usuarioOperar.jsp">Operar Logica</a> </c:if> </c:forEach>

Eu preferiria a segunda abordagem…

Desta forma eu fui questionado e da 1º tb.
“É mas desta forma se eu for habilitar ou desabilitar uma opção eu tenho que mexer na jsp”

E na 3º eu questionei pois é um menu de 25 opções e sem nenhuma regra tem 90 linhas.
Colocando da 3º forma serio 90 * 3 e um codigo de view complexo cheio de if

Das opções que vc mostrou, a segunda é a melhor na minha opinião.

Vc pode fazer um filtro que irá verificar que tipo de usuário vc tem, de acordo com o tipo vc redireciona para uma ou para outra página.

Além disso, você pode tentar ver uma forma de montar esses menus dinamicamente, sem ter ir colocando todos na mão. Ou seja, quando vc passar pelo filtro vc carrega alguma lista de objetos que representam seus menus. Cada objeto deveria ter um “link” e um label…

Eu desconsiderei as outras opções que você deu, pq eu entendo o seguinte: não é responsabilidade da view ver o que ela vai mostrar ou não, quem decide isso é o seu controle.

luciene.silva,

Eu tinha pensado mais ou menos isso tb… Gostei da última colocação. rs