为什么facelets在使用<;时忽略链接的href属性;a href=";url";jsfc=";h:outputLink“>;?
我有下一个facelet组合:为什么facelets在使用<;时忽略链接的href属性;a href=";url";jsfc=";h:outputLink“>;?,jsf,facelets,Jsf,Facelets,我有下一个facelet组合: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<body>
<ui:composition>
<ul id="navigation">
<li>
<a href="http://google.com" id="google1" jsfc="h:outputLink">google.com</a>
</li>
<li>
<h:outputLink id="google2" value="http://google.com">
<h:outputText id="outputtext" value="google.com"/>
</h:outputLink>
</li>
</ul>
</ui:composition>
</body>
</html>
-
-
一定是弄错了,因为我希望看到的是几乎相同的最终html标记。但实际上,facelets是这样生成的:
<ul id="navigation">
<li><a id="google1" name="google1" href="">google.com</a></li>
<li><a id="google2" name="google2" href="http://google.com"><span id="outputtext">google.com</span></a>
</li>
</ul>
-
为什么它忽略了第一个链接的href属性?做我想做的事的正确方法是什么
还有一个问题:如果我在任何地方都使用jsfc,那么我应该如何处理来自f:namespace的组件?应该把
放在哪里?也许在template.xhtml中?或者我应该忽略它?可能是facelets中的一个bug。另外,你为什么不省略这个属性呢?简单的hm。。据我所知,h:commandLink可以与一些javascript一起使用,但我希望使用普通的链接。我认为h:outputLink是jsf中制作简单标准html链接的标准方式,我的意思是为第二个链接(h:outputLink)生成html标记才是我真正想要的。但是我想用jsfc-attribute来实现这一点。你到底为什么想要jsfc属性呢?嗯。。实际上,我想写“好”的代码,但我还不明白什么是facelets的好代码。我认为我们应该在可能的情况下使用jsfc。关于简单的“a href”-没关系,但为什么我们需要h:outputLink组件?因为它是一个组件。您可以绑定它,可以设置它的“rendered”属性,它存在于组件树中。但是你需要一个指向固定位置的简单链接-使用