jscookMenu do TomaHawk

Oi,

Eu estou quase um dia todo fazendo que os links do meu menu gerado pelo jscookMenu do TomaHawk funcione. Já não sei mais o que fazer. Alguem pode me dar uma luz?

OBS: O menu é criado, mas parece que os actions não funcionam.

Obrigado,
Claudio Escudero

O meu arquivo de faces-config.xml

<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

<faces-config>

	<navigation-rule>
		<from-view-id>*</from-view-id>
		
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/main.html</to-view-id>
			<redirect/>
		</navigation-case>

		<navigation-case>
			<from-outcome>go_primeiroNivel</from-outcome>
			<to-view-id>/primeiroNivel.jsf</to-view-id>
			<redirect/>
		</navigation-case>
		
		<navigation-case>
			<from-outcome>go_segundoNivel</from-outcome>
			<to-view-id>/segundoNivel.jsp</to-view-id>
			<redirect/>
		</navigation-case>
		
	</navigation-rule>

	<managed-bean>
		<managed-bean-name>usuario</managed-bean-name>
		<managed-bean-class>com.afc.model.Usuario</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	
</faces-config>

O meu arquivo de main.jsp

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>

<html>
<body>
<f:view>
	<h:form>
		<t:jscookMenu layout="hbr" theme="ThemeIE" >
			<t:navigationMenuItem itemLabel="Arquivo">
				<t:navigationMenuItem itemLabel="Serviço" action="go_primeiroNivel" icon="/imagens/icon.gif" />
				<t:navigationMenuItem itemLabel="Funcionário" action="go_segundoNivel" icon="/imagens/icon.gif" />
				<t:navigationMenuItem itemLabel="Alocar Funcionário" action="go_primeiroNivel" split="true" icon="/imagens/icon.gif" />
			</t:navigationMenuItem>
			<t:navigationMenuItem itemLabel="Ajuda" action="go_primeiroNivel"  />
		</t:jscookMenu>
	</h:form>
</f:view>
</body>
</html>

Olá,

tente colocar a tag o jscookMenu do lado de fora da tag form. Dessa forma:

<html>
 <body>
 <f:view>
      <t:jscookMenu layout="hbr" theme="ThemeIE" >
 		<t:navigationMenuItem itemLabel="Arquivo">
 			<t:navigationMenuItem itemLabel="Serviço" action="go_primeiroNivel" icon="/imagens/icon.gif" />
 			<t:navigationMenuItem itemLabel="Funcionário" action="go_segundoNivel" icon="/imagens/icon.gif" />
			<t:navigationMenuItem itemLabel="Alocar Funcionário" action="go_primeiroNivel" split="true" icon="/imagens/icon.gif" />
		</t:navigationMenuItem>
		<t:navigationMenuItem itemLabel="Ajuda" action="go_primeiroNivel"  />
	</t:jscookMenu>

 	<h:form>
 		
 	</h:form>
 </f:view>
 </body>
 </html>

inté,

Oi,
Acabei de testar aqui.
Mas não deu certo e ocorreu um outro problema com esse esquema.
O menu ficou meio q bagunçado e além de continuar não funcionando os links.

=/

Valeus

E aí cara, tudo bom?
Tenta fazer o seguinte, coloca este campo no mesmo form definido para o jscookmenu (de preferência logo acima do mesmo):

&lt;input type="hidden" name="jscook_action" /&gt;

Boa sorte
Abraços

Opa, Deu certo

Obrigadão pela ajuda de vc´s ai.

Funcionou, mais eu não sei pq ele funcionou dessa maneira e não como estava antes.

Estou enviando o codigo do arquivo JSP correto aqui para ver como que ficou caso alguem queira ver o resultado final.

 <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
 <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
 
 <html>
 <body>
 <f:view>
 	<h:form>
 		<input type="hidden" name="jscook_action" />
 		<t:jscookMenu layout="hbr" theme="ThemeIE" >
 			<t:navigationMenuItem itemLabel="Arquivo">
 				<t:navigationMenuItem itemLabel="Serviço" action="go_primeiroNivel" icon="/imagens/icon.gif" />
 				<t:navigationMenuItem itemLabel="Funcionário" action="go_segundoNivel" icon="/imagens/icon.gif" />
 				<t:navigationMenuItem itemLabel="Alocar Funcionário" action="go_primeiroNivel" split="true" icon="/imagens/icon.gif" />
 			</t:navigationMenuItem>
 			<t:navigationMenuItem itemLabel="Ajuda" action="go_primeiroNivel"  />
 		</t:jscookMenu>
 	</h:form>
 </f:view>
 </body>
 </html>

Valeuz

Cara, eu estava tendo o mesmo problema. Consultando a página wiki do menu, vi que ele indica a adição desse campo oculto (vulgo gambiarra) para as aplicações que usam o JSF 1.2. A minha não era a 1.2, então resolvi depurar o Javascript desse menu.
Depurando, vi que (auxilidade pleo console javascript do Mozilla) o código utilizava DOM para poder acessar este campo. Daí vi que era necessário ele estar definido, e deu certo!
Espero ter ajudado
abraços

Galera,
meu exemplo não funciona. O menu aparece com as opções, mas ao clicar em qualquer uma, nada acontece. O servidor não dispara a página correta. A própria página welcomeJSF.jsp é retornada.
Alguém poderia me ajudar?
Seguem abaixo os códigos…

Obrigado,
Jefferson

Meu JSP:

[code]<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>

<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@ taglib uri=“http://myfaces.apache.org/tomahawk” prefix=“t”%>

<f:view>



JSP Page


<h:form>

<h:outputText value=“JavaServer Faces” />

            <t:jscookMenu layout="hbr" theme="ThemeOffice">
                <t:navigationMenuItems id="navitems" value="#{dynamicMenu.navItems}" />
            </t:jscookMenu>

        </h:form>
    </body>
</html>

</f:view>[/code]

meu bean:

[code]public class DynamicMenu {
private ArrayList navItems;
protected static Logger logger = Logger.getLogger(DynamicMenu.class);

public DynamicMenu() {
    logger.info("DynamicMenu...");
    NavigationMenuItem[] subItems = new NavigationMenuItem[3];
    subItems[0] = new NavigationMenuItem("Manter usuários","manter_usuario");
    subItems[1] = new NavigationMenuItem("Gerar senha","gerar_senha");
    subItems[2] =  new NavigationMenuItem("Trocar Senha","trocar_senha");


    NavigationMenuItem itemWithChildren = getMenuNavigationItem("Admin", null);
    itemWithChildren.setNavigationMenuItems(subItems);

    navItems = new ArrayList();
    navItems.add(itemWithChildren);
}

public ArrayList getNavItems() {
    return navItems;
}

public void setNavItems(ArrayList navItems) {
    this.navItems = navItems;
}

[/code]

faces-config:

[code]<?xml version="1.0"?>

* manter_usuario /jsf-pages/ManterUsuarios.jsp gerar_senha /jsf-pages/GerarSenha.jsp trocar_senha /TrocarSenha.jsp dynamicMenu menu.DynamicMenu application [/code]