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
xgucax
Janeiro 3, 2007, 5:57pm
#4
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):
<input type="hidden" name="jscook_action" />
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
xgucax
Janeiro 3, 2007, 7:55pm
#6
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]