Tak jsem to vyzkousel jen s *.dec a bez uspechu. Neklikrat jsem to zkousel 
prepisovat, z meho pohledu na jednodusi zapisy  a taky nic.
Tak to prozatim necham pres filter a zkusim se  k tomu vratit az budu mit vice 
zazitych informaci ohledne mapovani servletu.

Petr a diky za informace

-----Original Message-----
From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf 
Of Filip Jirsák
Sent: Wednesday, February 25, 2009 2:03 PM
To: Java
Subject: Re: Sitemesh - decodery ve freemarkeru

Filtr to obsluhuje správně, protože má vzor "/*" -- takže se má
aplikovat na vše mimo pojmenovaných servletů. Pokud jej vyřadíte,
zobrazí se zdroj Freemarkeru z toho důvodu, že posíláte .dec soubor,
který neodpovídá žádné cestě servletu, takže jej odešle výchozí
servlet jako běžný soubor.

Nevím přesně, jak fungují dekorátory a jejich vzory -- předpokládám,
že je přeposlání (forward) v rámci servlet kontejneru. Pokud se jako
vzory pro URL používá stejná syntaxe jako pro servlety a filtry, pak
"/*.dec" je špatně a mělo by to být "*.dec" bez lomítka. Vzory
začínají buď lomítkem a pak je to buď přesná shoda (pokud vzor nekončí
hvězdičkou), nebo předpona cesty (pokud cesta končí hvězdičkou). Druhý
typ vzorů začíná hvězdičkou a určuje "příponu souboru" (postfix
cesty). Ve vzorech pro servlety a filtry tedy nikdy nemůže být
hvězdička uprostřed vzoru. Je ale možné, že Sitemesh používá jiný
způsob rozpoznávání vzorů.

Filip Jirsák

Dne 25. únor 2009 13:08 Petr Pokorný <toneofwi...@gmail.com> napsal(a):
> 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: konference-boun...@java.cz [mailto:konference-boun...@java.cz] 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ý <toneofwi...@gmail.com> 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
> fi...@jirsak.org
>
>
> __________ Informace od ESET Smart Security, verze databaze 3876 (20090221) 
> __________
>
> Tuto zpravu proveril ESET Smart Security.
>
> http://www.eset.cz
>
>
>



-- 
Filip Jirsák
fi...@jirsak.org

Odpovedet emailem