struts提交后用户交互和多次执行Action问题


通常情况下页面submit后,执行一个action,完成业务逻辑。

能否在页面submit后,通过简单的执行业务功能,返回提示数据给用户,由用户判读是否执行。
如果用户选择继续执行,就执行Action余下的业务逻辑,否则就到此为止。
就是标题描述的所谓提交后用户交互,多次执行action(或同一个action的不同业务功能)。

举个例子:
应用中要执行批量发送邮件,执行者事先不知道每次执行会给多少目标用户发送邮件,执行者点发送后,
先到数据库查询,查询结果会以带是否继续执行提示框(或其他)形式返回执行者,执行者点继续执行,
执行剩下的发送业务。

struts1.x是粗粒度的,一个submit对一个Action,似乎无法做上面这个事情。
struts2x,加入拦截链,拦截层把业务逻辑剥离成很多侧重不同的片段,但不会在拦截层返回用户数据,
返回意味着submit处理结束了。

请高手帮忙看看,理解是否正确?及有什么手段或框架可以实现这样的需求。

这实际就是Action Flow流程,可以借鉴spring webflow
或者参考REST的实现。也可以整合JBPML的Action实现,见这个开源框架:https://jt.dev.java.net/ 其中有定义流程。

当然直接使用工作流引擎也是可以的。