Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java a4j:included rich:dataTable会对a4j:commandButton产生负面影响_Java_Jsf_Richfaces - Fatal编程技术网

Java a4j:included rich:dataTable会对a4j:commandButton产生负面影响

Java a4j:included rich:dataTable会对a4j:commandButton产生负面影响,java,jsf,richfaces,Java,Jsf,Richfaces,我有一个JSF/RichFaces设置,带有index.jsp,其中a4j:includes另一段代码,其中包含rich:dataTable 它最初呈现良好,在index.jsp的下拉列表中选择一个项目并单击“检索”a4j:commandButton使用支持bean的setselected方法在后端进行竞价。支持bean更新类成员,其getter随后由模型读取元素在单独的文件content.jsp中调用,该文件是a4j:included。此时将显示我更新的选项卡面板 我可以在eclipse控制台

我有一个JSF/RichFaces设置,带有
index.jsp
,其中
a4j:include
s另一段代码,其中包含
rich:dataTable

它最初呈现良好,在
index.jsp
的下拉列表中选择一个项目并单击“检索”
a4j:commandButton
使用支持bean的
setselected
方法在后端进行竞价。支持bean更新类成员,其getter随后由模型读取元素在单独的文件
content.jsp
中调用,该文件是
a4j:include
d。此时将显示我更新的选项卡面板

我可以在eclipse控制台中看到输出。但当我再次按下按钮时,什么也没发生。tomcat 6.0日志中没有任何内容,控制台上也没有任何内容

EDIT1 将问题缩小到我的
content.jsp
文件,而不是上面的
index.jsp
code,我发现问题出在
rich:dataTable
元素上。当我仅从
content.jsp
中删除此元素时,我可以反复单击Retrieve按钮,它会重新加载我的选项卡面板。一旦我把它放进去,第一次点击是确定的,然后按钮会点击,但什么都没有发生,按钮不会松开回来

rich:dataTable
提供数据的方法不应该是可疑的,因为它至少第一次工作,但它只执行一些xpath例程并返回
ArrayList

考虑到编辑,现在有人能建议如何使用
rich:dataTable
,这样就不会引起任何麻烦了吗?元素位于
rich:tabPanel
中,它位于
h:form
中,但仅此而已

谢谢

EDIT2: 下面是完整的受影响代码列表,以响应下面的注释请求,并尽可能简短地再现问题@Damo,请注意
a4j:commandButton
rich:dataTable
在不同的文件中,因为后者在jsp文件中,即
a4j:include
d。
另外请注意,
我在重新启动命令按钮/链接时经常遇到这种情况

你的a4j:form实际上是在重新招标。尝试将其更改为以下内容:

<a4j:form>
    <a4j:outputPanel id="panel">
        <h:outputText style="text-align: center" value="Select " />
        <h:selectOneMenu id="mySelect" value="#{MyBacking.chosen}">
            <f:selectItems value="#{MyBacking.myList}" />
        </h:selectOneMenu>
    </a4j:outputPanel>
    <a4j:commandButton value="Retrieve" reRender="panel"/>
</a4j:form>


更新:将您的h:form移动到a4j:include中。非常确定它需要一个表单,当然你不能嵌套表单。

我在重新编写命令按钮/链接时经常遇到这种情况

你的a4j:form实际上是在重新招标。尝试将其更改为以下内容:

<a4j:form>
    <a4j:outputPanel id="panel">
        <h:outputText style="text-align: center" value="Select " />
        <h:selectOneMenu id="mySelect" value="#{MyBacking.chosen}">
            <f:selectItems value="#{MyBacking.myList}" />
        </h:selectOneMenu>
    </a4j:outputPanel>
    <a4j:commandButton value="Retrieve" reRender="panel"/>
</a4j:form>


更新:将您的h:form移动到a4j:include中。非常确定它需要一个表单,当然你不能嵌套表单。

修复方法是安装一个facelets jar。请参阅。

修复方法是安装facelets jar。请参阅。

检查firefox javascript控制台和日志显示页面,以便我们可以看到commandButton和DataTable检查firefox javascript控制台和日志显示页面,以便我们可以看到commandButton和DataTable良好的响应,但它不起作用。如果我使用a4j:outputPanel,我能不能忽略对a4j:form的需要?很有趣。按钮启动了一系列的支持bean工作,以完成不同的事情。我已经缩小了它的范围,这样它就可以正常工作,除非bean使用包含
rich:dataTable
更新上面页面中包含的a4j:元素。我甚至不需要重新播放a4j:include来显示include的内容。a4j:包含的内容是否需要faces-config.xml导航内容?关于这一点,我会问另一个具体的问题。对不起,达莫,我已经检查了滴答声,因为它是那样的,或者重新问本质上相同的问题,然后被点燃。我没有在没有dataTable元素的情况下运行原始代码,所以我想可能有两个问题,但本质上我仍然有这个问题。问题有了新的标题。更新了问题以包含
h:form
,但无效。回答很好,但不起作用。如果我使用a4j:outputPanel,我能不能忽略对a4j:form的需要?很有趣。按钮启动了一系列的支持bean工作,以完成不同的事情。我已经缩小了它的范围,这样它就可以正常工作,除非bean使用包含
rich:dataTable
更新上面页面中包含的a4j:元素。我甚至不需要重新播放a4j:include来显示include的内容。a4j:包含的内容是否需要faces-config.xml导航内容?关于这一点,我会问另一个具体的问题。对不起,达莫,我已经检查了滴答声,因为它是那样的,或者重新问本质上相同的问题,然后被点燃。我没有在没有dataTable元素的情况下运行原始代码,所以我想可能有两个问题,但本质上我仍然有这个问题。问题有一个新标题。已更新问题以包括
h:form
,但无效。
<a4j:form>
    <a4j:outputPanel id="panel">
        <h:outputText style="text-align: center" value="Select " />
        <h:selectOneMenu id="mySelect" value="#{MyBacking.chosen}">
            <f:selectItems value="#{MyBacking.myList}" />
        </h:selectOneMenu>
    </a4j:outputPanel>
    <a4j:commandButton value="Retrieve" reRender="panel"/>
</a4j:form>