我有下一个小脸组成:
<!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的组件? <f:view>
应放在哪里?也许在template.xhtml?或者我应该忽略它?
答案 0 :(得分:1)
可能是facelets中的错误。此外,你为什么不省略那个属性?简单的<a href
适合你。