Yes, it works. But still some problems, such as variable is unsupported, till 
now, I only need static menu link, So it's okay to me. By the way, I did this 
in Appfuse. 
在2007-06-26,"Matt Raible" <[EMAIL PROTECTED]> 写道:
Does this work? On 6/22/07, david <[EMAIL PROTECTED]> wrote: > Hi, > > I've try 
out a simple version. I put the menu repository to application > context with 
key "struts-menu-repository", as velocity treats '.' as method > or field 
access, so key like "struts.menu.repository" doesn't work. And I > also put a 
permission adapter "permission-adapter" to request context. $msg > and $link 
are velocity struts tools. > > The menu.vm file: > 
-------------------------------------------------------- > > #macro(setURL 
$menuItem) > #if($menuItem.components.size() > 0) > #foreach($subMenuItem in 
$menuItem.components) > #setURL($subMenuItem) > #end > #end > 
#if(!$menuItem.url) > #if($menuItem.page) > > 
$menuItem.setUrl($link.setRelative($menuItem.page).toString()) > #else > 
#if($menuItem.forward) > > 
$menuItem.setUrl($link.setForward($menuItem.forward).toString()) > #else > 
#if($menuItem.action) > > 
$menuItem.setUrl($link.setAction($menuItem.action).toString()) > #else > 
#if($menuItem.location) > $menuItem.setUrl($menuItem.location) > #else > 
#if($menuItem.components.size>0) > 
$menuItem.setUrl($menuItem.components.get(0).url) #end > #end > #end > #end > 
#end > #end > #end > > #macro(displayMenu $menuItem $currentMenu) > #set 
($title = $msg.get($menuItem.title)) > #setURL($menuItem) > #set ($hasSub = 
$menuItem.components.size() > 0) > <li #if($hasSub)class="menubar" #end><a 
href="$!{menuItem.url}" > 
title="$title"#if($menuItem.target)target="$menuItem.target"#end > 
#if($menuItem.name.equals($currentMenu))class="current"#end>${title}</a> > #if 
($hasSub) > <ul class="submenu"> > #foreach($subMenuItem in 
$menuItem.components) > #displayMenu($subMenuItem $currentMenu) > #end > </ul> 
> #end > </li> > #end > > <ul id="primary-nav" class="menuList"> > 
#set($menu-keys = > ["MainMenu","UserMenu","FileUpload","AdminMenu","Logout"]) 
> #foreach($menu-key in $menu-keys) > #set($menu = 
$struts-menu-repository.getMenu($menu-key)) > #if 
($permission-adapter.isAllowed($menu)) > #displayMenu($menu $currentMenu) ##set 
current menu in your page > #end > #end > </ul> > > 
----------------------------------------- > > David > > > 在2007-06-17,"Matt 
Raible" <[EMAIL PROTECTED]> 写道: > > The Menu Repository is stuffed into the 
ServletContext by Struts Menu, > so you should be able to grab it out and 
iterate through it. I've > never tried it, but I've heard of others doing this. 
> > You might also look at FreeMarker which is similar to Velocity and > allows 
JSP Tags. If you end up developing macros to render the menus, > let me know - 
I'd love to have this type of feature in Struts Menu. > > Matt > > On 6/17/07, 
david <[EMAIL PROTECTED]> wrote: > > Hi All, > > > > I am new to struts-menu, I 
have a web site with velocity for view layer. > Now > > I want to add 
struts-menu to it, can I use velocity but not JSP as > > struts-menu's page 
presentation? > > > > Thanks and regards, > > > > David > > > > > > > > 
________________________________ > 150 万 人 同 时 在 玩 的 网 游,你 不 试 试 吗 ? > 
------------------------------------------------------------------------- > 
This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the 
FREE version of DB2 express and take > control of your XML. No limits. Just 
data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > 
_______________________________________________ > struts-menu-user mailing list 
> [email protected] > 
https://lists.sourceforge.net/lists/listinfo/struts-menu-user > > -- 
http://raibledesigns.com 
------------------------------------------------------------------------- This 
SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE 
version of DB2 express and take control of your XML. No limits. Just data. 
Click to get it now. http://sourceforge.net/powerbar/db2/ 
_______________________________________________ struts-menu-user mailing list 
[email protected] 
https://lists.sourceforge.net/lists/listinfo/struts-menu-user
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
struts-menu-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/struts-menu-user

Reply via email to