当我使用<a href="url" jsfc="h:outputLink">?</a>时,为什么facelets会忽略链接的href-attribute

时间:2009-12-04 16:52:28

标签: 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的组件? <f:view>应放在哪里?也许在template.xhtml?或者我应该忽略它?

1 个答案:

答案 0 :(得分:1)

可能是facelets中的错误。此外,你为什么不省略那个属性?简单的<a href适合你。