Jsf重定向到新窗口
我正在使用 mojarra primefaces tomcat6.x 制作一个 JSF2.0 项目。
我创建了一个选择列表,当我选择列表中的项目时,我想重定向到所选的网址。它可以是内部 URL。
这是工作,但我想知道是否可以在新窗口中重定向。
我有以下代码 JSF:
<h:form>
<h:selectOneMenu onchange="this.form.submit();" valueChangeListener="#{wagent.selectBusinessTravelLink}">
<f:selectItem itemLabel="#{msg['form.select.defaultValue']}" itemValue="" noSelectionOption="true"/>
<f:selectItems value="#{wagent.businessTravelLinks}" var="bLinkItem" itemLabel="#{bLinkItem.label}" itemValue="#{bLinkItem.id}" />
</h:selectOneMenu>
</h:form>
Java:
public void selectBusinessTravelLink(ValueChangeEvent event) {
// some stuff
FacesContext.getCurrentInstance().getExternalContext().redirect(targetUrl);
}
i'm making a JSF2.0 project using mojarra primefaces tomcat6.x.
I made a select list and when i select item of the list i want to redirect to the selected url. It can be an internal URL.
It's work but i want to know if it's possible to redirect in new window.
I have the following code JSF:
<h:form>
<h:selectOneMenu onchange="this.form.submit();" valueChangeListener="#{wagent.selectBusinessTravelLink}">
<f:selectItem itemLabel="#{msg['form.select.defaultValue']}" itemValue="" noSelectionOption="true"/>
<f:selectItems value="#{wagent.businessTravelLinks}" var="bLinkItem" itemLabel="#{bLinkItem.label}" itemValue="#{bLinkItem.id}" />
</h:selectOneMenu>
</h:form>
Java:
public void selectBusinessTravelLink(ValueChangeEvent event) {
// some stuff
FacesContext.getCurrentInstance().getExternalContext().redirect(targetUrl);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 JavaScript 的
window.open()
函数而不是change
事件期间的form.submit()
。假设选择的项目值是完整的 URL,下面是一个示例:
Use JavaScript's
window.open()
function rather thanform.submit()
during thechange
event.Assuming that the select item values are fullworthy URL's, here's an example:
使用 onclick="this.form.target='_blank'" (或者在 onchange 中的情况),即,
当然,不要忘记修复
Use onclick="this.form.target='_blank'" (or in your case in onchange), i.e.,
And of course, don't forget to fix the id attribute in
<h:form id="form">