Java JSP菜单设计建议

Java JSP菜单设计建议,java,model-view-controller,jsp,session,menu,Java,Model View Controller,Jsp,Session,Menu,我希望在jsp页面中创建一个水平菜单-菜单项因用户而异,但除了活动选项卡的外观外,该用户在站点中的每个页面上都保持一致。一开始似乎是一个足够简单的问题(外观是用css修改的),但我不能决定在哪里构建菜单 菜单代码: <ul> <li><a href="url1">item1</a></li> <li id="active"><a href="url2">item2</a></li

我希望在jsp页面中创建一个水平菜单-菜单项因用户而异,但除了活动选项卡的外观外,该用户在站点中的每个页面上都保持一致。一开始似乎是一个足够简单的问题(外观是用css修改的),但我不能决定在哪里构建菜单

菜单代码:

<ul>
    <li><a href="url1">item1</a></li>
    <li id="active"><a href="url2">item2</a></li>
</ul>`
`
在我看来,检索菜单项的时间有3种选择:

  • 在第一次收到对任何控制器的HTTP请求时,在会话中存储两个数组-[url1,url2]和[item1,item2]。然后让所有jsp页面将其形成上述代码。jsp必须知道它的url,才能根据[url1,url2]数组插入活动id
  • 在每个控制器中分别创建上述html。因为控制器知道自己的url,所以添加活动id很简单
  • 创建上面没有任何活动id的html,将html存储在会话中,并使jsp页面/控制器修改html字符串
  • 这些似乎都不是特别开胃的


    有人对此有什么建议吗?

    既然所有HTML都属于JSP,我会选择选项1,但是使用
    列表而不是两个松散的数组。您可以通过
    ${pageContext.request.requestURI}
    找到JSP自己的URL。库应该有助于确定URL是否匹配。

    由于JSP是所有HTML所属的位置,因此我选择选项1,但使用
    列表而不是两个松散的数组。您可以通过
    ${pageContext.request.requestURI}
    找到JSP自己的URL。库应该有助于确定URL是否匹配