[opencms-dev] using cms:include from a jsp

Mario Jäger m.jaeger at alkacon.com
Fri Dec 17 10:43:17 CET 2010


Hi,

If I understand you right, then you have tried to render the xml content 
using its jsp, which is configured in the "template-element" property. 
But, that did not work. What were the reasons for that?

-- 
Kind Regards,
Mario.

-------------------
Mario Jäger

Alkacon Software GmbH  - The OpenCms Experts
http://www.alkacon.com - http://www.opencms.org

Am 16.12.2010 21:42, schrieb eelboy at aol.com:
> Hi Mario,
>
> Thank you for your response. Ultimately I got things working - though
> not exactly as I would have liked. I wanted the calling page (for
> simplicity let's just make it a jsp) to issue a cms:include for the
> structured xml content item. Somehow, I wanted that xml content item to
> render using it's template-elements jsp. This I could not get working,
> so (with some help) the calling page - instead - issues a call to a jsp
> fragment (in my module's elements/ directory). Within the cms:include I
> am using a parameter to reference the structured xml content file.
>
> In my specific case the structured xml content is not intended to live
> by itself as a page. It will always only be a fragment of content that
> lives in the context of other pages. So the template-elements jsp is
> essentially the same jsp that I ended up putting in my module's
> /elements directory.
>
> Basically, it's the reverse of what I was expecting... Normally, an http
> request would come in for the xml content (assuming it's designed to be
> accessed by itself as a page), and it finds the template-elements
> property and uses that as a "wrapper" for it's content. Now, I instead
> call the file that would normally serve as the template-elements
> property and attach a parameter so that it can find the content document.
>
> In the end I am content that it's working at all :) But if there is
> another way to do it (perhaps this way is not a "standard") I would be
> curious to know. The one flaw in what I've got working is that one must
> be aware of both the content to include and the elements object that
> serves as it's wrapper. It would be better if I could just include the
> content and it automatically grabs the associated template-elements as
> the wrapper. I hope I'm making sense :)
>
> In the example I provided I should probably have re-named
> slide-test-1.jsp instead to slide-test-1.xml to make clear that this was
> the structured xml document.
>
> Thanks,
> eelboy
>
> On 12/16/2010 8:05 AM, Mario Jäger wrote:
>> Hi,
>>
>> I advice the chapter "How to use the OpenCms JSP Taglib" in the Alkacon Documentation to better understand the OpenCms JSP Taglib. If you still have not installed the Alkacon Documentation in your OpenCms, you can download that documentation here:http://www.opencms.org/en/download/documentation.html
>>
>> I do not know if you have understood the OpenCms basics, because I do not know what you want to reach with your own module and I do not know the content of the jsp files in your module.
>>
>> But, general it is possible to include a jsp file which renders xml content in another jsp.
>>
>> How did you implement in your "slide-test-1.jsp" which xml content is to render?
>> --
>> Kind Regards,
>> Mario.
>>
>> -------------------
>> Mario Jäger
>>
>> Alkacon Software GmbH  - The OpenCms Experts
>> http://www.alkacon.com  -http://www.opencms.org
>> Am 28.11.2010 16:49, schrieb eelboy at aol.com:
>>> Hi,
>>>
>>> I keep getting a Null Exception Pointer (at
>>> org.opencms.xml.CmsXmlUtils.createXpath(CmsXmlUtils.java:145) when
>>> trying to include a structured content type into a jsp. Here is my
>>> VFS layout:
>>>
>>> /sites/mysite/index.jsp (<-- has cms:include
>>> file=/_include/_hpSlides/slide-test-1.jsp)
>>> /sites/mysite/_include/_hpSlides/slide-test-1.jsp (<-- Type is
>>> hp-slide-default)
>>> /system/modules/com.mysite/schemas/hp-slide-default.xsd
>>> /system/modules/com.mysite/templates/HP-Slide-Default.jsp (<-- this
>>> is the value for property template-elements on _include_ folder)
>>>
>>> So basically, if I navigate in the workplace directly to
>>> /sites/mysite/_include/_hpSlides/slide-test-1.jsp I see my content
>>> render just as I want it: with the template controlling all the
>>> surrounding markup, and the structured content elements being pulled
>>> in via the cms:include tags (referencing the specific elements)
>>> within the template.
>>>
>>> Now I would like to include that same rendered markup inside of
>>> another jsp page. In this case, I want my index.jsp to simply include
>>> the slide-test-1.jsp so that the exact same markup I saw when I
>>> previewed the slide-test-1.jsp simply appears inside the index.jsp
>>> where the cms:include is. Instead I get the always dreaded
>>> NullExceptionPointer.... I feel like I am just not understanding
>>> something very basic about how OpenCms works (I am a complete newbie
>>> of course!) I am using version 7.5.3. I hope I've provided enough
>>> information if not let me know and I can provide plenty more :)
>>>
>>> I should point out that I can of course use a cms:include from within
>>> index.jsp and then pull in specific elements (exactly the same way as
>>> the template code does) but this defeats the purpose (for me anyways)
>>> as I would like to abstract the entire block of that section in the
>>> index page so that perhaps some other day a different cms:include
>>> will pull in a completely different block of markup from a different
>>> structured content type. Does this make sense?
>>>
>>> Thanks,
>>> eelboy
>>>
>>>
>>>
>>> _______________________________________________
>>> This mail is sent to you from the opencms-dev mailing list
>>> To change your list options, or to unsubscribe from the list, please visit
>>> http://lists.opencms.org/mailman/listinfo/opencms-dev
>>
>>
>>
>> _______________________________________________
>> This mail is sent to you from the opencms-dev mailing list
>> To change your list options, or to unsubscribe from the list, please visit
>> http://lists.opencms.org/mailman/listinfo/opencms-dev
>
>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev



More information about the opencms-dev mailing list