I know this post, and I double-checked all the features there.
I am using JSF 2.0 with a Mojarra implementation on Glassfish 3.
I am trying to use two simple <h:commandLink> to change the language of the application. This is the .xhtml page:
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head> <title> <h:outputText value = "#{appMessage['page.welcome']}" /> </title> <f:metadata> <f:event type = "preRenderView" listener = "#{sessionController.changeLanguage}" /> </f:metadata> </h:head> <h:body> <h1><h:outputText value = "#{appMessage['text.slide.welcome']}" /></h1> <h:form id = "fm-language"> <h:commandLink action = "#{sessionController.changeLanguage('en')}" value = "#{appMessage['link.english']}" /> <h:commandLink action = "#{sessionController.changeLanguage('de')}" value = "#{appMessage['link.german']}" /> </h:form> </h:body>
This is the HTML code:
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>The Maze Project</title> </head> <body> <h1>Welcome</h1> <form id="fm-language" name="fm-language" method="post" action="/maze/welcome.xhtml" enctype="application/x-www-form-urlencoded"> <input type="hidden" name="fm-language" value="fm-language" /> <script type="text/javascript" src="/maze/javax.faces.resource/jsf.js.xhtml?ln=javax.faces"> </script> <a href="#" onclick="mojarra.jsfcljs(document.getElementById('fm-language'),{'fm-language:j_idt13':'fm-language:j_idt13'},'');return false">English</a> <a href="#" onclick="mojarra.jsfcljs(document.getElementById('fm-language'),{'fm-language:j_idt15':'fm-language:j_idt15'},'');return false">Deutsch</a> <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="8038443616162706480:-1387069664590476821" autocomplete="off" /> </form> </body>
When you click the commandLink button, nothing happens. The server does not receive a request, and the following Java Script error occurs:
mojarra not defined
The bean methods call correctly and work fine in the rest of the application.
javascript undefined jsf mojarra commandlink
Ionut
source share