私はJSF(2.2)アプリケーションで作業しています。私はh:formとh:commandbuttonで動作するいくつかの奇妙な動作を見ている。h:formの問題 - h:commandbuttonを送信したときに404を返す
問題 - 私が言うsearchRecord.xhtmlのコードを次している -
<h:form>
<!-- Input fields -->
<h:commandbutton type="submit" value="Search" title="Search" action="#{bean.search}"/>
</h:form>
私は、送信ボタンをクリックしたときに私が直面しています問題があり、それが現在を指す404ページURLとは見られない示しページ。指定されたBeanアクションを実行していません。
これをデバッグしようとしました。フォームがHTMLに変換されると、フォームはmethod = "post" action = "/ MyApplication/WEB-INF/searchRecord.xhtml"(正しい動作と思われる)で生成されます。それでも、ボタンをクリックすると、私は404を取得しています。
誰でも問題の原因を突き止めるのを助けてくれますか?私は週末を無駄に考え出して無駄にしました。
EDIT - IDE - JSFバージョンのEclipse - クロサギ科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サーブレットを使用して自分のアプリケーションにアクセスしますリクエストパラメータとforward to searchRecord.xhtml
私はsearchRecord.xhtmlを見ることができます。しかし、クリックすると404が表示されます。
標準では、サーブレットを使用してそれに応じて転送する必要があります。
あなたのbean.searchメソッドには何が書かれていますか? faces-config.xmlで定義されたナビゲーションルールは正しいですか? – AswathyPrasad
'type =" submit "'は余計です...(正しく覚えていると時々問題を引き起こすこともあります) – Kukeltje
* "正しい動作に見えます" *いいえ、そうではありません。ブラウザのアドレスバーにそのURLを入力してみてください。このように/ WEB-INFファイルにアクセスしてみてください。 web.xmlを含む。これは不可能であることがわかります。理由なしではありません。 – BalusC