RequestContext.getRequestChannelId() seems doesn't work

本文探讨了在网页开发中如何正确实现导航菜单的选中状态。通过对比两种不同的实现方式,指出了其中一种方法存在的问题,并给出了有效的解决方案。文章详细介绍了如何获取当前请求上下文及如何判断当前导航项是否被选中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Below codes doen’t work

for (int i = 0, j = navList.size(); i < j; i++) {

                 Channel chn = (Channel) navList.get(i);

                 String channelName = chn.getData().getName();

                 String channelId = chn.getContentManagementId().getId();

                

                 RequestContext rqCtx = PageUtil.getCurrentRequestContext(pageContext);// get request context from somewhere

                 String currntChannelId = (rqCtx.getRequestChannelId()== null? null:rqCtx.getRequestChannelId().getId());

                 String link = XSLPageUtil.buildLinkURI(rqCtx, channelId, "", "");

                 if(currntChannelId!= null && currntChannelId.equals(channelId)) {

                     %>

                     <tr>

                            <td class="nav_menuitem_selected"><a href="<%=link %>"><%=channelName %></a></td>

                  </tr>

                     <%

                 } else {

 

Below codes works

for (int i = 0, j = navList.size(); i < j; i++) {

                 Channel chn = (Channel) navList.get(i);

                 String channelName = chn.getData().getName();

                 String channelId = chn.getContentManagementId().getId();

                

                 RequestContext rqCtx = PageUtil.getCurrentRequestContext(pageContext);// get request context from somewhere

                 String currntChannelId = null;

                 Channel currntChannel = rqCtx.getRequestedChannel();

               if(currntChannel != null) {

                   currntChannelId = currntChannel.getContentManagementId()

                                                  .getId();

               }

                 String link = XSLPageUtil.buildLinkURI(rqCtx, channelId, "", "");

                 if(currntChannelId!= null && currntChannelId.equals(channelId)) {

                     %>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值