我正在使用Eclipse Mars 1和Tomcat 7,JDK 1.6。
尽管在我的WEB-INF / lib文件夹中添加了jsf-api-2.2.9.jar和jsf-impl-2.2.9.jar,但我收到此错误。我无法弄清楚出了什么问题。可能我错过了一些明显的问题,因为问题似乎是找不到链接的标签定义。
SEVERE:servlet [Faces Servlet]的Servlet.service()与上下文有关 path [/ foodbase]抛出异常[/recipes_search.jsp(行:108, column:20)没有使用前缀导入的标记库中定义的标记“link” 带有根本原因的“h”]
在我的recipes_print页面上,我定义了以下内容,以便获得应该显示的recepie。
<%@ 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>
<f:metadata>
<f:viewParam name="id" value="#{recepieViewController.recipes}"
converter="#{recepieConverter}" converterMessage="Bad request. Unknown user."
required="true" requiredMessage="Bad request. Please use a link from within the system."
/>
</f:metadata>
<head>
...
以下是我的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>
...
<f:view>
<h:form binding="#{recepieController.form}" >
<h:messages style="color:red;margin:8px;" />
<h:panelGrid columns="2">
<h:outputText value="Title"></h:outputText>
<h:inputText value="#{recepieController.searchTitle}" >
</h:inputText>
...
</h:panelGrid>
<h:commandButton action="#{recepieController.search}" value="Search"
accesskey="s">
</h:commandButton>
</h:form>
<h:form binding="#{recepieController.tableForm}" rendered="#{not empty recepieController.recipesList}">
<h:dataTable value="#{recepieController.recipesList}" var="item" >
<h:column>
<f:facet name="header">
<h:column>
<h:outputText value="Title"></h:outputText>
</h:column>
</f:facet>
<h:outputText value="#{item.name}"></h:outputText>
</h:column>
....
<h:column>
<h:link value="Details" outcome="recipes_print">
<f:param name="id" value="#{item}" />
</h:link>
</h:column>
</h:dataTable>
</h:form>
</f:view>