java-Spring Web Flow从流向控制器传递模型对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Spring Web Flow从流向控制器传递模型对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1575字,纯文字阅读大概需要3分钟。
内容图文
![java-Spring Web Flow从流向控制器传递模型对象](/upload/InfoBanner/zyjiaocheng/673/375cf61e8f3c48c8bf18787482d6369f.jpg)
将Spring Web Flow中使用的模型对象传递给Controller的正确方法是什么?
我的用例如下:
我有一个流程,最终状态显示一个包含一些计算结果的模型对象.很好我在页面上也有一个链接,以生成一个pdf显示结果.如果我手动设置模型对象,那也可以正常工作.
那么,如何获得流向控制器的模型对象呢?还是有一种更清洁的方式使用Webflow查看pdf?
谢谢
解决方法:
不幸的是,这不是一个简单的方法. Webflow在其自己的存储库中的不同时间维护所有对象及其状态.因此,在e1s2处的模型对象将是与e1s3不同的物理对象,依此类推.
我能想到的最简单的方法是将对象存储在会话中,作为结束步骤的一部分.然后,您可以将用户重定向到控制器,并从会话中获取/删除对象.
另一种方法是将结果实际保存在某个持久性存储(例如数据库)中,并且链接可以具有一个ID,该ID将允许您提取信息并重新生成结果(如果可能)
编辑:
因为在会话中放置流控制对象可能会成为一个烦人的过程,可能无法使自己参与其中,但这并不是最佳解决方案,但以下是有关如何执行此操作的示例:
public class MainFlowController{
...rest of the flow's logic
public void endFlow(RequestContext context){
ModelObject obj = ...;
HttpServletRequest req = (HttpServletRequest )context.getExternalContext().getNativeRequest();
req.getSession().setAttribute("endModelObject",obj );
}
}
在这里,您要将ModelObject分配给会话,并且需要使用endModelObject将其拉回
RequestContext是一个由webflow拥有的对象,您可以传入它,将使pdf字节数组进入会话.您可以使用webflow中的action-state元素进行分配
<action-state id="setPDF">
<evaluate expression="mainFlowController.endFlow(flowRequestContext)"/>;
<transition to="endFlow"/>
</action-state>
<end-state id="endFlow" view="end.jsp"/>
自从它现在在会话中以来,该链接将不得不命中您想要的控制器并直接从会话中拉出.
内容总结
以上是互联网集市为您收集整理的java-Spring Web Flow从流向控制器传递模型对象全部内容,希望文章能够帮你解决java-Spring Web Flow从流向控制器传递模型对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。