Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么facelets在使用<;时忽略链接的href属性;a href=";url";jsfc=";h:outputLink“>;?_Jsf_Facelets - Fatal编程技术网

为什么facelets在使用<;时忽略链接的href属性;a href=";url";jsfc=";h:outputLink“>;?

为什么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"

我有下一个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"
      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”属性,它存在于组件树中。但是你需要一个指向固定位置的简单链接-使用