JSF2:不带 JavaScript 的 commandLink

发布于 2024-10-15 06:52:54 字数 300 浏览 2 评论 0原文

是否可以在不使用 javascript 的情况下获得 h:commandLink 的行为?我正在使用 JSF2

如果我想使用 lightbox 组件,我需要事先获得完整生成的 URL。如果我的 URL 是基于操作的,我只能使用 h:commandLink,它会生成绑定到鼠标单击操作的 javascript。

我希望拥有 JSF 导航功能(例如:使用 action="#{bean.action}" 生成链接)并有办法获取完整生成的 URL。

Is it possible to get the behaviour of a h:commandLink without using javascript? I'm using JSF2

If I want to use a lightbox component, I will need to have the full generated URL beforehand. If my URLs are action-based, I can only use h:commandLink, which generates javascript binded to the mouse click action.

I would like to have the JSF navigation features (eg: use action="#{bean.action}" to generate links) and have a way to get the full generated URL.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅语花开 2024-10-22 06:52:54

请改用 。这会生成一个纯 HTML 元素,而不需要 。要调用操作,您必须将逻辑从 bean 操作方法移动到与打开的视图关联的托管 bean 的构造函数或 @PostConstruct

如果需要传递参数,请使用 将它们作为查询字符串附加。您可以在 faces-config.xml 中使用 (如果您已经使用 JSF 2.0,则可以使用 @ManagedProperty)在 bean 中设置这些参数。您可以在 @PostConstruct 方法中访问它们。

Use <h:outputLink> or <h:link> instead. This generates a plain HTML <a> element without the need for a <h:form>. To invoke actions, you have to move the logic from the bean action method to the constructor or @PostConstruct of the managed bean which is associated with the opened view.

If you need to pass parameters, use <f:param> to append them as a query string. You can use <managed-property> in faces-config.xml (or @ManagedProperty when you're already on JSF 2.0) to set those parameters in the bean. You can access them in @PostConstruct method.

一向肩并 2024-10-22 06:52:54

在您的操作中,您可以使用

try {
    FacesUtils.redirect("yourUrl.jsf");
} 
catch (IOException e) {
    Log.get().error(e);
}

重定向请求。

当然,您可以根据需要生成您的网址

希望这会有所帮助

In your action you can use

try {
    FacesUtils.redirect("yourUrl.jsf");
} 
catch (IOException e) {
    Log.get().error(e);
}

To redirect requests.

Of course you can generate your url as you wish

Hope this helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文