1

下页

<%@ 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

这是如何引起的,我该如何解决?

4

1 回答 1

2

<f:ajax>仅在JSF的Facelets 标记库中可用。

但是,您使用的是自 JSF 2.0 起已弃用的 JSP。所有针对 JSP 的 JSF 2.x 开发都已停止。JSF的 JSP 标记库中不提供所有新的 JSF 2.x 特定标记/属性,例如<f:ajax>, <h:head>, <h:link>, <h:button>, <h:inputFile>, <f:viewParam>,等。您需要将 JSP 迁移到其后续 Facelets 以便利用新的 JSF 2.x 特定标签/属性。有关 Facelets 的更多详细信息,另请参见以下链接:<f:viewAction>

如果您在一些 JSF 书籍/教程/资源中找到了这个 JSP 示例,那么它很可能是针对 JSF 1.x 的示例。在学习 JSF 2.x 时,一定要确保您阅读了针对 JSF 2.x 的书籍/教程/资源。我们的 JSF wiki 页面是一个很好的起点。

于 2013-05-20T15:59:13.460 回答