【发布时间】:2011-11-17 02:14:20
【问题描述】:
我有一个报告页面,它提交用户生成的查询以进行数据检索。当查询不存在数据时,我将 facesmessage-“No data”添加到会话并将其与提交按钮相关联,因此它显示在按钮旁边。 当用户修改查询并重新提交时,我希望清除“无数据”消息。我找不到办法做到这一点。我在 sessionmap 或 requestmap 中找不到任何消息,因此无法使用 removemessage()。 因此,目前我通过将 facesmessages 设置为空白摘要和详细信息来使用 hack。如何清除每个提交的查询的消息?
谢谢。
BalusC,
找不到回复按钮,所以我正在编辑原帖
这是我所拥有的: JSF 1.2, Richfaces 3.3
我的报告页面的支持 bean 是 sessionscoped。该页面有一个用于选择报告类型的下拉菜单和一个连接到操作(genrep)的提交按钮。该按钮与 Rich:message 标签相关联。
选择并提交报告类型后,genrep() 会检查数据库以查看是否有任何数据,如果不存在则实例化一个 facesmessage,将摘要和详细信息设置为“无数据”并将其添加到提交按钮通过facescontext的addmessage方法。
当用户提交另一个包含数据的查询时,genrep() 从 facescontext 获取响应流,将 contentype 设置为“application/vnd.ms-excel”并将数据写入其中。关闭并刷新流并调用 responsecomplete()。除了现在,我仍然可以在上一个无数据查询的按钮旁边看到“无数据”消息。
谢谢。
【问题讨论】:
-
这应该已经是默认行为了。消息是请求范围的。您需要详细说明有关测试用例的技术细节(如有必要,请提供 SSCCE)。
-
原帖已编辑。请检查。