V tom pipade napisi muj priklad jelikoz si to potrebuji ujasnit na necem jednoduchem...
Toto je web.xml ...funkcne nastavene na filtruj vsechno <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- Filter for Sitemesh --> <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> </filter> <servlet> <servlet-name>sample</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>sample</servlet-name> <url-pattern>/sample/*</url-pattern> </servlet-mapping> <!-- All requests should go through sidemesh filter --> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext*.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> </web-app> Decorator ma cestu k souboru <decorators> <decorator name="meDecorator" page="/decorators/decorator.jsp"> <pattern>*</pattern> </decorators> A ve springu je jen definice url na controller ktery zobrazuje jednoduchy freemarker template... A pokud toto pridam do web.xml <!--Declare servlet for handling freemarker requests --> <servlet> <servlet-name>sitemesh-freemarker</servlet-name> <servlet-class>com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</servlet-class> <init-param> <param-name>TemplatePath</param-name> <param-value>/decorators/</param-value> </init-param> <init-param> <param-name>default_encoding</param-name> <param-value>ISO-8859-1</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>sitemesh-freemarker</servlet-name> <url-pattern>*.dec</url-pattern> </servlet-mapping> A toto do decoderu.xml <decorator name="frDecorator" page="/decorators/freemarkerDec.dec"> <pattern>/*.dec</pattern> </decorator> Pokud to volam /sample/index.dec Tak to prevezme filter a ne sitemesh-freemarker A bez filteru sitemesh to zobrazi oroginal freemarker template. Premyslim zda jen nechapu jak poskladat vice filteru, a servletu dohromady. Diky za odpoved -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Filip Jirsák Sent: Wednesday, February 25, 2009 12:26 PM To: Java Subject: Re: Sitemesh - decodery ve freemarkeru Dobré odpoledne, nevím, jaký případ řešíte konkrétně, ale obecně to funguje tak, že servlet engine postupně prochází filtry odpovídající danému URL v pořadí, v jakém jsou definovány, a nakonec (pokud zpracování nějaký filtr nepřeruší nebo nepřesměruje jinam) se řízení předá jedinému servletu, jeho vzor URL nejlépe odpovídá požadovanému URL. Jak přesně se stanovuje, zda filtr patří k danému URL nebo ne a jak se stanovuje pořadí toho, zda URL odpovídá vzoru servletu, najdete ve specifikaci, není to zas tak jednoduché. Pokud například nastavíte Freemarker, aby zpracovával cestu *.ftl, a příslušné šablony nebudou v cestě, jejíž prefix by zpracovával nějaký jiný servlet (např. nebudou v cestě /sablony/sablona.ftl v prípadě, kdy existuje servlet pro cestu /sablony/*), stačí zavolat cestu s koncovkou .ftl a příslušný soubor bude zpracován Freemarkerem. S pozdravem Filip Jirsák Dne 25. únor 2009 11:42 Petr Pokorný <[email protected]> napsal(a): > Zdravim konferenci, > potrebuji poradit o Sitemesh jako serveltu freemarkeru. > > Mam rozchozeny projekt kde mam Spring, freemarker a Sitemesh jako filtr. > Funguje to bez probelmu. Dekodery jsou psane v JSP. > Nejak si nedokazi dat dohroamdy, pridani servletu- freemarkeru, tak aby jsme > mohli psat dekodery taky ve freemarkeru. > > Koukal jsem se na stranky Sitemesh, a vzal si tam ten jejich priklad a uz > nekolikaty den to resim, bud si nedokazi poskladat jak pospolu funguje vice > servletu a filter .. nebo tam mam nejakou jinou chybu. > > Mate nekdo o tom prehled, aby jste poradil jak to jednoduse s ungujiciho > filteru prevest na freemarker servlet decoder? > > Diky za podporu > > > Jsem spozdravem Petr Pokorny > > > __________ Informace od ESET Smart Security, verze databaze 3876 (20090221) > __________ > > Tuto zpravu proveril ESET Smart Security. > > http://www.eset.cz > > > -- Filip Jirsák [email protected] __________ Informace od ESET Smart Security, verze databaze 3876 (20090221) __________ Tuto zpravu proveril ESET Smart Security. http://www.eset.cz
