You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@click.apache.org by dian <di...@gmail.com> on 2009/07/05 05:49:24 UTC

Sub menu

Hello all, 

I create menu in menu.xml. this is my menu.xml:


========================================================================
<?xml version="1.0" encoding="UTF-8"?>
<menu>
    <menu label="Home" path="user/home.htm" />
    
    <menu label="Intro" path="">
    	<menu label="Control Listener" path="intro/control-listener.htm"/>
    	<menu label="Simple Table" path="intro/simple-table.htm"/>
    	<menu label="Advanced Table" path="intro/advanced-table.htm"/>
    	<menu label="Simple Form" path="intro/simple-form.htm"/>
    	<menu label="Advanced Form" path="intro/advanced-form.htm"/>
    </menu>
    
    <menu label="Controls" path="">
    	<menu label="Action Demo" path="control/action-demo.htm"/>
    	<menu label="Check List" path="control/check-list-demo.htm"/>
    	<menu label="Control-1">
	    	<menu label="Action Demo" path="control/action-demox.htm"/>
	    	<menu label="Check List" path="control/check-list-demox.htm"/>
    	</menu>
    </menu>
    
    <menu label="User" path="user/home.htm" >
        <menu label="User Page 1" path="user/user-1.htm" />
        <menu label="User Page 2" path="user/user-2.htm" />
    </menu>
    
    <menu label="Admin" path="admin/admin-1.htm" >
        <menu label="Admin Page 1" path="admin/admin-1.htm" />
        <menu label="Admin Page 2" path="admin/admin-2.htm" />
    </menu>
    
 </menu> 

==========================================================


I create sub menu control-1 in sub menu control , but when I run my web menu
still only view sub menu control, sub menu control-1 can't display

how to display that sub menu?


-- 
View this message in context: http://n2.nabble.com/Sub-menu-tp3207667p3207667.html
Sent from the click-user mailing list archive at Nabble.com.

Re: Sub menu

Posted by dian ruzda <di...@gmail.com>.
ok, it's great . this is that I want...


thx


On Sun, Jul 5, 2009 at 12:56 PM, Bob Schellink <sa...@gmail.com> wrote:

> Hi Dian,
>
> dian wrote:
>
>>
>> I create sub menu control-1 in sub menu control , but when I run my web
>> menu
>> still only view sub menu control, sub menu control-1 can't display
>>
>> how to display that sub menu?
>>
>
>
> Click's Menu control is a two-level menu. So there is a root menu and its
> children. If you want to nest it further to a three or four level menu you
> need to adapt the Velocity macro.vm and menu.css.
>
> Alternatively you can use the Menu[1][2] from ClickClick (see the first
> screenshot[3]) which supports up to four nested levels. It also supports
> rendering both vertical and horizontal menus. Note that this menu does not
> work with menu.xml, you need to define the menu's programmatically. See this
> example[4].
>
> Hope this helps.
>
> kind regards
>
> bob
>
> [1]:
> http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core/src/net/sf/clickclick/control/menu
> [2]:
> http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core/src/META-INF/web/clickclick/core/menu
> [3]:http://code.google.com/p/clickclick/
> [4]:
> http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core-examples/src/net/sf/clickclick/examples/nav/MenuBuilder.java
>

Re: Sub menu

Posted by Malcolm Edgar <ma...@gmail.com>.
I have checked in some Menu code checks and Javadoc to help users with
this issue in the future.

regards Malcolm Edgar

On Wed, Jul 8, 2009 at 3:54 PM, dian<di...@gmail.com> wrote:
>
> ok, it work
>
> thx malcolm
>
>
>
> Malcolm Edgar-2 wrote:
>>
>> Hi Dian,
>>
>> You will need set an access controller on the menu item:
>>
>> AccessController accessController = new RoleAccessController();
>>
>> ..
>> Menu menu = new Menu();
>> menu.setAccessController(accessController);
>>
>> regards Malcolm Edgar
>>
>> On Wed, Jul 8, 2009 at 11:50 AM, dian<di...@gmail.com> wrote:
>>>
>>> when I use click-2.1.0-RC1-incubating.jar &
>>> click-extras-2.1.0-RC1-incubating.jar, I have problem with my menu. Menu
>>> was
>>> created by code. this is my code:
>>>
>>> =========================================================
>>>
>>>        public void onInit()
>>>        {
>>>                mnSrv = (MenuDao) context.getBean("menuDao");
>>>
>>>                makeMenu(mn, 0);
>>>        }
>>>
>>>        private void makeMenu(Menu parent, Integer parentId)
>>>        {
>>>                List<com.dian.entity.Menu> mnList =
>>> mnSrv.getListByParentId(parentId);
>>>                Menu menu;
>>>
>>>                for(com.dian.entity.Menu men : mnList)
>>>                {
>>>                        menu = new Menu();
>>>                        menu.setLabel(men.getLabel());
>>>                        menu.setTitle(men.getLabel());
>>>                        menu.setPath(men.getPath());
>>>                        List data = new Vector();
>>>
>>>                        data.add(men.getRoles());
>>>
>>>                        menu.setRoles(data);
>>>
>>>                        parent.getChildren().add(menu);
>>>
>>>                        //msg += "<br> " + men.getLabel();
>>>
>>>                        makeMenu(menu, men.getMenuId());
>>>                }
>>>        }
>>>
>>>
>>> =========================================================
>>>
>>> if I using click-2.0.1-incubating.jar it can work normally, but when I
>>> use
>>> click v.2.1.0 RC 1 found error like this:
>>>
>>>
>>>
>>> ***********************************************************************
>>>
>>> Class   java.lang.NullPointerException
>>> Message null
>>>
>>> 594: * This method internally uses the <tt>HttpServletRequest</tt>
>>> function
>>> <tt>isUserInRole(rolename)</tt>,
>>> 595: * where the rolenames are derived from the {@link #getRoles()}
>>> property.
>>> 596: *
>>> 597: * @return true if the user is in one of the menu roles, or false
>>> otherwise
>>> 598: */
>>> 599: public boolean isUserInRoles() {
>>> 600: HttpServletRequest request = getContext().getRequest();
>>> 601:
>>> 602: for (int i = 0, size = getRoles().size(); i < size; i++) {
>>> 603: String rolename = (String) getRoles().get(i);
>>> 604: if (getAccessController().hasAccess(request, rolename)) {
>>> 605: return true;
>>> 606: }
>>> 607: }
>>> 608:
>>> 609: return false;
>>> 610: }
>>> 611:
>>> 612: /**
>>> 613: * Return true if any child menus have the user in one of their menu
>>> roles.
>>> 614: * Otherwise the method will return false.
>>>
>>> java.lang.NullPointerException
>>>        at
>>> org.apache.click.extras.control.Menu.isUserInRoles(Menu.java:604)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>        at java.lang.reflect.Method.invoke(Unknown Source)
>>>        at
>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
>>>        at
>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:460)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTOrNode.evaluate(ASTOrNode.java:98)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>>>        at
>>> org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:366)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>>>        at
>>> org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:212)
>>>        at
>>> org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:247)
>>>        at
>>> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
>>>        at
>>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>>>        at org.apache.velocity.Template.merge(Template.java:328)
>>>        at org.apache.velocity.Template.merge(Template.java:235)
>>>        at
>>> org.apache.click.service.VelocityTemplateService.renderTemplate(VelocityTemplateService.java:317)
>>>        at
>>> org.apache.click.ClickServlet.renderTemplate(ClickServlet.java:785)
>>>        at
>>> org.apache.click.ClickServlet.performRender(ClickServlet.java:744)
>>>        at
>>> org.apache.click.ClickServlet.processPage(ClickServlet.java:517)
>>>        at
>>> org.apache.click.ClickServlet.handleRequest(ClickServlet.java:338)
>>>        at org.apache.click.ClickServlet.doGet(ClickServlet.java:257)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>>>        at
>>> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>>>        at
>>> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>>>        at
>>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>>        at
>>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>>        at
>>> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
>>>        at
>>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
>>>        at
>>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>        at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>        at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>        at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>>        at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>        at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>        at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>>>        at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>>>        at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>>        at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>>>        at java.lang.Thread.run(Unknown Source)
>>>
>>> ***************************************************************************************
>>>
>>> what is the problem in my code ?
>>>
>>>
>>>
>>>
>>> sabob wrote:
>>>>
>>>> dian wrote:
>>>>> thx for your reply, I was try code in clickclick project. FlexiMenu can
>>>>> create menu base programatically, but I have problem when I use
>>>>> HORIZONTAL
>>>>> oriented.
>>>>>
>>>>> this is display my menu with HORIZONTAL oriented :
>>>>>
>>>>> http://www.geocities.com/abionale/images/menu_layout.JPG
>>>>>
>>>>> it should be display horizontal,
>>>>
>>>>
>>>> The menus look a little cramped :)
>>>>
>>>> For some reason the horizontal-menu.css specified a width of 500px. If
>>>> you
>>>> remove that rule or specify a bigger value, the menus will expand.
>>>>
>>>> I've also updated the stylesheet and removed the width rule.
>>>>
>>>> Thanks
>>>>
>>>> bob
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Sub-menu-tp3207667p3223002.html
>>> Sent from the click-user mailing list archive at Nabble.com.
>>>
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Sub-menu-tp3207667p3223897.html
> Sent from the click-user mailing list archive at Nabble.com.
>

Re: Sub menu

Posted by dian <di...@gmail.com>.
ok, it work

thx malcolm



Malcolm Edgar-2 wrote:
> 
> Hi Dian,
> 
> You will need set an access controller on the menu item:
> 
> AccessController accessController = new RoleAccessController();
> 
> ..
> Menu menu = new Menu();
> menu.setAccessController(accessController);
> 
> regards Malcolm Edgar
> 
> On Wed, Jul 8, 2009 at 11:50 AM, dian<di...@gmail.com> wrote:
>>
>> when I use click-2.1.0-RC1-incubating.jar &
>> click-extras-2.1.0-RC1-incubating.jar, I have problem with my menu. Menu
>> was
>> created by code. this is my code:
>>
>> =========================================================
>>
>>        public void onInit()
>>        {
>>                mnSrv = (MenuDao) context.getBean("menuDao");
>>
>>                makeMenu(mn, 0);
>>        }
>>
>>        private void makeMenu(Menu parent, Integer parentId)
>>        {
>>                List<com.dian.entity.Menu> mnList =
>> mnSrv.getListByParentId(parentId);
>>                Menu menu;
>>
>>                for(com.dian.entity.Menu men : mnList)
>>                {
>>                        menu = new Menu();
>>                        menu.setLabel(men.getLabel());
>>                        menu.setTitle(men.getLabel());
>>                        menu.setPath(men.getPath());
>>                        List data = new Vector();
>>
>>                        data.add(men.getRoles());
>>
>>                        menu.setRoles(data);
>>
>>                        parent.getChildren().add(menu);
>>
>>                        //msg += "<br> " + men.getLabel();
>>
>>                        makeMenu(menu, men.getMenuId());
>>                }
>>        }
>>
>>
>> =========================================================
>>
>> if I using click-2.0.1-incubating.jar it can work normally, but when I
>> use
>> click v.2.1.0 RC 1 found error like this:
>>
>>
>>
>> ***********************************************************************
>>
>> Class   java.lang.NullPointerException
>> Message null
>>
>> 594: * This method internally uses the <tt>HttpServletRequest</tt>
>> function
>> <tt>isUserInRole(rolename)</tt>,
>> 595: * where the rolenames are derived from the {@link #getRoles()}
>> property.
>> 596: *
>> 597: * @return true if the user is in one of the menu roles, or false
>> otherwise
>> 598: */
>> 599: public boolean isUserInRoles() {
>> 600: HttpServletRequest request = getContext().getRequest();
>> 601:
>> 602: for (int i = 0, size = getRoles().size(); i < size; i++) {
>> 603: String rolename = (String) getRoles().get(i);
>> 604: if (getAccessController().hasAccess(request, rolename)) {
>> 605: return true;
>> 606: }
>> 607: }
>> 608:
>> 609: return false;
>> 610: }
>> 611:
>> 612: /**
>> 613: * Return true if any child menus have the user in one of their menu
>> roles.
>> 614: * Otherwise the method will return false.
>>
>> java.lang.NullPointerException
>>        at
>> org.apache.click.extras.control.Menu.isUserInRoles(Menu.java:604)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>        at java.lang.reflect.Method.invoke(Unknown Source)
>>        at
>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
>>        at
>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:460)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTOrNode.evaluate(ASTOrNode.java:98)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>>        at
>> org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:366)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>>        at
>> org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:212)
>>        at
>> org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:247)
>>        at
>> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
>>        at
>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>>        at org.apache.velocity.Template.merge(Template.java:328)
>>        at org.apache.velocity.Template.merge(Template.java:235)
>>        at
>> org.apache.click.service.VelocityTemplateService.renderTemplate(VelocityTemplateService.java:317)
>>        at
>> org.apache.click.ClickServlet.renderTemplate(ClickServlet.java:785)
>>        at
>> org.apache.click.ClickServlet.performRender(ClickServlet.java:744)
>>        at
>> org.apache.click.ClickServlet.processPage(ClickServlet.java:517)
>>        at
>> org.apache.click.ClickServlet.handleRequest(ClickServlet.java:338)
>>        at org.apache.click.ClickServlet.doGet(ClickServlet.java:257)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>>        at
>> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>>        at
>> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>>        at
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>>        at
>> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>>        at
>> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
>>        at
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
>>        at
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>        at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>        at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>        at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>        at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>        at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>        at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>>        at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>>        at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>        at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> ***************************************************************************************
>>
>> what is the problem in my code ?
>>
>>
>>
>>
>> sabob wrote:
>>>
>>> dian wrote:
>>>> thx for your reply, I was try code in clickclick project. FlexiMenu can
>>>> create menu base programatically, but I have problem when I use
>>>> HORIZONTAL
>>>> oriented.
>>>>
>>>> this is display my menu with HORIZONTAL oriented :
>>>>
>>>> http://www.geocities.com/abionale/images/menu_layout.JPG
>>>>
>>>> it should be display horizontal,
>>>
>>>
>>> The menus look a little cramped :)
>>>
>>> For some reason the horizontal-menu.css specified a width of 500px. If
>>> you
>>> remove that rule or specify a bigger value, the menus will expand.
>>>
>>> I've also updated the stylesheet and removed the width rule.
>>>
>>> Thanks
>>>
>>> bob
>>>
>>>
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/Sub-menu-tp3207667p3223002.html
>> Sent from the click-user mailing list archive at Nabble.com.
>>
> 
> 

-- 
View this message in context: http://n2.nabble.com/Sub-menu-tp3207667p3223897.html
Sent from the click-user mailing list archive at Nabble.com.

Re: Sub menu

Posted by Malcolm Edgar <ma...@gmail.com>.
Hi Dian,

You will need set an access controller on the menu item:

AccessController accessController = new RoleAccessController();

..
Menu menu = new Menu();
menu.setAccessController(accessController);

regards Malcolm Edgar

On Wed, Jul 8, 2009 at 11:50 AM, dian<di...@gmail.com> wrote:
>
> when I use click-2.1.0-RC1-incubating.jar &
> click-extras-2.1.0-RC1-incubating.jar, I have problem with my menu. Menu was
> created by code. this is my code:
>
> =========================================================
>
>        public void onInit()
>        {
>                mnSrv = (MenuDao) context.getBean("menuDao");
>
>                makeMenu(mn, 0);
>        }
>
>        private void makeMenu(Menu parent, Integer parentId)
>        {
>                List<com.dian.entity.Menu> mnList = mnSrv.getListByParentId(parentId);
>                Menu menu;
>
>                for(com.dian.entity.Menu men : mnList)
>                {
>                        menu = new Menu();
>                        menu.setLabel(men.getLabel());
>                        menu.setTitle(men.getLabel());
>                        menu.setPath(men.getPath());
>                        List data = new Vector();
>
>                        data.add(men.getRoles());
>
>                        menu.setRoles(data);
>
>                        parent.getChildren().add(menu);
>
>                        //msg += "<br> " + men.getLabel();
>
>                        makeMenu(menu, men.getMenuId());
>                }
>        }
>
>
> =========================================================
>
> if I using click-2.0.1-incubating.jar it can work normally, but when I use
> click v.2.1.0 RC 1 found error like this:
>
>
>
> ***********************************************************************
>
> Class   java.lang.NullPointerException
> Message null
>
> 594: * This method internally uses the <tt>HttpServletRequest</tt> function
> <tt>isUserInRole(rolename)</tt>,
> 595: * where the rolenames are derived from the {@link #getRoles()}
> property.
> 596: *
> 597: * @return true if the user is in one of the menu roles, or false
> otherwise
> 598: */
> 599: public boolean isUserInRoles() {
> 600: HttpServletRequest request = getContext().getRequest();
> 601:
> 602: for (int i = 0, size = getRoles().size(); i < size; i++) {
> 603: String rolename = (String) getRoles().get(i);
> 604: if (getAccessController().hasAccess(request, rolename)) {
> 605: return true;
> 606: }
> 607: }
> 608:
> 609: return false;
> 610: }
> 611:
> 612: /**
> 613: * Return true if any child menus have the user in one of their menu
> roles.
> 614: * Otherwise the method will return false.
>
> java.lang.NullPointerException
>        at org.apache.click.extras.control.Menu.isUserInRoles(Menu.java:604)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>        at java.lang.reflect.Method.invoke(Unknown Source)
>        at
> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
>        at
> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
>        at
> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
>        at
> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
>        at
> org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:460)
>        at
> org.apache.velocity.runtime.parser.node.ASTOrNode.evaluate(ASTOrNode.java:98)
>        at
> org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
>        at
> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
>        at
> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>        at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:366)
>        at
> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
>        at
> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>        at
> org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:212)
>        at
> org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:247)
>        at
> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
>        at
> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>        at org.apache.velocity.Template.merge(Template.java:328)
>        at org.apache.velocity.Template.merge(Template.java:235)
>        at
> org.apache.click.service.VelocityTemplateService.renderTemplate(VelocityTemplateService.java:317)
>        at org.apache.click.ClickServlet.renderTemplate(ClickServlet.java:785)
>        at org.apache.click.ClickServlet.performRender(ClickServlet.java:744)
>        at org.apache.click.ClickServlet.processPage(ClickServlet.java:517)
>        at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:338)
>        at org.apache.click.ClickServlet.doGet(ClickServlet.java:257)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>        at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>        at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>        at
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
>        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
>        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>        at java.lang.Thread.run(Unknown Source)
>
> ***************************************************************************************
>
> what is the problem in my code ?
>
>
>
>
> sabob wrote:
>>
>> dian wrote:
>>> thx for your reply, I was try code in clickclick project. FlexiMenu can
>>> create menu base programatically, but I have problem when I use
>>> HORIZONTAL
>>> oriented.
>>>
>>> this is display my menu with HORIZONTAL oriented :
>>>
>>> http://www.geocities.com/abionale/images/menu_layout.JPG
>>>
>>> it should be display horizontal,
>>
>>
>> The menus look a little cramped :)
>>
>> For some reason the horizontal-menu.css specified a width of 500px. If you
>> remove that rule or specify a bigger value, the menus will expand.
>>
>> I've also updated the stylesheet and removed the width rule.
>>
>> Thanks
>>
>> bob
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Sub-menu-tp3207667p3223002.html
> Sent from the click-user mailing list archive at Nabble.com.
>

Re: Sub menu

Posted by dian <di...@gmail.com>.
when I use click-2.1.0-RC1-incubating.jar &
click-extras-2.1.0-RC1-incubating.jar, I have problem with my menu. Menu was
created by code. this is my code:

=========================================================

	public void onInit()
	{
		mnSrv = (MenuDao) context.getBean("menuDao");
		
		makeMenu(mn, 0);
	}
	
	private void makeMenu(Menu parent, Integer parentId)
	{
		List<com.dian.entity.Menu> mnList = mnSrv.getListByParentId(parentId);
		Menu menu;
		
		for(com.dian.entity.Menu men : mnList)
		{
			menu = new Menu();
			menu.setLabel(men.getLabel());
			menu.setTitle(men.getLabel());
			menu.setPath(men.getPath());
			List data = new Vector();
			
			data.add(men.getRoles());
						
			menu.setRoles(data);
			
			parent.getChildren().add(menu);
			
			//msg += "<br> " + men.getLabel();
			
			makeMenu(menu, men.getMenuId());
		}
	}


=========================================================

if I using click-2.0.1-incubating.jar it can work normally, but when I use
click v.2.1.0 RC 1 found error like this:



***********************************************************************

Class	java.lang.NullPointerException
Message	null

594: * This method internally uses the <tt>HttpServletRequest</tt> function
<tt>isUserInRole(rolename)</tt>,
595: * where the rolenames are derived from the {@link #getRoles()}
property.
596: *
597: * @return true if the user is in one of the menu roles, or false
otherwise
598: */
599: public boolean isUserInRoles() {
600: HttpServletRequest request = getContext().getRequest();
601:
602: for (int i = 0, size = getRoles().size(); i < size; i++) {
603: String rolename = (String) getRoles().get(i);
604: if (getAccessController().hasAccess(request, rolename)) {
605: return true;
606: }
607: }
608:
609: return false;
610: }
611:
612: /**
613: * Return true if any child menus have the user in one of their menu
roles.
614: * Otherwise the method will return false.

java.lang.NullPointerException
	at org.apache.click.extras.control.Menu.isUserInRoles(Menu.java:604)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
	at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
	at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
	at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
	at
org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:460)
	at
org.apache.velocity.runtime.parser.node.ASTOrNode.evaluate(ASTOrNode.java:98)
	at
org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
	at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
	at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
	at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:366)
	at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
	at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
	at
org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:212)
	at
org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:247)
	at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
	at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
	at org.apache.velocity.Template.merge(Template.java:328)
	at org.apache.velocity.Template.merge(Template.java:235)
	at
org.apache.click.service.VelocityTemplateService.renderTemplate(VelocityTemplateService.java:317)
	at org.apache.click.ClickServlet.renderTemplate(ClickServlet.java:785)
	at org.apache.click.ClickServlet.performRender(ClickServlet.java:744)
	at org.apache.click.ClickServlet.processPage(ClickServlet.java:517)
	at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:338)
	at org.apache.click.ClickServlet.doGet(ClickServlet.java:257)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
	at
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	at
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
	at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
	at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
	at
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
	at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
	at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Unknown Source)

***************************************************************************************

what is the problem in my code ?




sabob wrote:
> 
> dian wrote:
>> thx for your reply, I was try code in clickclick project. FlexiMenu can
>> create menu base programatically, but I have problem when I use
>> HORIZONTAL
>> oriented.
>> 
>> this is display my menu with HORIZONTAL oriented :
>> 
>> http://www.geocities.com/abionale/images/menu_layout.JPG
>> 
>> it should be display horizontal,
> 
> 
> The menus look a little cramped :)
> 
> For some reason the horizontal-menu.css specified a width of 500px. If you 
> remove that rule or specify a bigger value, the menus will expand.
> 
> I've also updated the stylesheet and removed the width rule.
> 
> Thanks
> 
> bob
> 
> 

-- 
View this message in context: http://n2.nabble.com/Sub-menu-tp3207667p3223002.html
Sent from the click-user mailing list archive at Nabble.com.

Re: Sub menu

Posted by Bob Schellink <sa...@gmail.com>.
dian wrote:
> thx for your reply, I was try code in clickclick project. FlexiMenu can
> create menu base programatically, but I have problem when I use HORIZONTAL
> oriented.
> 
> this is display my menu with HORIZONTAL oriented :
> 
> http://www.geocities.com/abionale/images/menu_layout.JPG
> 
> it should be display horizontal,


The menus look a little cramped :)

For some reason the horizontal-menu.css specified a width of 500px. If you 
remove that rule or specify a bigger value, the menus will expand.

I've also updated the stylesheet and removed the width rule.

Thanks

bob

Re: Sub menu

Posted by dian <di...@gmail.com>.
thx for your reply, I was try code in clickclick project. FlexiMenu can
create menu base programatically, but I have problem when I use HORIZONTAL
oriented.

this is display my menu with HORIZONTAL oriented :

http://www.geocities.com/abionale/images/menu_layout.JPG

it should be display horizontal,

menu was created by MenuBuilder.java on clickclick project.

any wrong in my code??

On Mon, Jul 6, 2009 at 11:43 AM, sabob (via Nabble) <
ml-user+378-35183719@n2.nabble.com <ml...@n2.nabble.com>>wrote:

> Hi Dian,
>
> dian wrote:
> >
> > I create sub menu control-1 in sub menu control , but when I run my web
> menu
> > still only view sub menu control, sub menu control-1 can't display
> >
> > how to display that sub menu?
>
>
> Click's Menu control is a two-level menu. So there is a root menu and its
> children. If you want to
> nest it further to a three or four level menu you need to adapt the
> Velocity macro.vm and menu.css.
>
> Alternatively you can use the Menu[1][2] from ClickClick (see the first
> screenshot[3]) which
> supports up to four nested levels. It also supports rendering both vertical
> and horizontal menus.
> Note that this menu does not work with menu.xml, you need to define the
> menu's programmatically. See
> this example[4].
>
> Hope this helps.
>
> kind regards
>
> bob
>
> [1]:
> http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core/src/net/sf/clickclick/control/menu
> [2]:
> http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core/src/META-INF/web/clickclick/core/menu
> [3]:http://code.google.com/p/clickclick/
> [4]:
> http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core-examples/src/net/sf/clickclick/examples/nav/MenuBuilder.java
>
>
> ------------------------------
>  View message @ http://n2.nabble.com/Sub-menu-tp3207667p3209972.html
> To unsubscribe from Sub menu, click here< (link removed) =>.
>
>
>

-- 
View this message in context: http://n2.nabble.com/Sub-menu-tp3207667p3217759.html
Sent from the click-user mailing list archive at Nabble.com.

Re: Sub menu

Posted by Bob Schellink <sa...@gmail.com>.
Hi Dian,

dian wrote:
> 
> I create sub menu control-1 in sub menu control , but when I run my web menu
> still only view sub menu control, sub menu control-1 can't display
> 
> how to display that sub menu?


Click's Menu control is a two-level menu. So there is a root menu and its children. If you want to 
nest it further to a three or four level menu you need to adapt the Velocity macro.vm and menu.css.

Alternatively you can use the Menu[1][2] from ClickClick (see the first screenshot[3]) which 
supports up to four nested levels. It also supports rendering both vertical and horizontal menus. 
Note that this menu does not work with menu.xml, you need to define the menu's programmatically. See 
this example[4].

Hope this helps.

kind regards

bob

[1]:http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core/src/net/sf/clickclick/control/menu
[2]:http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core/src/META-INF/web/clickclick/core/menu
[3]:http://code.google.com/p/clickclick/
[4]:http://code.google.com/p/clickclick/source/browse/trunk/clickclick/core-examples/src/net/sf/clickclick/examples/nav/MenuBuilder.java