为什么我将h:outputLabel作为未知标记



我正在为实习中的一个项目学习JSF,我真的很挣扎。

有人能解释一下为什么在这段代码中我会收到h:outputLabel的"未知标记"警告吗?

谢谢!

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>
    <h:outputLabel value ="Welcome #{loginbean.name}"></h:outputLabel>
</body>
</html>

因为您忘记声明h: XML命名空间。

将该XML命名空间添加到<html>元素中。

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html">

另请参阅:

  • 我们的JSF wiki页面-包含一个Hello World

与具体问题无关<h:outputLabel>生成一个HTML <label>元素,用于标记HTML输入元素。您似乎只想显示一些文本。在这种情况下,您实际上使用了错误的元素,应该使用<h:outputText>

<h:outputText value="Welcome #{loginbean.name}" />

或者更好的是,只需在模板文本中使用EL。这在JSF 1.x中不支持,但在Facelets上的JSF 2.x中支持。

Welcome #{loginbean.name}

另请参阅:

  • 是否建议对所有内容都使用h:outputText

相关内容

  • 没有找到相关文章

最新更新