如何让我的Html MenuItem在新标签中打开一个URL?

时间:2012-05-16 14:40:09

标签: jsf hyperlink richfaces menuitem target

我正在使用richFaces 3.3.3。

我需要让一个menuItem打开一个带有简单网址的新标签页...例如google.com。 现在我尝试了这段代码:

HtmlMenuItem menuItem = new HtmlMenuItem();
menuItem.setid("id");
menuItem.setValue("My menu link new tab");

menuItem.setSubmitMode("server");
menuItem.setTarget("_blank");
menuItem.setOnClick("document.location.href='www.gooogle.com'");

但是这会使我当前的标签重定向到谷歌,并打开一个新标签,其中包含我所在的上下文。 我想留在我的位置,新标签“_blank”转到google。

我尝试用onComplete替换onClick,但这也使得新选项卡也在我的上下文中输入。 但是不要执行 我试图将HtmlOutputLink作为我的menuItem的子项,但是没有为outPutLink执行单击。执行menuItem的单击...

HtmlMenuItem menuItem = new HtmlMenuItem();
menuItem.setid("id");
menuItem.setValue("My menu link new tab");
HtmlOutputLink cLink = new HtmlOutputLink();
cLink.setTarget("_blank");
cLink.setValue("www.google.com");
menuItem.getChildren().add(cLink);

2 个答案:

答案 0 :(得分:3)

您只能使用OutputLink,例如:

HtmlOutputLink cLink = new HtmlOutputLink();
cLink.setValue("http://www.google.com");
cLink.setTarget("_blank");
HtmlOutputLabel label = new HtmlOutputLabel();
label.setValue("Google");
cLink.getChildren().add(label);

因此,只需在某个组件上添加链接即可。 也许HtmlMenuItem使用javascript打开页面,你的浏览器会看到它像弹出窗口。

答案 1 :(得分:0)

你正在使用它吗? <ui:include src="#{bean.link}"/>

你的问题不是很精确,所以我可以想出这个想法......