我在Netbeans IDE中工作并切换到Eclipse。
我在eclipse中使用向导创建了一个简单的基于JSF 2.0。完整的文件就是这个。
的index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
<h1>Hi, This is my JSF 2. Applicaiton</h1>
<br />
Click <h:link outcome="UserLogin">here</h:link> to go to login
</f:view>
</body>
</html>
当我在tomcat 7.0服务器中删除此应用程序时,我收到以下错误消息,
org.apache.jasper.JasperException: /index.jsp(14,6) No tag "link" defined in tag library imported with prefix "h"
在我的IDE中我也可以看到
帮助表示赞赏。
答案 0 :(得分:1)
<h:link>
是JSF 2.0中的新功能,并且在JSF 1.x中不存在。因此,此错误可能有以下原因:
您的/WEB-INF/lib
实际上是JSF 1.x库,而不是JSF 2.0库。
您的faces-config.xml
被声明为JSF 1.x而不是JSF 2.0。确保声明符合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">
答案 1 :(得分:0)
一些简单的问题:
您的JSF库位于何处?
我认为你的意思更多:在我的 IDE我也可以看到哪个领先 成。
Eclipse通常很不错 能够找到你的标签 库。它在抱怨吗? 在你的文件中使用这些库 jsp编辑器页面?
首先告诉我们有关您的设置的更多信息。
我会抛出明显的解决方案:你已经失去了对JSF jar(jsf-impl.jar)的引用。将它包含在您的Tomcat lib文件夹中应该修复它。
答案 2 :(得分:0)
我也处于这个问题的中间,我想找到一些解决方案,但我不管理。正如我发现你和我一样。
如果您使用facelets,那么您可以看到该标记,相反,如果您使用普通的“JSF”,它会提供您提到的错误。
您可以尝试此程序来解决您的问题。
尝试了解如何在Web应用上配置facelets。例如,我的webapp文件以*.xhtml
结尾,由facelets引擎处理。
将文件重命名为*.xhtml
。
前置此
<!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"
xmlns:ui="http://java.sun.com/jsf/facelets">
而不是普通的html。
删除任何指令
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
详细说明可在此处找到:http://wiki.apache.org/myfaces/MigrateFromJspToFacelets
然后您应该能够处理h:link
。