我一直在努力在 Spring 控制器中查看 ATG 配置文件。
一开始,我认为可以通过阅读本文档来从spring控制器获取atg配置文件,通过这样定义。
<bean name="/Profile" class="atg.nucleus.spring.NucleusResolverUtil"
factory-method="resolveName" singleton="false">
<constructor-arg value="/atg/userprofiling/Profile"/>
</bean>
但是,我查看了另一个 atg文档,发现/atg/userprofiling/Profile
如果它不通过 atg DAF 流水线,则会话范围的 neclues 不可用。
注意:当您将自己的 servlet 添加到 servlet 管道时,请记住,在 SessionServlet 找到或创建会话对象之前,您无法访问会话对象。因此,如果您将 servlet 添加到需要访问会话对象的管道中,请确保您的 servlet 出现在 SessionServlet 之后的管道中。
因此,我尝试PageFilter
为 spring servlet 设置如下。
<!-- ATG Services -->
<!-- any request starting with /services must be through ATG DAF pipe lining -->
<filter-mapping>
<filter-name>PageFilter</filter-name>
<url-pattern>/services/*</url-pattern>
</filter-mapping>
<!-- The following can be annotated, but we need to upgrade to servlet 3 -->
<servlet>
<servlet-name>HelloService</servlet-name>
<servlet-class>com.my.services.HelloService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloService</servlet-name>
<url-pattern>/services/hello</url-pattern>
</servlet-mapping>
然而,它失败了。原因是 springController
不是 a Servlet
,所以它不能在 ATG daf 流水线的末尾。
如果我使用简单的HttpServlet
or DynamoServlet
,我可以访问用户配置文件。
但是,我确实需要使用 Spring Framework,因为我的公司想要使用它。另一个原因是我们在 servlet2.3,我真的很想使用 Spring 注释。
问题是;
有没有办法在不通过 DAF 流水线的情况下从 Spring 控制器获取 atg 会话范围的 necleus?
像JSP页面一样,有没有办法在ATG daf流水线结束时设置一个spring控制器?