标记库支持命名空间:http://java.sun.com/jsf/core,但没有为name:ajax定义标记

时间:2013-05-20 15:45:55

标签: ajax jsp jsf jsf-2

下页

<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<h:form>
    <h:outputLabel id="outtxt" value="#{user.name}"/>
    <h:inputText id="intxt" value="#{user.name}">
        <f:ajax event="keyup" execute="intxt" render="outtxt"/>
    </h:inputTtext>
</h:form>

抛出以下错误

  

标记库支持名称空间:http://java.sun.com/jsf/core,但没有为名称定义标记:ajax

这是如何引起的?如何解决?

1 个答案:

答案 0 :(得分:2)

<f:ajax>仅适用于Facelets tag library of JSF

但是,您使用的是自JSF 2.0以来deprecated的JSP。 JSP的所有JSF 2.x开发都已停止。所有新的JSF 2.x特定标记/属性,例如<f:ajax><h:head><h:link><h:button><h:inputFile><f:viewParam>,{{ 1}}等不可用in JSP tag library of JSF。您需要将JSP迁移到其后继Facelets,以便利用新的JSF 2.x特定标记/属性。有关Facelets的更多详细信息,请参见下面的链接:

如果您在某些JSF book / tutorial / resource中找到了这个JSP示例,那么它很可能是JSF 1.x的目标。学习JSF 2.x时,请确保您已阅读JSF 2.x目标书籍/教程/资源。 Our JSF wiki page是一个很好的起点。