如何使用 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()
在 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");
}
您可以使用:
<h:commandButton value="Go to Google" type="button" onclick="window.location.href = 'http://www.google.de';" />
不需要表格。