我正在JSF(2.2)應用程序上工作。我看到一些奇怪的行爲與h:form和h:commandbutton一起工作。問題與h:表單 - 通過h提交時返回404:commandbutton
問題 -我在說searchRecord.xhtml下面的代碼 -
<h:form>
<!-- Input fields -->
<h:commandbutton type="submit" value="Search" title="Search" action="#{bean.search}"/>
</h:form>
的問題,我面對的是當我點擊提交按鈕,就說明不是URL指向當前發現的404頁頁。它沒有執行指定的bean操作。
我試圖調試這個。當表單被轉換爲HTML時,表單將通過method =「post」action =「/ MyApplication/WEB-INF/searchRecord.xhtml」(看起來是正確的行爲)生成。儘管如此,點擊按鈕,我越來越404。
任何人都可以請幫助我搞清楚是什麼問題?我浪費了我的週末計算出來,但徒勞無益。
編輯 - IDE - Eclipse的 JSF版本 - 鑽嘴魚科2.2.8我的項目 目錄結構 -
項目
- Java Resource
----src -> contains java files
- WebContent
---- META-INF
---- WEB-INF
------facelets -> contains *.xhtml files
------resources -> contains img, css and JS files in respective folders
------commonLayout.xhtml
- index.xhtml
我訪問使用launchHandler的servlet這驗證我的應用程序請求參數並轉發到searchRecord.xhtml。
我能夠看到searchRecord.xhtml。但現在當我點擊,我越來越404.
作爲一個標準,我們需要使用servlet,然後相應地轉發。
什麼是寫在你的bean.search方法? faces-config.xml中定義的導航規則是否正確? – AswathyPrasad
'type =「submit」'是多餘的......(如果我沒有記錯的話,它甚至可能會導致問題) – Kukeltje
*「這看起來是正確的行爲」*不,它不是。嘗試在瀏覽器的地址欄中輸入該網址。嘗試以這種方式訪問任何/ WEB-INF文件。包括web.xml。你會發現這是不可能的。並非沒有理由。 – BalusC