jsfを使用して単純なリダイレクトを作成するにはどうすればよいですか?
私は試した:
<h:form>
<h:commandButton action="www.google.de" value="go to google" />
</h:form>
しかし、ボタンをクリックすると、インデックスページに留まります。何も起こりません!ここで何が問題になっていますか?
jsfを使用して単純なリダイレクトを作成するにはどうすればよいですか?
私は試した:
<h:form>
<h:commandButton action="www.google.de" value="go to google" />
</h:form>
しかし、ボタンをクリックすると、インデックスページに留まります。何も起こりません!ここで何が問題になっていますか?
ここでJSFは絶対に必要ですか?あなたはあなたの側に何も提出する必要がないようです。プレーンHTMLを使用するだけです。
<form action="http://www.google.de">
<input type="submit" value="Go to Google" />
</form>
外部サイトへのURLにはスキーム(一部)が含まれている必要があることに注意してください。含まれていhttp://
ない場合は、などの現在のリクエストURIに関連して送信されhttp://example.com/context/www.google.de
ます。
何かを前処理したりログに記録したりするなど、本当に自分の側に提出する必要がある場合ExternalContext#redirect()
は、アクションメソッドで使用できます。
<h:form>
<h:commandButton value="Go to Google" action="#{bean.submit}" />
</h:form>
と
public void submit() throws IOException {
// ...
FacesContext.getCurrentInstance().getExternalContext().redirect("http://www.google.de");
}
次を使用できます。
<h:commandButton value="Go to Google" type="button" onclick="window.location.href = 'http://www.google.de';" />
フォームは必要ありません。