Netbeans错误“属性目标未在组件outputStylesheet中定义”

时间:2013-11-27 10:47:10

标签: jsf netbeans facelets

我输入了以下代码:

<h:outputStylesheet library="css" name="style.css" target="body" />

问题在于它给我一个错误的目标=&#34; body&#34;话说:

The attribute target is not defined in the component outputStylesheet

在html部分,如果html我有以下内容:

<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"
    xmlns:p="http://primefaces.org/ui"
    xmlns:pe="http://primefaces.org/ui/extensions">

我该如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:5)

查看tag documentation of <h:outputStylesheet>。它确实没有列出target属性。也许你会对来自<h:outputScript>的那个感到困惑。

<h:outputStylesheet>默认始终重新定位到HTML <head>,原因非常简单,因为拥有<style>或{{1}是违法的HTML <link>中的元素。但是,<body>默认位于与声明位置完全相同的位置。由其生成的<h:outputScript>元素可以放置在HTML <script><head>中的任何位置。您可以通过将<body>属性设置为target(然后会显示在head)或<head>(然后显示在{{1}的末尾,让JSF自动重定位}})。

删除它。如果理论上body有效,那么它最终只能以非法的HTML输出结束。

<body>

对具体问题

无关,资源库名称“css”在语义上是错误的。把它放在资源名称中。

target="body"

另见: