jsf - 为什么我得到 h :outputLabel as an unknown tag?

标签 jsf facelets

我正在尝试为实习中的一个项目学习 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">

另见:


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

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

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

Welcome #{loginbean.name}

另见:

关于jsf - 为什么我得到 h :outputLabel as an unknown tag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14781107/

相关文章:

java - 在 JSF 1.1 之后不推荐使用类型 API 变量解析器。改为使用 el-resolver

java - jsf 中 jsp .tag 文件的模拟是什么,或者如何避免复制和粘贴 jsf/facelets 代码?

internet-explorer - 如何在 JSF 中使用 Internet Explorer 条件注释?

debugging - JSF <用户界面 :debug> not showing CDI beans

css - 单选按钮不切换

java - 表单验证和提交(java测试用例)

java - Primefaces p :menuitem pass an attributes to actionListener

java - JSF/JPA - 多个复选框

templates - 如何创建带有页眉/页脚/导航的可重用模板?

java - MyFaces 与 Sun 的引用实现 - 后者不是免费的?