首页 > 代码库 > 锁定菜单选中项(BS程序)

锁定菜单选中项(BS程序)

1  要求

在BS程序中通常都用需要显示当前选中菜单要求,具体要求如 高亮菜单、用特殊颜色标示等。


实现难点:因为html不保存状态,所以每次菜单的改变如何记录这个状态是问题的核心。


2 解决方法

我大致使用过以下几种方式。

1. iframe(比较古老的做法):

这种方法做法最为简单,就是把menu菜单、菜单导向的内容分别放置在两个页面中(内容使用 iframe ),这样就能简单的实现要求了,不过介于当前反iframe的风潮,目前也不推荐用使用此种方式。

2.在页面中设置菜单状态

因为在点击菜单导航后,都会指向一个页面,那么就可以在这个页面直接对菜单进行反向设置,这个方案唯一的缺陷就是有些页面同时作为多个菜单项的指定页时就无法满足需求了。

3.使用session记录菜单状态

我在现在的项目中都会使用此种方式,把状态保存至session中,然后添加一个MenuFitler,用于接收改变菜单变化的参数请求(如 smenuid)