我想在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。
我错过了什么?
答案 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">