如何使用JSF创建简单的重定向?

时间:2012-08-12 17:19:51

标签: jsf

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

我试过了:

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

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

2 个答案:

答案 0 :(得分: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()

<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");
}

答案 1 :(得分:0)

您可以使用:

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

不需要表格。