gpt4 book ai didi

java - 将 Struts-Tiles 迁移到 Spring+tiles 3

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:10 25 4
gpt4 key购买 nike

我正在从 Strut1 + Tiles 项目迁移到 SpringMVC 和 Apache Tiles 3。我对Struts1+Tiles只了解一点点,它太旧了,我陷入了Struts-tiles中的Controller和ComponentContext。根据apache网站的文档,它被ViewPreparer和AttributeContext替换,但我不知道以下行的含义:
ComponentContext compContext=(ComponentContext)pageContext.getAttribute(ComponentConstants.COMPONENT_CONTEXT,PageContext.REQUEST_SCOPE);
什么是ComponentConstants.COMPONENT_CONTEXT ?以及如何更改ComponentContextAttributeContext

请帮忙,谢谢。

最佳答案

Bidi,有两种获取 AttributeContext 的方法:

第一个,如 mck 所说:通过请求范围的“org.apache.tiles.AttributeContext.STACK”键。但是,该值是一个 STACK,其中包含 2 个 AttributeContext 类型的元素。我们需要的是第一个元素。恕我直言,这种方式是有限制的,因为由于数据结构是一个堆栈,获取也意味着根据 FIFO 规则从堆栈中删除,因此您只能使用该对象一次。

我在项目中使用的是第二种方式。因为ViewPreparer的execute()方法已经有一个AttributeContext类型的参数,并且每次渲染页面时都会调用这个方法,所以你可以在重写时使用这个对象来做你想做的事情(或者放在request中)方法。AttributeContext 只是键/值对的集合。通常,人们使用它来访问模板中的一些属性值,因此获取这些值并将它们放入请求可以节省开销。您还可以创建继承类的一些静态属性并为其设置值。

关于java - 将 Struts-Tiles 迁移到 Spring+tiles 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27845286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com