【发布时间】:2011-05-25 08:55:50
【问题描述】:
我正在尝试使用 dataModel 而不是绑定 dataTable 并遇到此问题。在最后一列有一个命令按钮,应该用于从数据库中删除项目。但是当我按下它时,java方法没有启动。
部分xhtml(精简代码):
<h:form>
<rich:extendedDataTable
id="table"
var="fItem"
value="#{myFood.model}"
selectionMode="none">
<rich:column width="150px">
<f:facet name="header">Datum:</f:facet>
<h:outputText value="#{fItem.date}"/>
</rich:column>
<rich:column>
<h:commandButton id="save" action="#{myFood.delete}" value="delete"/>
</rich:column>
<f:facet name="footer">
<h:commandButton id="btnTest" action="#{myFood.test}" value="test"/>
</f:facet>
</rich:extendedDataTable>
</h:form>
MyFood.java 的一部分:
public void delete()
{
System.out.println("TEST");
try
{
DaoCrud.delete(model.getRowData(), 'P');
}
catch (Exception e) {.....}
}
public void test()
{
System.out.println("TEST");
}
但即使是“TEST”也没有写入控制台! 问题可能出在哪里?
更新:我已经更新了代码示例(facet & test()),它可以工作。一切正常,直到我尝试使用 dataModel private DataModel<Item> model;...
当我简单地将相同的 commandButton 移动到构面时,它就可以工作了。
【问题讨论】:
-
您使用的是什么 JEE 服务器?在某些环境下
System.out.println不起作用。用它来打印消息在其他地方有用吗? -
我用的是tomcat7,但是当我把commandButton放到脸上时,它工作正常...
-
我不确定我理解你的意思是什么作品?还是按钮有效?
-
我已经更新了我的帖子。刻面的 CommandButton 通常调用 test() 方法并将“TEST”写入控制台