Using a template engine in a portlet, possible?

Hi there,
When developing servlets I've always used webmacro as a template engine,
separating the code (java) from the layout (html). With Portlets it seems
that people put their html within the java code.
Are there any template engine solutions available for portlets, besides
jsp ofcourse. I'm not really familiar with jsp, and also isn't jsp doing the
same thing, putting java code within the html?
I read it was possible to use webmacro without a servlet container, so
perhaps this is the way to go using it with portlets. But are there also
any integrated solutions.
Does anybody have any experience separating their code and layout using a
template engine? eg webmacro, velocity
How do other developers do this, do you use jsp, or put your html directly
into your code?
kind regards
ido

Hi Ido,
If you can do it in a servlet, then you should be able to do it in the portlet too. You need to specify the servlet for the showpage information in your provider.xml file.
As long as all the HTMl is getting generated upfront (at the Servlet side) then you should not have any issues.
Let me know if you have issues doing it this way.
thanks,
Harsha

Similar Messages

  • Is it possible to display a date as (DD-MON-YYYY) in excel output using excel template in xml publisher

    Is it possible to display a date as (DD-MON-YYYY) in excel output using excel template in xml publisher where date should be displayed as date only not string.

    I've tried to use hierarchy node variables, but it seems like you can't specify a attribute of the hierarchy such as level.  So with the WBS hierarchy, if you create a hierarchy node variable, you specify the WBS value to select (If I understand this correctly).  I wish I could instead specify "give me all the WBS nodes that happen to have the value of the level attribute greater or equal to 3.  If I understand Juergens post, he is saying make security access so that only certain WBS levels can be returned in the query.  I suppose we can try that, but that would then preclude getting the level 1 and 2 in the future if the authorization is global.

  • Why does the message '500 internal server error' appear when I use any search engine?

    I am able to type a web address and use the internet successfully but when using ANY search engine I get the '500 internal server error' message. This appears if I type in a word to search '''bold text'''and the result is the error message. I have recently uninstalled rapport and hitman pro. Please help.

    Did you check your security software (firewall)?
    Which security software (firewall) do you have?
    A possible cause is security software (firewall) that blocks or restricts Firefox or the plugin-container process without informing you, possibly after detecting changes (update) to the Firefox program.
    See:
    * [[Server not found]]
    * [[Firewalls]]

  • Using the Data Engine Java API

    I try to use the Data Engine Java API to generate an XML document from database data.
    So as mentioned in the documentation Business Intelligence Publisher User's Guide Release 10.1.3.2 (page 4-26 to 4-27)
    a) I created a java class (using Jdev Version 11.1.1.0.0)
    package oracle.apps.XMLPublisher.client;
    import com.sun.java.util.collections.Hashtable;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.dataengine.DataProcessor;
    public class XMLFileGenerator {
    public XMLFileGenerator() {
    public static void dataEngine() throws ClassNotFoundException, Exception {
    XMLFileGenerator xMLFileGenerator = new XMLFileGenerator();
    try {
    //Initialization instantiate the DataProcessor class//
    DataProcessor dataProcessor;
    dataProcessor = new DataProcessor();
    //Set Data Template to be executed
    dataProcessor.setDataTemplate("PERFRBS.xml");
    Hashtable parameters;
    parameters = new Hashtable();
    parameters.put("P_LEGAL_ENTITY_ID", "3259");
    parameters.put("P_TRU_ID", "3262");
    parameters.put("P_YEAR", "2009");
    dataProcessor.setParameters(parameters);
    // Now set the jdbc connection to the database that you
    // wish to execute the template against.
    // This sample assumes you have already created
    // the connection object 'jdbcConnection'
    Class.forName("oracle.jdbc.OracleDriver");
    String url =
    "jdbc:oracle:thin:@ap6005sdb.us.oracle.com:1526:hremeadv";
    Connection jdbcConnection;
    jdbcConnection= DriverManager.getConnection(url, "apps", "*****");
    dataProcessor.setConnection(jdbcConnection);
    System.out.println("Here1");
    // Specify the output directory and file for the data file
    dataProcessor.setOutput("BilanSocial.xml");
    System.out.println("Here2");
    dataProcessor.processData();
    System.out.println("Here3");
    } catch (SQLException e) {
    System.out.println("SQLException " + e.getMessage());
    } catch (XDOException e) {
    System.out.println("XDOException" + e.getMessage());
    public static void main(String[] argv) throws ClassNotFoundException,
    Exception {
    XMLFileGenerator xmlPublisher = new XMLFileGenerator();
    XMLFileGenerator.dataEngine();
    b) to generate my xml file based on the following data template
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <dataTemplate name="PERFRBS" defaultPackage="" version="1.0">
    <parameters>
    <parameter name="P_LEGAL_ENTITY_ID" dataType = "number"></parameter>
    <parameter name="P_TRU_ID" dataType = "number"></parameter>
    <parameter name="P_YEAR" dataType = "number"></parameter>
    </parameters>
    <lexicals>
    </lexicals>
    <dataQuery>
    <sqlStatement name="Q_INDICATORS">
    <![CDATA[ SELECT pai.action_information3   YEAR,
                    pai.action_information17  INDICATOR_VALUE
              FROM   pay_action_information pai 
             WHERE  pai.action_information_category     = 'HR_FR_BS'
                AND    pai.action_context_type             = 'PA'
                AND    pai.action_information1             = :P_LEGAL_ENTITY_ID
                AND    pai.action_information2             = :P_TRU_ID
                AND    pai.action_information3            = :P_YEAR       
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_YEARS" dataType="varchar2" source="Q_INDICATORS">
    <element name="YEAR" dataType="varchar2" value="YEAR"/>
    <element name="INDICATOR_VALUE" dataType="number" value="INDICATOR_VALUE"/>
    </group>
    </dataStructure>
    </dataTemplate>
    ---> But when I run it , it fails when calling the data processor with the following error
    D:\Jdeveloper11g\jdk\bin\javaw.exe -client -classpath "D:\Jdeveloper11g\jdevhome\XMLPublisher\src\Client\classes;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\versioninfo.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xdocore.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\collections.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xmlparserv2-904.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\i18nAPI_v3.jar;D:\Jdeveloper11g\jdbc\lib\ojdbc14dms.jar;D:\Jdeveloper11g\jlib\orai18n.jar;D:\Jdeveloper11g\diagnostics\lib\ojdl.jar;D:\Jdeveloper11g\jlib\dms.jar" -Dhttp.proxyHost=emeacache.uk.oracle.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts= -Dhttps.proxyHost=emeacache.uk.oracle.com -Dhttps.proxyPort=80 -Dhttps.nonProxyHosts= oracle.apps.XMLPublisher.client.XMLFileGenerator
    Here1
    Here2
    Exception in thread "main" java.lang.IllegalAccessError: tried to access class oracle.jdbc.driver.OracleStatement from class oracle.apps.xdo.dataengine.DBConnection
         at oracle.apps.xdo.dataengine.DBConnection.setRowPrefetchSize(DBConnection.java:42)
         at oracle.apps.xdo.dataengine.XMLPGEN.setRowPrefetchSize(XMLPGEN.java:1224)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:420)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:281)
         at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:251)
         at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:192)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:222)
         at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:334)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.dataEngine(XMLFileGenerator.java:50)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.main(XMLFileGenerator.java:62)
    Process exited with exit code 1.
    Thanks by advance for your help

    Make sure you have the Oracle JDBC library setup in project parties and it's setup to export. The api's are fine. Have you looked at the BIPublisherIDE I wrote. All this code is already written for you. There is a manual on the site as well
    http://bipublisher.blogspot.com/2008/03/bi-publisher-bipublisheride.html
    Ike Wiggins
    http://bipublisher.blogspot.com

  • Bursting entire report as a single file by using Data Template

    Hi,
    I have created a report by using data template, which consists of 3 queries.
    Is it possible to burst the entire report in one single file? without splitting based on any criteria?
    Something like I want to use a constant value key so that report will split into one file ONLY.
    Please advice.
    Regards
    Muarli.

    You are right in saying that I dont want to use the burst option.. but the problem with FTP delivery, is that I can't pass the date parameter in the file name. Only fixed single file name is provided there..
    Work around for this is to use bursting option to pass corresponding parameter value in output file.
    I'm facing the problem that by using data template source, I can't burst in enterprise edition based on SQL statement.
    Getting the below error:
    oracle.apps.xdo.servlet.scheduler.ProcessingException: java.lang.NullPointerException
         at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:2116)
         at oracle.apps.xdo.servlet.scheduler.XDOJob.execute(XDOJob.java:358)
         at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
         at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
    Caused by: java.lang.NullPointerException
         at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:2018)
         ... 3 more
    Bursting Definitions I used are as below.
         Bursting Node          /SCHEME_SETT_SUMMARY/LIST_G_VALUE_DATE/G_VALUE_DATE/ssc_code
         Delivery Node           /SCHEME_SETT_SUMMARY/LIST_G_VALUE_DATE/G_VALUE_DATE/ssc_code
    But the same report is running and I can schedule by using FTP delivery without bursting option successfully.
    Please assist in resolving this issue.
    Regards
    Murali.

  • HTML tags not displayed when using Data Template

    Hi All...
    I'm developing a BI Publisher report in which one of the columns is a clob data type. I'm using an xsl stylesheet to format the data present in the clob column.
    I've developed the report using data template as the data set. The problem is the clob column which has the HTML tags where not displayed properly...for example
    the tag starting with
    <
    is replaced with
    & lt;
    I did a couple of searches in this forum and in tim's blog but couldn't find a proper solution...
    http://blogs.oracle.com/xmlpublisher/2007/01/formatting_html_with_templates.html
    API and HTML Formated Content
    Re: Problem with text data elements containing escaped HTML codes
    HTML Output from CDATA
    Re: HTML formatted output
    Re: Special characters in CLOB are making report fail
    Re: Formatting of HTML tag problem
    I'm using BI Publisher standalone:Release 10.1.3.2. In one of the threads..
    Re: Special characters in CLOB are making report fail
    I came to know that data template cannot generate proper HTML tags for release 10.1.3.2. Is there any work around way to get the proper HTML tags when data template is used as a data set?
    Thanks in Advance...
    Edited by: user10280715 on Dec 9, 2008 3:13 PM

    Issue could be with the data that is selected in the other environment. It generally happens that the ALV will not give the same results as in the DEV in the other systems.
    Possible errors could be the control break statements in the loop...endloop block. validate the correctness of the control break stmts if any.

  • How to use page parameters with inline rendering portlet

    I am trying to use the inline rendering portlet. Basic functionality works fine.
    What I am trying to do is make the inline rendering portlet use a page parameter. Is this possible?
    I have read pdk articles, but nothing seems to have what I need.
    Any ideas are appreciated.

    Perhaps i might have missed something, but what do you mean by the inline rendering portlet? Are you referring to the URL services portlets that rendered content inline (in the same Portal context & window without popping a new window)?
    I would be able to look into this if you could elaborate on the issue at hand.
    Regards,
    Abhinav

  • Using the Bursting engine for scheduling the Reports

    Hi,
    Can we use the Bursting Engine for scheduling the reports? For example I want to run a report in a scheduled time and send the mail to destination. We can do these things in the XML Publisher console. But we need to find any other way to schedule a report.
    Thx,
    Vijay.

    I am looking for the same thing.
    I believe the APIs are entirely separate from the functionality in the BIP web application. So that there is no way to programmatically initiate the scheduling of a report/template already defined in the UI via a command line or API call. Is this accurate?
    I sort of expected the APIs to have functionality that exposed the features of the web application, as opposed to just exposing the base functionality/engine of BIP.

  • Use of template parameters

    I have a standard Dreamweaver template with a photo in the
    heading. I need to change this photo depending which page is being
    shown. It occurred to me that a template parameter should do the
    trick. I can find no help in the CS3 documentation, and the online
    help no longer supports CS3 users. MX help does give a vague idea,
    but nothing remotely like an example.
    Can anyone tell me what I need to do to set this up

    Template parameters seem like they would be a really nice way
    to do thing.
    They are a mixed blessing, though. The easiest way would be
    with server
    scripting, but if you want to try template parameters, do
    this -
    1. Open the Template page
    2. Select the image
    3. Use MODIFY | Templates > Make Attribute Editable
    4. You will want to make the src attribute of the image tag
    editable with a
    URL parameter in the ensuing dialog
    5. You can browse to and select an image to use for the
    default value of
    this image
    After clicking OK, you will find the following changes on
    your Template
    page -
    Above the </head> tag you will see -
    <!-- TemplateParam name="whatever" type="URL"
    value="pathtoimage" -->
    and in the <img> tag you will see -
    <img src="@@(whatever)@@"....
    The template engine will insert the value of the "whatever"
    parameter into
    the src attribute of the <img> tag when a child page is
    spawned (or
    updated). On that child page, if you want to CHANGE the
    value, use MODIFY |
    Template Properties, and select "whatever", whereupon you
    will get a dialog
    to browse to and select a NEW image to use for this
    parameter. This is the
    ONLY way to change that parameter - if you try to edit it
    directly it will
    not work.
    Try it. You'll see what I mean.
    And by the way, you might find some useful info here -
    http://www.dmx-templates.com.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "whatalotofrubbish" <[email protected]>
    wrote in message
    news:[email protected]...
    >I have a standard Dreamweaver template with a photo in
    the heading. I need
    >to
    > change this photo depending which page is being shown.
    It occurred to me
    > that a
    > template parameter should do the trick. I can find no
    help in the CS3
    > documentation, and the online help no longer supports
    CS3 users. MX help
    > does
    > give a vague idea, but nothing remotely like an example.
    >
    > Can anyone tell me what I need to do to set this up
    >

  • Velocity Template Engine error

    When I look at the "Velocity Template Engine" tab I see the error:
    unable to Find resource 'VM_global_libaray.vm' in any resource loader.
    Could some one help me?
    Thanks in Advance
    Bill

    This error is nothing to worry about -- it's a harmless message from Velocity, which is used by the TemplateMaker extension. If really would prefer not to see it and aren't using TemplateMaker, you can remove the extension by deleting the file "templatemaker.jar" from your ${jdev.home}/jdev/lib/ext directory.
    Thanks,
    Brian

  • Activities Generation using transaction template???

    Good day Gurus!!
    Really need your help!
    I'm trying to generate list of activities for specific Target Group of business partners. Also I need that generated activities would have PLANNED DATE from business partner master data (visiting hours).
    E.g. If business partner's visiting hours = Mon, 11am-1pm; Fri, 4pm-6pm, then 2 activities should be generated respectively one for Mon and second for Fri.
    Transaction CRMD_CALL_LIST seems to be pretty convenient for that. However there are couple of questions:
    1) Is there a way that generated Activities keep link to the Marketing Campaign to which Target Group is assigned?
    2) Is there a possibility to use transaction template for mass generation of activities?
    There is another approach of generating activities - I can do it from CRM_MKTPL. If I use this approach then generated activities are automatically linked to Marketing Campaign and are created using transaction template. BUT in this case:
    1) How can generate these activities based on Business Partner Visiting hours???
    Thanks for having read it to the end.
    Any answer will be truely appreciated,
    Nikita

    Here are some jpgs since nobody has replied to this thread yet.  I hope this helps everyone because I do need the help.
    Thanks,
    David
    Attachments:
    Block - Column Issue in MS Word.JPG ‏65 KB
    Front - Column Issue in MS Word.JPG ‏25 KB
    WORD - Column Issue in MS Word.JPG ‏52 KB

  • Prefill widget using document template

    Hi All,
    We are building a website in which customers fill user friendly forms and sign a W-9 and other documents in an echosign widget. We are going to use document templates to generate the widget for users to sign.
    What property do I need to set at a field level in order for the field to be pre-filled in the widget and customers will only sign?
    role: prefill by sender or field type read-only or neither
    Thanks

    Correct in regards of using mergfieldInfo. and tags.
    prefill is a specific term referring to manually (pre) filling a form, which is indeed not possible with widgets.
    You are referring to mergeing formfield data from another system, which is perfectly possible using the mergfieldInfo parameter.
    in terms of tags the main concern is the name of the field and whether or not you set the field read only for the signer.

  • Templates - how to tell what target is using what template

    Trying to figure out who or what target is using what monitoring template? Anyone can suggest a way? Are only groups use monitoring templates?
    Thanks
    Roman

    Hi,
    As far as i know, you can find out this. Monitoring template is a template which you create and then apply to targets (so that you avoid setting metrics for individual targets one by one). You can apply a template on a single database or on a group by adding all databases in a group. Once you apply template, template metric thresholds will be set for that target based on the template and still you can modify certain metrics for this target. So it means that on a single target you can have metric set through template and also set manually thus it is not possible to find out what was implemented through template and what was done manually.
    Salman

  • EVfunctions fails using web template (without openning BPC Excel)

    When we publish a template in the contant libary, it gives us a url. We use this url to access from a sap portal. Then, the template bottoms with macros that have EVfunctions don't work. We need to open the BPC Excel Client to run it.
    ¿How can we use a web template directly from the url? (without openning the BPC Excel Client)

    maybe I'm explaining bad myself, or maybe I don't underestand your answer.
    I will try to explain it step by step my problem,
    we made a template, with evfunctions, like match-codes, refresh buttom, and another buttoms with Ev functions. This template is used to introduce user-values, so the users can fill the template and save the introduce data in the application.
    We publish it with the content library, so we get a url. We put this URL in sap portal, like a link to this template.
    When users or administrators wants to use this template by this link, it is opened with internet explorer, but the cannot use this template, because, those buttoms and functions doesn't works if we openned in this way. The only way to use this link is if we connect to the bpc excel client, before we use this link. But our question or problem is that we don't want to use in these way, we want to start introducing data and using the template directly from the url.
    So our question is: is there any possibility to do that? and if it is, how can we apply it?
    thanks for your answers.
    Gorka I.

  • Use of Integration Engine on Application System

    I would like to know - the use of Integration Engine on Application System.
    Any links or docs are appreciated
    reg

    Hi,
    The Integration Engine is the runtime environment of SAP NetWeaver usage type Process Integration. It controls the messaging process (receiving, processing, and forwarding) to and from the central Integration Server.
    I agree with you about the usage to make easy for integration of systems with Proxy. Just extending to it, the integration engine has the task of receiving, processing, and forwarding XML messages.
    Event driven Message Processing is also very much possible with Integration engine to control the messaging across the heterogeneous systems
    Message Packaging have imporved the performance of message processing using the integration engine.
    Plesae let me know if your are looking for any other things about it.
    Thanks
    Swarup

Maybe you are looking for

  • How do I read a downloaded manual file for Satellite 1800?

    I downloaded the file named S1800MnlME.EXE from the Australian Toshiba site. I didn't download it to the notebook to which it applies (model PS181A-00UK5), but to a different computer. I double-clicked on the file. I got a window on the screen. The t

  • Simple EJB3/JAAS Example?

    Hello. I'm trying to write a simple prototype using an EJB3 stateless session bean and JAAS, but running into some problems. Does anyone know of a complete example that explains how to create a security-enabled EJB and deploy it to WebLogic? I have s

  • Black border around desktop - Pavilion 23

    I have a black border about 1 inch wide all around my desktop. How can I expand my desktop to fill this space? Thanks, John

  • Define access sequence for purchase order

    Hi, Please can I get some advice on how to create an access sequence in MM (in IMG = define access sequence for purchase order) I have created a condition type for handling costs and want to assign a default value for each individual goods supplier.

  • Rmi SocketTimeoutException

    Hi, We�re using a RMI connection. In rare occasions, when the api calls that the rmi server performs take too much time, we get an UnmarshalException which wraps a SocketTimeOutException. It happens 60 seconds after the client sent request to the ser