是否有可能在不使用javascript的情况下获得h:commandLink
的行为?我正在使用JSF2JSF2:没有javascript的commandLink
如果我想使用灯箱组件,我需要预先生成完整的URL。如果我的网址是基于操作的,我只能使用h:commandLink
,这会生成绑定到鼠标点击操作的JavaScript。
我想拥有JSF导航功能(例如:使用action="#{bean.action}"
来生成链接),并有一种方法来获取完整生成的URL。
是否有可能在不使用javascript的情况下获得h:commandLink
的行为?我正在使用JSF2JSF2:没有javascript的commandLink
如果我想使用灯箱组件,我需要预先生成完整的URL。如果我的网址是基于操作的,我只能使用h:commandLink
,这会生成绑定到鼠标点击操作的JavaScript。
我想拥有JSF导航功能(例如:使用action="#{bean.action}"
来生成链接),并有一种方法来获取完整生成的URL。
使用<h:outputLink>
或<h:link>
代替。这会生成一个简单的HTML <a>
元素,而不需要<h:form>
。要调用操作,必须将逻辑从bean操作方法移动到与打开的视图关联的托管bean的构造函数或@PostConstruct
。
如果您需要传递参数,请使用<f:param>
将它们附加为查询字符串。您可以在faces-config.xml
中使用<managed-property>
(或者当您已经使用JSF 2.0时使用@ManagedProperty
),以便在bean中设置这些参数。您可以通过@PostConstruct
方法访问它们。
在你的行动,你可以使用
try {
FacesUtils.redirect("yourUrl.jsf");
}
catch (IOException e) {
Log.get().error(e);
}
将请求重定向。
当然,你可以生成你的网址,你想
希望这有助于
他希望链接中已有完整的URL。 – BalusC 2011-01-28 12:31:26
@BalusC在这种情况下,你是对的,是解决方案 –
2011-01-28 13:34:02