1

我有这个非常简单的代码,在我添加f:ajax标签之前它可以正常工作。

有效的代码:

<h:commandButton disabled="#{!feature.available}" class="featureButton"
        value="#{feature.selected ? 'selected': feature.available? 'available':'unavailable'} "
        style="vertical-align: top;" action="#{Bean.toggleFeature(feature)}">
    </h:commandButton>

不起作用的代码:

<h:commandButton disabled="#{!feature.available}" class="featureButton"
        value="#{feature.selected ? 'selected': feature.available? 'available':'unavailable'} "
        style="vertical-align: top;" action="#{Bean.toggleFeature(feature)}">
        <f:ajax event="click"  />
</h:commandButton>

据我所知,jsf.js 文件加载正常,这是由 facelet servlet 自动添加到我渲染文档的头部的,我 <script type="text/javascript" src="/www/javax.faces.resource/jsf.js.xhtml?ln=javax.faces"></script>什至可以jsf.ajax.request直接从 javascript 执行并让页面重新渲染某些内容。

我正在使用 mojarra 2.1.13、tomcat 7、eclipse juno、java 7。

关于我可能做错了什么或如何解决此问题的任何想法?在javascript中调试它根本没有帮助。

谢谢。

4

1 回答 1

0

我没有在上面提到我嵌套了 ui:repeats ,结果发现 mojarra 存在一个错误。据我所知,修复程序刚刚提交,但它还没有作为一个罐子出来,但是我尝试了 myfaces,它运行良好,所以我现在就这样做。以下是错误详细信息:

http://java.net/jira/browse/JAVASERVERFACES-1817

于 2012-12-08T05:00:44.640 回答