JSF 2.2 - 未找到“链接”标记

时间:2014-05-29 13:31:48

标签: java jsf jsf-2 hyperlink taglib

我想在JSF页面中添加一个链接。这是我的代码

<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Hey!</title>
</head>
<body>
  <f:view>

    <h:link value="Hey" outcome="dateMe" />
  </f:view>
</body>
</html> 

当我运行它时,我得到了

org.apache.jasper.JasperException: /index.jsp (line: 11, column: 4) No tag "link" defined in tag library imported with prefix "h"

我已经读过这个标签是用JSF 2.0引入的,但我查了一下,我正在使用JSF 2.2。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

试试这个:

<h:commandLink value="Hey" action="#{bean.action}" onclick="function()" />

您将获得具有不同属性的相同功能。你也可以考虑:

<h:outputLink value="page.xhtml">
    <h:outputText value="Hey" />
</h:outputLink>

修改

确保你的faces-config.xml是这样的。 <h:link>是JSF 2.0的新组件。还要确保在/WEB-INF/lib中没有JSF 1.x库,需要JSF 2.0库。

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">