更改上下文根的ATG CRS会导致显示原始JSP

时间:2014-07-30 04:37:58

标签: atg endeca

我正在使用带有CRS应用程序的Endeca 3.1.2开发ATG 10.1.2。这是我到目前为止所做的。

希望将我的上下文根更改为/ mystore

我更改了CommerceReferenceStore的web.xml,application.xml和MANIFEST.MF条目中的上下文,随后更改了其中一个CRS商店的站点配置,以获得我的自定义baseUrl和生产URL。

在我的情况下,我没有使用基于路径的多站点方法。我的baseUrl和生产Url是一样的。如果我开始申请,所有页面都会好起来的。但是,当我尝试浏览类别页面(盒式磁带)时,JSP的代码会显示在浏览器上,它们不会编译。

我在oracle社区找到了一些解决方案,我应该从我的web.xml中删除PageFilter中的FORWARD调度程序,这应该可以解决问题。我这样做了,现在页面编译了,但是间歇性的原始JSP与浏览器上的JSP注释一起显示。

线程下方可能会为您提供有关我的问题的背景信息。

https://community.oracle.com/thread/2508338

https://community.oracle.com/thread/3518254

有人试过并有解决方案,请分享您的意见。

3 个答案:

答案 0 :(得分:0)

建议您查看这些组件的配置,因为更改上下文根可能需要更改配置:

    ATG documentation

    中的
  1. ContentItemToRendererPath
      

    getRendererPathForContentItem()方法返回用于呈现ContentItem的JSP文件的web-app相对路径。

  2.   
  3. /atg/endeca/servlet/request/NucleusHttpServletRequestProvider,提供对endeca组件的访问
  4.   
  5. /atg/endeca/assembler/AssemblerPipelineServlet,附有完整的解释here
  6.   

答案 1 :(得分:0)

尝试将REQUESTERROR添加到调度程序元素中。

如果你有......

<filter> 
 <filter-name>PageFilter</filter-name> 
 <filter-class>atg.filter.dspjsp.PageFilter</filter-class> 
</filter>

<filter-mapping> 
 <filter-name>PageFilter</filter-name> 
 <url-pattern>/*</url-pattern> 
 <dispatcher>FORWARD</dispatcher> 
</filter-mapping>

然后将其更改为...

<filter> 
 <filter-name>PageFilter</filter-name> 
 <filter-class>atg.filter.dspjsp.PageFilter</filter-class> 
</filter>

<filter-mapping> 
  <filter-name>PageFilter</filter-name> 
  <url-pattern>/*</url-pattern> 
  <dispatcher>REQUEST</dispatcher> 
  <dispatcher>ERROR</dispatcher> 
  <dispatcher>FORWARD</dispatcher> 
</filter-mapping>

答案 2 :(得分:0)

很抱歉在这么久之后发布了答案。

这是Oracle Commerce本身的一个问题。如果您在Oracle Commerce 10.x版上看到这一点,您应该尝试从Oracle获取补丁。