NanoContainer

make Dispatcher configurable from nanocontainer.groovy

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 1.0-beta-1
  • Component/s: nanowar
  • Labels:
    None
  • Number of attachments :
    1

Description

I made a patch to retrieve Dispatcher instance from application level PicoContainer (if not found, fall back to default ChainingDispatcher).

Here is a sample configuration for using FreeMarker as view:

[[nanocontainer.groovy]]
if (assemblyScope instanceof javax.servlet.ServletContext) {
pico = new org.picocontainer.defaults.DefaultPicoContainer(parent)
pico.registerComponentInstance(new org.nanocontainer.nanoweb.ChainingDispatcher(".ftl"))
return pico
} else if (assemblyScope instanceof javax.servlet.http.HttpSession) {
return new org.picocontainer.defaults.DefaultPicoContainer(parent)
} else if (assemblyScope instanceof javax.servlet.ServletRequest) {
return new org.picocontainer.defaults.DefaultPicoContainer(parent)
}

[[web.xml]]
<servlet>
<servlet-name>FreeMarker</servlet-name>
<servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
<init-param>
<param-name>TemplatePath</param-name>
<param-value>/</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>FreeMarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>

Activity

Hide
Aslak Hellesoy added a comment -

Applied. Thanks!

Show
Aslak Hellesoy added a comment - Applied. Thanks!

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: