1

如何使用 jsf 创建一个简单的重定向?

我试过了:

    <h:form>
        <h:commandButton action="www.google.de" value="go to google" />
    </h:form> 

但是当我单击按钮时,我只是停留在索引页面上。什么都没发生!这里有什么问题?

4

2 回答 2

3

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()在 action 方法中使用。

<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");
}
于 2012-08-12T17:35:53.057 回答
0

您可以使用:

<h:commandButton value="Go to Google" type="button" onclick="window.location.href = 'http://www.google.de';" />

不需要表格。

于 2012-08-12T17:29:24.337 回答