求(struts menu 菜单权限) 显示是 frameset控制的

T_T_T_T_T 2009-02-13 11:29:57
我的部分代码

MenuRepository repository1 = new MenuRepository();
ServletContext application=(ServletContext)getSession().getServletContext();
MenuRepository defaultRepository = (MenuRepository)application.getAttribute(MenuRepository.MENU_REPOSITORY_KEY);
repository1.setDisplayers(defaultRepository.getDisplayers());
for (int i=0; i < list.size(); i++) {
MenuComponent mc = new MenuComponent();
Permission mi=(Permission)list.get(i);
String name = mi.getName();
mc.setName(name);
String parent =mi.getParentname();
if (parent != null) {
MenuComponent parentMenu = repository1.getMenu(parent);
if (parentMenu == null) {
parentMenu = new MenuComponent();
parentMenu.setName(parent);
repository1.addMenu(parentMenu);
}
mc.setParent(parentMenu);
}
String title =mi.getTitle();
mc.setTarget("top");
mc.setTitle(title);
String location =mi.getLocation();
mc.setLocation(location);
repository1.addMenu(mc);
}
setRepository(repository1);
forward= "success";

这里设置了 mc.setTarget("left");

对应的主页面 main.jsp
<frameset rows="63px,*" framespacing="0" frameborder="0" >
<frame src="manage_top.jsp" name="top" frameborder="0" scrolling="no" noresize="noresize" marginheight="0" marginwidth="0" />
<frameset cols="172px,*" framespacing="0" frameborder="0" id="ContentFrameset">
<frame name="left" src="manage_left.jsp" style="height:100%" frameborder="0" scrolling="no" noresize="noresize" marginheight="0" marginwidth="0" /> <frame name="MainContent" src="manage_welcome.html" scrolling="auto" frameborder="0" noresize="noresize" marginheight="0" marginwidth="0" />
</frameset>
</frameset>
<noframes></noframes>

而我要把树显示在 manage_left.jsp 代码 如下

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib uri="/WEB-INF/struts-menu.tld" prefix="menu"%>
<%@ taglib uri="/WEB-INF/struts-menu-el.tld" prefix="menu-el"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
pageContext.setAttribute("basePath", basePath);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>无标题文档</title>
<link rel="stylesheet" type="text/css" media="all" href="<c:url value="${basePath}/styles/menuExpandable.css"/>" />
<script type="text/javascript" src="<c:url value="${basePath}/scripts/menuExpandable.js"/>"></script>
</head>
<body>
<menu:useMenuDisplayer name="ListMenu" permissions="examplesPermession" bundle="examplesBundle" repository="repository">
<menu:displayMenu name="系统管理"/>
</menu:useMenuDisplayer>
</body>
</html>

异常信息: 找不到 menu repository

javax.servlet.jsp.JspException: The menu repository could not be found.


我想问到底 mc.setTarget("left"); 怎么写才是正确的???

action forward+=" "是跳到 main.jsp 还是 manage_left.jsp ???????


非常的谢谢大家!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...全文
118 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧