【发布时间】:2014-12-23 09:48:08
【问题描述】:
我有一个简单的 JSF 和托管 bean,当页面呈现并且某些条件为真时,我需要进行 POST 重定向。 JSF:
<h:panelGroup rendered="#{myBean.error=null}">
<p>Some data</p>
</h:panelGroup>
在托管 bean 中,init() 方法,注释为 @PostConstruct,在这个方法中我这样做
@PostConstruct
public void init() {
if (someCondition) {
FacesContext context = FacesContext.getCurrentInstance();
String redirectUrl = "http://myurl.com";
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
try {
ec.redirect(redirectUrl);
} catch (IOException e) {
e.printStackTrace();
FacesMessage message = new FacesMessage(e.getMessage());
context.addMessage(null, message);
}
}
}
但我需要使用 POST 参数将用户导航到 redirectUrl,但找不到如何操作。 使用按钮会是这样的:
<form method='post' action="myUrl">
<input type='hidden' name='param1' value='value1'/>
<input type='hidden' name='param2' value='value2'/>
<input name='button' type='submit' value="Button">
</form>
【问题讨论】:
标签: jsf