我有两个JSF <h:selectOneMenu>
组件。一个名为 category 的另一个是子类别。
如果我选择类别,则子类别会动态更改。当我单击搜索命令按钮时,它会显示带有布尔复选框的<h:dataTable>
。
问题是:如果没有选中任何复选框,那么我需要显示错误消息,如“请选择任何”,如果按下搜索按钮后数据表中没有数据,则必须出现相同的错误消息。请提出解决方案。
答案 0 :(得分:4)
如果没有选中任何复选框,那么我需要显示错误消息,例如“请选择任何”。
这取决于您如何对复选框进行分组并收集选中的项目。我打赌你用Map<RowIdType, Boolean>
来收集它们。在这种情况下,您只需要计算bean操作方法中已检查项的数量。如果此值等于0
,则添加FacesMessage
,如下所示:
facesContext.addMessage(null, new FacesMessage("Please select any"));
并以通常的方式显示<h:messages />
。
如果在按下搜索按钮后数据表中没有数据,则必须出现相同的错误消息。
你可以用同样的方式做到这一点。在bean操作方法中,检查返回的行数,如果这等于0
,则添加FacesMessage
。