Quanto ao problema no firefox, a causa não é spring não (duvido que seja). A causa é o javascript.
O javascript usado para controlar o foco é bugado. Estou debuggando para tentar fazer um patch.
O javascript: http://www.sergioveloso.com.br/dfjugJedi/js/autoTab.js
EDIT: Bem, há algo errado com o spring também, mas trata-se de outra coisa: Na linha 60 da classe QuestionarioValidadorCadastro, no método validate, está sendo passado null para o método Pattern.matcher. Acho que está faltando algum if para evitar isso ou algo assim.
[code]<html><head><title>Apache Tomcat/5.5.12 - Error report</title><style><!–H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}–></style> </head><body><h1>HTTP Status 500 - </h1><HR size=“1” noshade=“noshade”>
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception <pre>org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:488)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
</pre>
root cause <pre>java.lang.NullPointerException
java.util.regex.Matcher.getTextLength(Matcher.java:1127)
java.util.regex.Matcher.reset(Matcher.java:284)
java.util.regex.Matcher.<init>(Matcher.java:205)
java.util.regex.Pattern.matcher(Pattern.java:879)
jedi.service.QuestionarioValidadorCadastro.validate(QuestionarioValidadorCadastro.java:60)
org.springframework.validation.ValidationUtils.invokeValidator(ValidationUtils.java:63)
jedi.web.QuestionarioFeedbackWizardController.onBindAndValidate(QuestionarioFeedbackWizardController.java:136)
org.springframework.web.servlet.mvc.AbstractWizardFormController.onBindAndValidate(AbstractWizardFormController.java:229)
org.springframework.web.servlet.mvc.BaseCommandController.bindAndValidate(BaseCommandController.java:376)
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:263)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:859)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:793)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
</pre>
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.
<HR size=“1” noshade=“noshade”><h3>Apache Tomcat/5.5.12</h3></body></html>[/code]
Mais tarde EDIT:
Achei vários problemas na sua página.
Por favor, nunca, jamais em hipótese nenhuma mande para o browser o header “Content-Type: text/html;charset=ISO-8859-1” em um documento começando com <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Esse link explica o porquê: Sending XHTML as text/html Considered Harmful.
Como se não bastasse, colocar <meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1” /> na página só piora as coisas.
No caso específico do microsucks internet exploder que é burro demais para entender XHTML, você simplesmente não envia o doctype para ele ou envia o do HTML 4.01 Strict. No caso dos demais, coloque “application/xhtml+xml” ao invés de “text/html”, inclusive no meta. Aliás, eu recomendo ir para o HTML 4.01 strict por causa da droga do IE e para evitar ter que ser obrigado a fazer coisas do tipo if (request.getHeader(“user-agent”).contains(“MSIE”)) { blablabla } no servidor.
Mas, se preferirem ficar no XHTML mesmo, vão ver que a página não é um XHTML válido. Afinal, um dos objetivos dele é de abolir tags que nunca deveriam ter existido tais como a <font> por exemplo, que é usada no html da página. Tanto o IE, quanto o firefox, quanto o safari, chrome ou qualquer outro rodam a página em quirks mode, ou seja, ela não é explicitamente válida em nenhum navegador, eles vão simplesmente ignorar o DOCTYPE.
Além disso layout feito com tabelas é coisa do século passado. TABLELESS!!!
Cuidado com o uso de tags vazias não terminadas como <br> por exemplo. No caso do XHTML é proibido usar <br>, deve-se usar <br />. Já no HTML 4 o recomendado é o oposto.
Entupir a página de é a coisa mais nojenta que já inventaram na html, por favor nunca faça isso em hipótese nenhuma!
Outra coisa, é altamente recomendado colocar tags <script> sempre no head.
Por sinal a html do formulário tá muito zoada. Aliás, esta é a causa dele não funcionar no firefox. Há elementos de formulário dentro de tags <label> não terminadas. No firefox, quando uma label é clicada, ele seta o foco para o elemento correspondente ao label. Como a label está zoada e há vários elementos dentro dela, ao clicar em qualquer coisa nela, ele vai setar o foco para o primeiro elemento da label. Na primeira página o item 9 inteiro está na label não terminada. Na segunda, terceira e quarta páginas, TUDO está dentro da label, o que é um verdadeiro abuso da html.
Ah, e quanto ao script autoTab, bem… Jogue ele fora, pois não serve para absolutamente nada!
MORAL DA HISTÓRIA: FAÇA UMA HTML DECENTE! :evil:
É VERGONHOSO QUE O JEDI, QUE DEVERIA ESPALHAR CONHECIMENTO E SER UM EXEMPLO A SER SEGUIDO, TENHA UMA PÁGINA DE PESQUISA ACADÊMICA TÃO PORCA! [Desculpe o excesso de sinceridade aqui, mas isso tá realmente muuuuuuito feio]
Ah, mais uma coisa. Porque que o campo cidade tem id=“endereco” e name=“endereco”?