【问题标题】:How to invoke a JSF bean action from a link?如何从链接调用 JSF bean 操作?
【发布时间】:2012-05-23 05:04:45
【问题描述】:

我们的项目中有以下需求。

点击链接,

  1. 应该调用一个 JSF 托管 bean 方法,该方法将返回一个 URL 到一个文件。
  2. 此文档应在新窗口中打开。

我该怎么做?

【问题讨论】:

  • 您使用的 JSF 版本是什么?您是否在使用任何其他组件库,例如 Richfaces?
  • 我们使用的是 JSF1.2。我们没有任何第三方组件库。

标签: jsf hyperlink window managed-bean


【解决方案1】:

带有target="_blank" 属性的<h:commandLink/> 怎么样:

<h:commandLink action="#{bean.action}" target="_blank" value="Open document"/>

在你的 bean 中:

public void action() {
   try {
       FacesContext.getCurrentInstance().getExternalContext()
            .redirect("page2.xhtml");
   } catch (IOException ex) {
       // do something here
   }
}

page2.xhtml 替换为您的目标网址。

【讨论】:

  • 嗨,马特,非常感谢。这行得通!无论如何不使用javascript来做到这一点?我的意思是 commandLink 使用 javascript。
猜你喜欢
  • 1970-01-01
  • 2012-02-08
  • 2012-11-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多