< F:propertyActionListener>标签未找到

我似乎无法开始工作。我正在使用icefaces和一个非常简单的两列。一个具有删除等操作,另一个带有字符串(表示正则表达式)。为了删除操作删除右行,我试图将它链接到实际元素:
<html xmlns:ice="http://www.icesoft.com/icefaces/component" 
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:m="http://www.mitre.org/asias/jsf">
  <ui:composition> 
    <ice:dataTable binding="#{binding}" 
      value="#{binding.editableRows}"
      var="item">
      <ice:column>
        <f:facet name="header">
          <ice:commandLink styleClass="linkBlue"
            action="#{binding.addEditableRow}">
            <ice:outputText value="Add" />
          </ice:commandLink>
        </f:facet>
        <ice:commandLink styleClass="linkBlue"
          action="#{binding.removeEditableRow}">
          <f:propertyActionListener value="#{item}" target="#{binding.actionRow}" />
          <ice:outputText value="Remove" />
        </ice:commandLink>
      </ice:column>
      <ice:column>
        <f:facet name="header">
          <ice:outputText value="Regular Expression" />
        </f:facet>
        <ice:inputText value="#{item.object}" size="100" />
      </ice:column>
    </ice:dataTable>
  </ui:composition> 
</html>
我在此发现的一切都说我需要JSF 1.2。我正在使用JSF 1.2。这是我用来管理我的依赖项的apache Ivy配置文件:
<ivy-module version="2.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">

 <info organisation="org.mitre.asias" module="testwebproject" />

    <configurations defaultconfmapping="default->default">
        <conf name="default" visibility="public" description="needed for deployment" extends="runtime,master" />
        <conf name="master" visibility="public" description="only this artifact" />
        <conf name="runtime" visibility="public" description="libraries only needed at runtime" extends="compile" />
        <conf name="provided" visibility="public" description="provided by container, not needed for deployment" />
        <conf name="test" visibility="private" description="needed for testing" />
        <conf name="compile" visibility="public" description="needed for compilation" />
        <conf name="sources" visibility="public" description="the source artifact, if any."/>
        <conf name="javadoc" visibility="public" description="the javadoc artifact, if any."/>
        <conf name="optional" visibility="public" description="contains all optional dependencies"/>
        <conf name="ide" visibility="public" description="all libraries, sources, and javadoc needed for ide" extends="master,compile,provided,test,sources,javadoc" />
    </configurations>

 <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="2.4" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="commons-logging" name="commons-logging" rev="1.1.1" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="log4j" name="log4j" rev="1.2.16" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.1" conf="compile->compile(*),master(*);runtime->runtime(*)" />

        <dependency org="javax.el" name="el-api" rev="2.1.2-b05" conf="provided->compile(*),provided(*),runtime(*),master(*)" />
        <dependency org="javax.servlet" name="servlet-api" rev="2.5" conf="provided->compile(*),provided(*),runtime(*),master(*)" />
        <dependency org="javax.servlet" name="jsp-api" rev="2.0" conf="provided->compile(*),provided(*),runtime(*),master(*)" />
        <dependency org="org.icefaces" name="icefaces" rev="1.8.2" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="org.icefaces" name="icefaces-comps" rev="1.8.2" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="org.icefaces" name="icefaces-facelets" rev="1.8.2" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="javax.faces" name="jsf-api" rev="1.2_13" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="javax.faces" name="jsf-impl" rev="1.2_13" conf="compile->compile(*),master(*);runtime->runtime(*)" />
        <dependency org="com.sun.facelets" name="jsf-facelets" rev="1.1.14" conf="compile->compile(*),master(*);runtime->runtime(*)" />

        <dependency org="junit" name="junit" rev="4.8.1" conf="test->default" />

        <exclude module="servlet-api" conf="default" />
        <exclude module="el-api" conf="default" />
        <exclude module="jsp-api" conf="default" />
 </dependencies>
</ivy-module>
我正在使用eclipse与IvyDE来管理该库以及选择了“使用工作空间元数据”运行的Tomcat服务器实例。是否有一些eclipse或tomcat可能会注入错误版本的JSF?当我查看Ivy包含的jsf-impl jar时,我确实看到该jar中有com.sun.faces.taglib.jsf_core.SetPropertyActionListenerImpl和SetPropertyActionListenerTag。我的理解是,那些应该是所有需要的。有任何想法吗?我错过了一些东西,还是只是疯了? 编辑: 现在我真的很沮丧。根据BalusC的建议,我更新了faces-config.xml以使用1.2模式定义而不是1.1 dtd。这没有用。所以我四处寻找更多信息。我找到了另一个与(本期)相关的stackoverflow文章,但是除了获得新版本的jsf-facelets.jar(其中未列出新旧版本)之外,没有解决方案。我正在使用repo1.maven.org/maven2(1.1.14)上提供的最新版本。所以不要去那个方面。我的新问题是,为什么facelets与此有关?它不是JSF核心的一部分吗?我注意到在我的jsf-impl-1.2_13.jar :: META-INF / jsf_core.tld中,有一个setPropertyActionListener的标签:
<tag>
    ...
    <name>setPropertyActionListener</name>
    <tag-class>com.sun.faces.taglib.jsf_core.SetPropertyActionListenerTag</tag-class>
    <body-content>empty</body-content>
    ...
</tag>
最重要的是,这可以在我的jsf-facelets-1.1.14.jar :: com / sun / facelets / tag / jsf / core / CoreLibrary.java中找到:
...
this.addTagHandler("setPropertyActionListener", SetPropertyActionListenerHandler.class);
...
看起来我的包含的库应该足够了。知道这里发生了什么吗?我是否需要返回并获得JSF学位才能编写一个简单的facelet?     
已邀请:
确保根据JSF 1.2规范声明
faces-config.xml
的根声明。
<faces-config version="1.2" 
    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_1_2.xsd">
此外,数据表中的ѭ6really看起来并不正确,因为
#{binding}
似乎是一个托管bean。     
我真的很讨厌回答我自己的问题,特别是因为这是一个如此简单的错误,但有时候我们只需要接受公众的羞辱。无论如何,长话短说,它:
<f:setPropertyActionListener value="#{item}" target="#{binding.actionRow}" />
<f:propertyActionListener value="#{item}" target="#{binding.actionRow}" />
希望这将有助于未来的其他人......     

要回复问题请先登录注册