使用前缀“h”导入的标记库中未定义标记“链接”

时间:2016-01-05 23:46:08

标签: java eclipse jsf tomcat

我正在使用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>

0 个答案:

没有答案