Hi, When using replaceSuffix inside sling include tag like <sling::include replaceSuffix=test.pdf />
will it replace <a href="/content/mynode/file.bin/My Report.pdf">report</a> with "/content/mynode/file.bin/test.pdf" so I can use test.pdf file instead of My Report.pdf automatically. How can I use replaceSuffix inside sling:include tag correctly. regards, Janandith. On Tue, Aug 5, 2008 at 1:39 AM, Tobias Bocanegra <[EMAIL PROTECTED]>wrote: > On 8/4/08, janandith jayawardena <[EMAIL PROTECTED]> wrote: > > Hi, > > > > Another question Toby how do I create file.bin stated in the following. > Is > > it an extention for resource file. > just upload a file via webdav, for example. or place it as initial > content into a bundle. > > regards, toby > > > > no quite. if you have a file, eg. a document in > > >/content/mynode/file.bin which you > > >want to provide a download link, you write > > > > > > regards, > > > > Janandith > > > > > > On Tue, Aug 5, 2008 at 12:53 AM, janandith jayawardena > > > > <[EMAIL PROTECTED]>wrote: > > > > > Hi Toby, > > > > > > >afaik, there is not way of checking this. you can check if the > > > >response was already comitted by response.isComitted() but this does > > > >not reflect the actual state of the jsp output buffer. see: > > > > > > I used response.isCommited() to test flush in sling:include it works > fine. > > > > > > Thanks alot. I'm really greatfull for pointing me to this option :-). > > > > > > Janandith. > > > > > > > > > > > > > > > On Mon, Aug 4, 2008 at 6:42 PM, Tobias Bocanegra < > [EMAIL PROTECTED] > > > > wrote: > > > > > >> On 8/4/08, janandith jayawardena <[EMAIL PROTECTED]> wrote: > > >> > Hi Toby, > > >> > > > >> > > > >> > > > >> > >i see mainly 2 purposes for the suffix,: > > >> > >1. as an additional way of transporting a path like parameter > > >> > >2. as a hint for filenames for browsers when downloading a > resource. > > >> > >eg, if your resource is addressable under /foo/bar.res and you > want to > > >> > >provide a download link, > > >> > >you don't want to browser to store the file as 'bar.res'. so you > add > > >> > >for example the original filename: /foo/bar.res/myfile.pdf > > >> > > > >> > > > >> > does this mean if I have a html.jsp which is accessible using > > >> > http://localhost:8888/content/mynode.html. > > >> > > > >> > If I have another file like test.txt in the same place html.jsp > > >> > http://localhost:8888/content/mynode.html/test.txt will download > the > > >> file > > >> > according purpose 2. > > >> no quite. if you have a file, eg. a document in > > >> /content/mynode/file.bin which you > > >> want to provide a download link, you write > > >> <a href="/content/mynode/file.bin/My Report.pdf">report</a> for > example. > > >> sling selects the /content/mynode/file.bin as resource, but the > > >> browser will store it under "My Report.pdf". this is just a > convenient > > >> way of suggesting a file name for browsers. > > >> > > >> > else in the purpose 1 to have a link to test.txt like a href in > > >> html.jsp. > > >> > > > >> > In a script can I use suffixes instead of giving a browser path. > > >> actually i don't know of a really good use case for suffixes as > > >> parameters to be used in scripts. > > >> > > >> > > the "flush" attribute just specifies, that the output buffer is > > >> > > flushed before executing the include. usually you can leave this > to > > >> > > 'false'. this has the advantage, that the output buffer is only > > >> > > comitted when it's either full, or the end of the response is > > >> reached. > > >> > > this allows the included script still to change response headers > and > > >> > > allows for a better error handling. but it depends on the size > of the > > >> > > output buffer, and you should not rely on an uncomitted buffer. > as > > >> > > soon as you write directly on the response.getWriter() you need > to > > >> > > flush the buffer before hand. otherwise you don't get the > correct > > >> > > sequence of output. > > >> > > > >> > > > >> > Is there a way I can know whether the buffer is flushed. can I get > the > > >> > buffer in a script and check this. > > >> afaik, there is not way of checking this. you can check if the > > >> response was already comitted by response.isComitted() but this does > > >> not reflect the actual state of the jsp output buffer. see: > > >> > > >> > > >> > http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletResponse.html#isCommitted()<http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletResponse.html#isCommitted%28%29> > < > http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletResponse.html#isCommitted%28%29 > > > > >> > > >> regards, toby > > >> > > >> > On Mon, Aug 4, 2008 at 1:19 AM, Tobias Bocanegra > > >> > <[EMAIL PROTECTED]>wrote: > > >> > > > >> > > > >> > > On 8/3/08, janandith jayawardena <[EMAIL PROTECTED]> wrote: > > >> > > > Hi, > > >> > > > > > >> > > > *replaceSuffix:* > > >> > > > > > >> > > > I read the following blog post while exploring replaceSuffix > for > > >> > > SLING-475. > > >> > > > > > >> > > > > > >> > > > > >> > http://weblogs.goshaky.com/weblogs/lars/entry/an_architecture_for_content_centric2 > > >> > > > > > >> > > > it says , > > >> > > > > > >> > > > "With the suffix you could for instance address parts of a > > >> resource." > > >> > > > > > >> > > > under suffix: description. > > >> > > i see mainly 2 purposes for the suffix,: > > >> > > 1. as an additional way of transporting a path like parameter > > >> > > 2. as a hint for filenames for browsers when downloading a > resource. > > >> > > eg, if your resource is addressable under /foo/bar.res and you > want > > >> to > > >> > > provide a download link, > > >> > > you don't want to browser to store the file as 'bar.res'. so you > add > > >> > > for example the original filename: /foo/bar.res/myfile.pdf > > >> > > > > >> > > > > >> > > > How can I create a suffix for a resource and use it. I've > tried to > > >> > > figure it > > >> > > > out but it's still not clear. > > >> > > > Perhaps a simple example will help. > > >> > > you can't "create" a suffix, you just use it, for example in a > link > > >> or > > >> > > an image reference. > > >> > > > > >> > > > *flush:* > > >> > > > > > >> > > > What I have in mind about flush is that it completely erases > > >> everything > > >> > > that > > >> > > > was created in the same script prior to flush="1" so that any > > >> formatting > > >> > > > after flush will be the result of the jsp script. > > >> > > > > > >> > > > I want to clear this also. A simple example will help here > too. > > >> > > no, you can't erase anything. flush means here: flush the buffer > to > > >> > > the response. > > >> > > > > >> > > the "flush" attribute just specifies, that the output buffer is > > >> > > flushed before executing the include. usually you can leave this > to > > >> > > 'false'. this has the advantage, that the output buffer is only > > >> > > comitted when it's either full, or the end of the response is > > >> reached. > > >> > > this allows the included script still to change response headers > and > > >> > > allows for a better error handling. but it depends on the size > of the > > >> > > output buffer, and you should not rely on an uncomitted buffer. > as > > >> > > soon as you write directly on the response.getWriter() you need > to > > >> > > flush the buffer before hand. otherwise you don't get the > correct > > >> > > sequence of output. > > >> > > > > >> > > regards, toby > > >> > > > > >> > > > >> > > > > > > > > >