我也在尋求這個問題的答案。我正在開發在Glassfish內部運行的JavaEE6/JSF2 Web應用程序(第一個3.0.1和現在的3.1)。
基於FORM的登錄在Firefox3.x版本上工作正常,在Safari5.0.5上仍然正常工作,但在Firefox4.0.1和Google Chrome 12.0.742.91上「靜靜地失敗」。 (我在Mac OS X上並沒有檢查過IE。)
由於沒有提供診斷信息,所以很難提供診斷信息。
問:是否有任何其他日誌或診斷的可能來源,我可以在Firefox和/或Google Chrome上打開可能會導致此問題的燈光?
這是我的形式:
<form id="loginForm" method="POST" action="j_security_check">
<h:panelGrid columns="3" styleClass="login" columnClasses="login-label, login-field">
<h:outputLabel for="j_username">Username:</h:outputLabel>
<h:inputText id="j_username" required="true" />
<h:message for="j_username" />
<h:outputLabel for="j_password">Password:</h:outputLabel>
<h:inputSecret id="j_password" required="true" />
<h:message for="j_password" />
<h:outputLabel for="login_button"></h:outputLabel>
<h:commandButton id="login_button" value="Login" />
</h:panelGrid>
這類似於別處所示的例子中被聲稱是與Firefox 4兼容,諸如從這裏(尊重這裏不復製版權的條件下,請檢查外部鏈接,然後返回): enter link description here
該登錄表單聲稱與Mozilla Firefox 4,Internet Explorer 8,Chrome 11兼容。Safari 5,Opera 11.但我無法看到它與我自己完全不同。
那麼我剛剛測試了一個在http://javaevangelist.blogspot.com/2011/06/jsf-2x-facelets-form-based.html上討論過的,你可以從http://commondatastorage.googleapis.com下載。 /bluelotussoftware/code/jsf2-login.zip,它在Firefox4和Google Chrome 12中都可以爲我工作,但是我看不到他和我的區別是什麼(除了在名稱中使用name而不是id)形式,我在我的嘗試,並沒有工作)。 – 2011-06-13 20:08:42
好的,我發現我的問題;我使用的是具有外部h:形式的ui:組合模板;嵌套表單在Firefox4和Chrome12上失敗,但沒有其他瀏覽器。我將它固定爲製作一個沒有外部h:form的迷你模板,我可以安全地注入登錄表單。儘管這種情況不太可能適用於您的情況,但您可以檢查這一點以排除嵌套表單的可能性。 – 2011-06-13 20:32:36