效果如下,系统会将 ${CPATH!}解析成服务url,避免进入子二级界面后url错乱:

代码:
for (Content menuContent : menuContentList) {
//////////////////////////////////////
// 设置菜单支持全局变量 //
//////////////////////////////////////
if(menuContent.getText() != null){
String[] prefix = { "${CPATH!}", "${CPATH}"
// , "${SPATH!}", "${SPATH}"
// , "${TPATH!}", "${TPATH}"
// ,"${CTPATH!}", "${CTPATH}"
// , "${REQUEST!}"
};
String url = menuContent.getText();
for (String pre : prefix)
if (url.startsWith(pre)) {
menuContent.setText(url.replace(pre, JFinal.me().getContextPath()));
break;
}
}
// System.out.println(menuContent.getText());
//////////////////////////////////////
menuContent.remove("active");
if (menuContent.getText() != null
&& menuContent.getText().equals(StringUtils.urlDecode(request.getRequestURI()))) {
menuContent.put("active", "active");
}
}
本文介绍了一种在JFinal框架中通过设置全局变量来动态解析菜单URL的方法,这种方法可以确保子页面链接的正确性,并避免了URL错乱的问题。代码示例展示了如何遍历菜单列表并替换特定前缀,以实现对菜单项文本属性的动态更新。

被折叠的 条评论
为什么被折叠?



