JSF2:不带 JavaScript 的 commandLink
是否可以在不使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请改用
或
。这会生成一个纯 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>
infaces-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.在您的操作中,您可以使用
重定向请求。
当然,您可以根据需要生成您的网址
希望这会有所帮助
In your action you can use
To redirect requests.
Of course you can generate your url as you wish
Hope this helps