Sunday, June 9, 2013

JSP with scriptlet cannot be consumed by WebCenter

I recently came across a scenario to consume the JSP file from WebCenter. It's not a usual scenario but it could be an option in the customer's environment. The customer has some JSP files stored in file system and consumed by some other Portal platform other than WebCenter. The JSP files contain conditional check in the scriptlet to display output dynamically. Now WebCenter is going to replace the old platform and options are discussed to how to consume the JSP files on the files systems.

One option, of course, is to convert the JSP files into content files stored in the WebCenter Content server. This will need some additional work on the content server side to prepare the JSP file counterpart. If the logic in the JSP scriplet can be handled by content server side, then it could be an easier job. If not, multiple content files will be needed for one JSP file conversion.

Let's look at the second option, which is to consume the JSP file directly from the file systems like it is consumed in the old platform. This option sounds straightforward and no extra work needed to prepare the files. But when actually consuming the JSP files from WebCenter Portal, you would get an error message - "Java code in jsp source file is not allowed in ojsp.next mode". While doing some research, there is oracle doc1067696.1 addressing this problem.

The cause of the problem is for WebCenter application, the weblogic-application.xml has the following setting:

<library-ref>
            <library-name>oracle.jsp.next</library-name>
</library-ref>


And, OJSP doesn't support scriptlets in its "next" mode.

Yet I am not able to find more details on the ojsp.next mode.

The conclusion is JSP file with scriptlet cannot be consumed from WebCenter 11.1.1.x series.

No comments: