如何使用jsf创建简单的重定向?
我试过了:
<h:form>
<h:commandButton action="www.google.de" value="go to google" />
</h:form>
但是当我点击按钮时,我只是停留在索引页面上。什么都没发生! 这有什么不对?
答案 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';" />
不需要表格。