Weblogic 8 struts to portlet conversion

Hello all,
We are running Weblogic 8 (sp4) Portal. We have converted a struts prototype application into a portlet. We would like to continue to extend this converted prototype under Weblogic adding additional functionality.
Can we do this? If we add in new pages and struts config mappings, will Weblogic pick this up?
Or was this a one time conversion from Struts to Portlet and we can not extend?
Thank you,
Robert

Yes,
Its your stuts module part of the app and proper mofifications will work and you will know the problems during building in application in workshop.
Thanks
Vishnu

Similar Messages

  • Need Weblogic portal - Stuts portlet tutorial

    Hi All,
    Need Weblogic portal - Stuts portlet tutorial.
    Like how to create struts portlet and how to use it.
    Thanks,
    Venkata Sarvabatla

    Hello Venkata,
    Here's an example for Struts portlets:
    http://download-llnw.oracle.com/docs/cd/E13155_01/wlp/docs103/portlets/building.html#wp1062327
    Kevin

  • Opening a New page on click of a link in Struts PDK portlet

    Hi All,
    Please help me to sort out my issue..
    I created a portlet(say P1) using struts Portlet.That portlet is added to a portal page..which has some other portlets already(p2,p3,p4)...So my portal page has 4 portlets p1,p2,p3,p4..In Portlet P1 There is JSP which has a link inside...When i click on the link..I need to open a new JSP page with some prepopulated data inside it..Now the problem is..it is opening a page with data..but in the new page i am seeing all the remaining portlets as well..P1(with new data),P2,P3,P4 portlet..
    But i need to see only the JSP page with my new content..please help me with this..
    Here is the code...what i have written
    INDEX.JSP
    <%@ page contentType="text/html; charset=windows-1252"
    import="java.io.File, java.io.FilenameFilter"
    %>
    <%@ taglib uri="/WEB-INF/tlds/struts/pdk-struts-html.tld" prefix="html" %>
    <html>
    <head>
    <title>
    Struts Sample Portlet - Hello World...
    </title>
    <body>
    <html:link action="/sayActionHello" target="_blank">My Link</html:link>
    </body></html>
    ACTION CLASS
    public class SayHelloAction extends Action {
         public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    System.out.println("Inside execute ................................");
    PortletRenderRequest pReq = (PortletRenderRequest)
         request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
    ProviderSession pSession = pReq.getSession();
    if(null != pSession){
         System.out.println("Inside---pSession...........................");
         pSession.setAttribute("sample","Sample Data for Testing");
    return mapping.findForward("success");
    Provider.xml
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <?providerDefinition version="3.1"?>
    <provider class="oracle.portal.provider.v2.DefaultProviderDefinition">
    <session>true</session>
    <passAllUrlParams>true</passAllUrlParams>
    <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
    <id>1</id>
    <name>samstruts</name>
    <title>samstruts</title>
    <description>sample struts Portlet Description</description>
    <timeout>40</timeout>
    <showEditToPublic>false</showEditToPublic>
    <hasAbout>false</hasAbout>
    <showEdit>false</showEdit>
    <hasHelp>false</hasHelp>
    <showEditDefault>false</showEditDefault>
    <showDetails>false</showDetails>
    <renderer class="oracle.portal.provider.v2.render.RenderManager">
    <renderContainer>true</renderContainer>
    <renderCustomize>true</renderCustomize>
    <autoRedirect>true</autoRedirect>
    <contentType>text/html</contentType>
    <showPage class="oracle.portal.provider.v2.render.http.StrutsRenderer">
    <defaultAction>/sayHello.do</defaultAction>
    </showPage>
    </renderer>
    </portlet>
    </provider>
    Strutss-config
    PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    <action-mappings>
    <action path="/sayHello" scope="session" type="com.up.tey.SayHelloAction">
    <forward name="success" path="/jsp/index.jsp"/>
    </action>
    <action path="/sayActionHello" scope="session" type="com.u p.tey.SayHelloAction1" input="/htdocs/jsps/index.jsp">
    <forward name="success" path="/jsps/indexsample.jsp"/>
    </action>
    </action-mappings>
    </struts-config>
    Indexsample.jsp
    <%@ page contentType="text/html; charset=windows-1252"
    import="java.io.File, java.io.FilenameFilter"
    %>
    <%@ taglib uri="/WEB-INF/tlds/struts/pdk-struts-html.tld" prefix="html" %>
    <html>
    <head>
    <title>
    Struts Sample Portlet - Hello World...
    </title>
    <body>
    <h1>HELLO WORLD Sample using Struts !!!!!!<%=session.getAttribute("sample")%></h1>
    </body></html>
    In new window i am cing Indexsample.jsp inside my P1 portlet..But the remaining 3 portlets(p2,p3,p4) are also there..Which i dont want..Please Help..this is really very urgent for me..

    HI
    i am also facing same problem with session but in simple portlet with ajax implementation.
    i am setting session in portlet jsp with following code using oracle application server portal 10g.
    (here portlet jsp means which is included from portlet.)
    session.setAttribute("map",map);(here session is implicit object )
    i want to call ajax jsp from portlet jsp with below code.(i.e setting session in portlet jsp and accessing in ajax jsp)
    var url = "<%=renderRequest.getContextPath()%>/AjaxProcessRequest.jsp?q=" + random;
    var pars = '&namespace=<portlet:namespace/>' +'&imagesPath=' + '<%=imagesPath%>';
    var myAjax = new Ajax.Updater(
    {success: 'emailbody'},
    url,
    method: 'get',
    parameters: pars,
    onFailure: reportError,
    evalScripts: true
    i am accessing map object from session in my AjaxProcessRequest.jsp as shown in below code.
    Map map=(Map)session.getAttribute("map"); (here session is implicit object )
    here map object is getting null from session.
    Please help on this if u know about this session.
    Regards
    Raju

  • Struts 2 portlet

    Hi,
    I deploy struts 2 portlet to tomcat and get errors as below:
    Error: URI = "jndi:/localhost/example/WEB-INF/skillportTags/xssString.tld", Line = "2", : Document root element "taglib", must match DOCTYPE root "null".
    Error: URI = "jndi:/localhost/example/WEB-INF/skillportTags/xssString.tld", Line = "2", : Document is invalid: no grammar found.
    Maybe I've some config but I don't know what is it, I would to write here for someone could help.
    Thanks,
    suu

    Thank you, for fast reply
    and here is another errors
    14:12:34 ERROR com.opensymphony.xwork2.interceptor.ParametersInterceptor - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'struts.portlet.eventAction' on 'class org.apache.struts2.portlet.dispatcher.DirectRenderFromEventAction: Error setting expression 'struts.portlet.eventAction' with value '[Ljava.lang.String;@855379'
    I also search more on google but not found any result yet.
    Thanks,
    suu

  • Accessing ADF model within Struts based portlet

    Hi,
    I cannot seem to access and initialise the model from within a Struts based portlet.
    Has anyone been able to get this right, and if so, would you mind sharing it with me.
    I suspect it has something to do with the attributes that are being stored in the oc4j session not being visible in the portal session.
    Tnanks

    Hi,
    Not too worry, I sorted the problem out by adding code to access the servlet session in the struts renderer.

  • ADF Struts based portlet

    Hi,
    I cannot seem to access and initialise the model from within a Struts based portlet.
    Has anyone been able to get this right, and if so, would you mind sharing it with me.
    I suspect it has something to do with the attributes that are being stored in the oc4j session not being visible in the portal session.
    Tnanks

    Hello,
    Could you elaborate a bit? I am having trouble with deploying a Model 1 style JSP that uses ADF.
    Thanks!!!

  • Need to add as a WSRP Connection in JDev for Weblogic Portal JSF Portlets.

    I am trying to register WLP 10.3.4 JSF Portlets as a WSRP connection in JDev Webcenter 11.1.1.6 Portal Framework application . The below are steps:
    -Created Simple WLP Application with JSF Portlets and deployed them on WLS 10.3.4 domain.
    -The WSDL url available is http://localhost:7003/TEST_WEB_PORTAL/producer?wsdl
    -Now Open JDev and created WCP Framwork app
    -Under Application Resource, right click on Connections -> New Connection -> WSRP Producer.
    -Click Next on step1 -> Enter WSDL URL on Step 2 and then click next on next 3 screens.
    -It tries to register but ended up with below exception:
    3-Dec-2012 12:48:03 oracle.adfdtinternal.model.portlet.wizards.registration.wsrp.WSRPProducerRegUtil registerProducer
    WARNING:
    oracle.portlet.client.persistence.PersistenceException: oracle.mds.core.ConcurrentMOChangeException: MDS-00165: metadata Object "/oracle/adf/portlet/WsrpPortletProducer0/portletDefs/portletPortletproducer/markupTypes/markupType0_texthtml.pxml" has changed
    MDS-00512: failure to create document /oracle/adf/portlet/WsrpPortletProducer0/portletDefs/portletPortletproducer/markupTypes/markupType0_texthtml.pxml because file C:\Oracle\PS5\mywork\testSR3-6514764665\mds\oracle\adf\portlet\WsrpPortletProducer0\portletDefs\portletPortletproducer\markupTypes\markupType0_texthtml.pxml already exists
         at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.commit(MDSPersistenceContext.java:473)
         at oracle.portlet.client.beanimpl.persistence.PersistenceBeanContext.commit(PersistenceBeanContext.java:128)
         at oracle.portlet.client.adapter.simple.SimpleAdapter.commit(SimpleAdapter.java:465)
         at oracle.adfinternal.model.portlet.manager.PortletProviderManager.commit(PortletProviderManager.java:1487)
         at oracle.adfinternal.model.portlet.manager.PortletProviderManager.registerPortletProvider(PortletProviderManager.java:1647)
         at oracle.adfinternal.model.portlet.manager.PortletProviderManager.registerPortletProvider(PortletProviderManager.java:597)
         at oracle.adfdtinternal.model.portlet.wizards.registration.wsrp.WSRPProducerRegUtil.registerProducer(WSRPProducerRegUtil.java:308)
         at oracle.adfdtinternal.model.portlet.wizards.registration.wsrp.WSRPProducerRegistrationWizard$1.doWork(WSRPProducerRegistrationWizard.java:863)
         at oracle.ide.dialogs.ProgressRunnable.run(ProgressRunnable.java:161)
         at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: oracle.mds.core.ConcurrentMOChangeException: MDS-00165: metadata Object "/oracle/adf/portlet/WsrpPortletProducer0/portletDefs/portletPortletproducer/markupTypes/markupType0_texthtml.pxml" has changed
    MDS-00512: failure to create document /oracle/adf/portlet/WsrpPortletProducer0/portletDefs/portletPortletproducer/markupTypes/markupType0_texthtml.pxml because file C:\Oracle\PS5\mywork\testSR3-6514764665\mds\oracle\adf\portlet\WsrpPortletProducer0\portletDefs\portletPortletproducer\markupTypes\markupType0_texthtml.pxml already exists
         at oracle.mds.core.UpdateableMOContent.constructConcurrentMOChangeException(UpdateableMOContent.java:1376)
         at oracle.mds.core.UpdateableMOContent.saveMOContent(UpdateableMOContent.java:1143)
         at oracle.mds.core.MDSTransaction.flushChangesToPTrans(MDSTransaction.java:851)
         at oracle.mds.core.MDSTransaction.internalCommit(MDSTransaction.java:2928)
         at oracle.mds.core.MDSSession.flushChanges(MDSSession.java:1022)
         at oracle.mds.core.MDSSession.flushChanges(MDSSession.java:850)
         at oracle.portlet.client.persistenceimpl.mds.MDSSessionWrapper.flushChanges(MDSSessionWrapper.java:61)
         at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.commit(MDSPersistenceContext.java:456)
         ... 10 more
    Caused by: oracle.mds.persistence.DocumentExistsException: MDS-00512: failure to create document /oracle/adf/portlet/WsrpPortletProducer0/portletDefs/portletPortletproducer/markupTypes/markupType0_texthtml.pxml because file C:\Oracle\PS5\mywork\testSR3-6514764665\mds\oracle\adf\portlet\WsrpPortletProducer0\portletDefs\portletPortletproducer\markupTypes\markupType0_texthtml.pxml already exists
         at oracle.mds.internal.persistence.file.Fil
    I have followed the steps given in the http://docs.oracle.com/cd/E26806_01/wlp.1034/e14235/chap_webcenter_interop.htm#BABGIIIJ for preventing User Authentication error by creating user of PortalSystemAdministrator group but did not help.
    Please let me know if anyone have faced this exception or any pointers.
    Thanks
    Kamal Gulati

    Hi,
    I tried creating a simple JSF portlet and I can able to register and it is working Fine, but my teammet got the same issue like you :) . While Analyzing what I found is , the location where we created the portlet in weblogic portal. If you created your portlet directly under WebContent folder then this issue is coming up, so try to create the portlet in a folder inside the WebContent folder, say create a folder with name portlets under webcontent and create the JSF portlet inside that portlets folder.
    Now start the server and register the same in WebCenter, you will not get that exception. I am going to raise a ticket with Oracle about this issue and get the root cause.
    Thanks
    Karthikeyan

  • How to use VPD in Java/Struts JSP portlet with SSO

    DB = 10.1.0 (Standard Edition)
    Portal = 9.0.4.1
    10gAS = 9.4.0.1 (EE)
    I am in the beginning stages of developing some portlets that will be Java/Struts JSP based. We use SSO and have implemented some VPD security in our DB by creating some views that use SYS_CONTEXT('USERENV','CURRENT_USERID').
    These Java portlets connect to the DB using a defined JDBC connection for the OC4J container they are deployed in. The problem I'm having is that the call to SYS_CONTEXT is returning the user of the JDBC connection and not the SSO user. So far I have been unable to find any documentation that will point me in the right direction to get this configured properly.
    Deployment and configuration are as follows. Deploy war file to custom container on app server. In the configuration of the OC4J contain the app used the containers default JDBC connection using the oracle.jdbc.pool.OracleDataSource class. Max and Min open connections are blank.
    In the portal configuration under Navigator - Providers tab we defined a new Registered Provider. In the Connections tab for the provider we Specify the URL Http://hpsrv02.simsol.com:7777/discovery-portlets/providers. Under "Specify how the user's identity will be set by the Portal..." the "The user has the same identity in the Web providers application as in the Single Sign-On identity" is selected. Under "User/Session Information" User is selected and Login Frequency is set to "Once per user session". Then we created a new portal page and created a new portlet with the new provider.
    Just an FYI I do have Discoverer working with VPD and any report portlet, dynamic page portlet and any other type of portlet I created all work correctly with VPD it is just the java/struts one that is not working.
    So does any one have any insight into what configuration steps I have missed?
    Any help is much appreciated,
    Ed Klinger

    Ed,
    Your java code must get the SSO username (it's just a HTTP header variable) :
    ie: code sample...
    Enumeration e = request.getHeaderNames();
    while (e.hasMoreElements()) {
    String name = (String)e.nextElement();
    String value = request.getHeader(name);
    out.println("<br> "+name + " = " + value);
    if (name.toUpperCase().trim().equals("OSSO-USER-DN")){
    dn_user=value;
    out.println("<br>******** USER DN = "+dn_user);
    Then, the SSO username can be used in the VPD policy.
    Note that there is a difference between the sso username and the database username . SSO username is not known by database (CURRENT_USERID will return a database username)
    Discoverer worked OK in your case with the SYS_CONTEXT (.. CURRENT_USERID) because authentication is made by database user, probably.

  • Struts/ADF/Toplink conversion from 10.1.2 to 10.1.3

    Hi. We have a J2EE application based on Struts/ADF/Toplink.
    We just let the JDeveloper migrate the whole application itself.
    We solved a few minor problems, but now we have the greater one:
    - we have in domain classes some getX...(), setX...() methods, intended for example
    for getting attributes of nested objects or for conversion from String to Date.
    In older version, when you had some getXSomeAtr() method in domain class, the attribute
    XSomeAttr was automatically generated into Data Control.
    In newer version it's not! If you want the attribute to be in data control, you must
    have an private attribute XSomeAtr declared in domain class.
    Example - we have these attibutes (first two has their own getters and setters and are
    mapped in toplink, the third is unmapped)
         private Date datum;
    private String nazev;
    private String XDatumAsDate;
    and methods
    public String getXDatumAsDate() {
    return OurUtils.dateToStringAsDate(getDatum());
    public void setXDatumAsDate(String datum) throws ParseException{
    Date d = OurUtils.StringToDateAsDate(datum);
    setDatum(d);
    And the form look like this
    <html:text property="XDatumAsDate" .../>
    <html:text property="nazev"     .../>
    Reading is ok, but attempt to modify date in input field ends with
    "JBO-35009: Setting attribute for XDatumAsDate in object methodRSICollection failed"
    Are we doing something wrong ? We just need to have the date entering under our control and
    be able to enter dates in various formats.
    Thanks in advance for any comments.

    I compared the both old and new data control xml files and found the difference. The previous attribute descriptor has IsUpdateable="true" but the new has IsUpdateable="0".
    Manually changing won't help - data control generation of any class regenerates all data controls and puts back IsUpdateable="0". I'm stuck now.

  • Struts in portlets

    Hy!
    We are working on a portal and we would like to use struts inside of a portlet. Can we do that and are there any free examples?
    Thank you for your anwsers,
    kind regards,
    Bo�tjan

    Leonard,
    The PDK 10g, that will be available for download in the same time frame as the Oracle Application 10g (9.0.4) release will contains a Struts portlet renderer and some Struts extented tags to be able to "portletize" a Struts application.
    Portal does not currently support native Struts apps developed in JDev 903:Technically you can pulish Struts application as portlet, but today you have to develop it yourself, the PDK team did not create new APIs to integrate Struts, just use the current APIs, and especially the possibility of using requestDispatcher to forward the PortletRequest to a Struts application.
    Regards
    Tugdual

  • Workshop IDE for WebLogic Platform - JSF Portlet Development

    Hello,
    I am trying to develop JSF based portlets using BEA Workshop for WebLogic Platform IDE. The capabilities of the IDE in terms of JSF is like a simple text editor. Since the IDE is eclipse based, I wanted to to use some Third Party Plugin for JSF development.
    I evaluated the following:
    1. Workshop Studio for JSF
    2. MyEclipse PlugIn for JSF
    Problem 1:
    Workshop Studio for JSF is a separate product and cannot be installed as an plugin over the Workshop IDE.
    Is this acheivable?
    Problem 2:
    I created a Portal application Workspace through Workshop for Platform and opened the same using Workshop Studio for JSF. It crashed saying some runtime exceptions.
    Problem 3:
    MyEclipse PlugIn for JSF doesnt integrate properly with Workshop IDE. The Faces navigational flow view is not working properly.
    Questions:
    1. What is BEA's recommendation for JSF development?
    2. Can you guide me how other developers are using the IDE for JSF development?
    Thanks and regards,
    Pazhanikanthan. P

    Hi Pazhanikanthan,
    Unfortunately, in the current release the JSF features cannot be used to create JSF portlets.
    Please check the following URL for additional information on JSF portlet creation
    http://e-docs.bea.com/wlp/docs92/portlets/building.html#wp1062147
    If you are planning on building JSF web applications, you can always evaluate and purchase a copy of Workshop for JSF or Workshop Studio.
    if you are planning on building JSF based pportlets, you will need to sue the tooling provided by Workshop for WebLogic 9.2
    Applications built in Workshop for WebLogic cannot be imported into Workshop Studio. On the other hand, you can always create a webapp in Workshop Studio,a nd then import it into Workshop for WebLogic as a component.
    hope this helps.
    cheers
    Raj
    If you have additional questions specific to portlet development, please post to the portal newsgroup at http://newsgroups.bea.com/bea/forum.jspa?forumID=2044

  • Parameters are not Passed in a Struts(JPDK) Portlet

    Dear All,
    I am getting below problem in Oracle Portal Environment(10.1.2)
    I am passing news_id parameter along with title from one page to another page like below code
    In CompanyNewsShowPage.jsp
    <tr>
    <td class="desc">
    <%
    page_url ="/showpageNews.do?news_id="+com_events[0];
    // System.out.println("value of page url : "+ page_url);
    %>
    <input type="hidden" value="<%=page_url%>" id="hdnpageurl"/>
    <pdk-html:link page="<%=page_url%>" styleClass="desc">
    <%
    String obj_title= com_events[1];
    if((obj_title.length())>30)
    out.println(obj_title= obj_title.substring(0,15)+ "...");
    else
    out.println(com_events[1]);
    %>
    </pdk-html:link>
    </td>
    TO passing
    shownews.jsp
    The code for accepting parameter is below
    <%
    System.out.println("value of newsid :"+ newsid);
    String news_id=request.getParameter("news_id");
    if(news_id !=null)
    newsid= Integer.parseInt(news_id);
    System.out.println("value of newsid :"+ newsid);
    %>
    Kindly any one help me how to pass the parameter from one page to another page above problem, because our go live date is very close.
    But same code it is works in IE browser, but not working after deployed in Oracle Portal Environment.
    However, the
    parameters are not passed from the form to the Struts action. When retrieving the parameters, then
    a null value is retrieved, even when the parameter was specified in the form.
    Regards,
    Chandrashekhara
    Message was edited by:
    user487286
    Message was edited by:
    user487286

    Hi Anton,
    I make some tests and it appeared that it's only the output parameter which is not passed through the step (why ?).
    I get this output parameter by a post-running action which parse the joblog and retrieve the sequence number at the line with the pattern  "vendor" (hereunder) :
    100601 20091008 00 516 Job started  0       
    100601 20091008 00 550 Step 001 started (program ZCO_MANAGE_FILE, variant ECLO2, user ID ABAPUSER)  0 001 ZCO_MANAGE_FILE ECLO2 ABAPUSER   
    100601 20091008 00 001 No vendor specified  0 00233      
    100602 20091008 00 517 Job finished  0
    Here is the postrunning action script wich was working before we upgrade :
      JobFile log = jcsJob.getJobFileByName("log");
      if (log != null)
        com.redwood.scheduler.api.search.SearchResultSet myResultSet = log.search("No vendor specified");
        com.redwood.scheduler.api.search.SearchResult myResult = null;
        while (myResultSet.next())
          myResult = myResultSet.getSearchResult();
          String [] line = myResult.getLineText().split(" ");
          JobParameter jp = jcsJob.getJobParameterByName("VendorCode");
          if (jp != null)
            jp.setOutValueString(line[line.length-1]);

  • Struts portlet: generating rewritten action URL inside javascript

    I'm migrating a standalone struts application written for WL 8.1 to WL 10.3 portal environment. The idea is to make a portlet out of the struts app. I've got the application almost working, url rewriting works beautifully by using *<html:link action=...>* in jsps with the weblogic struts-adapter taglibs. But now I have a problem with the incorporated javascripts... For example I'm using a script to submit a html:form and in the script I'm trying to call an action like so:
    *function submit() {*
    document.myForm.action = "action_string";
    document.myForm.submit();
    return true;
    The problem is that I can't use the struts action name as usual (action.do) since that would lead to a standalone page instead of the portal desktop view. WL portal has a rewriter that translates the individual application action URLs to portal URLs so that the uniform view remains as the user interact with the applications. Now my question is: Is there a way to invoke this URL rewriter somehow to do the rewriting for action for me or alternatively, is there a way to get all the URL blocks so I can build the line myself?
    The trick is that I need to get this URL dynamically, so that if I rename the struts module or the portlet, I don't have to update all my javascripts as well. The portal URI that I need is of form (dynamic parts with bold):
    / contextPath / portalDescriptionFile.portal ?_nfpb=true& _windowLabel= portlet_x & portlet_x _actionOverride=%2F moduleName %2FactionName& portlet_x method=methodName
    So far I've been able to get the portlet label (portlet_x) with a scriptlet:
    *<%*
    PortletPresentationContext portletPresentationContext = PortletPresentationContext.getPortletPresentationContext(request);
    portletPresentationContext.getInstanceLabel();
    *%>*
    I can also get the moduleName and contextPath, but not the the rest. So at minimum I would need a way to dynamically get the "+path+" before the "+query+" as in "+/contextPath/path?query+". The "+query+" I can construct with the info I have if necessary.
    Can anyone help me with this?
    If someone knows a good API page for WL 10.3 portal/portlets where I could look for more internal objects (like PortletPresentationContext) containing the data I need, that would also be a great help!
    Edited by: karikko84 on 28.8.2009 3:44

    When constructing links, you have to use the pdk-specific struts tags, for example:
    <pdk-struts-html:link href="/portal/menuPage.do">Also, you need to use the pdk struts tag library:
    <%@ taglib uri="/WEB-INF/pdk-struts-html.tld" prefix="pdk-struts-html" %>Peter

  • How to build portlets using struts

    Hi,
    Iam new to BEA weblogic.can any one help/guide developing portlets using struts on BEA weblogic 8.1 .
    I have a problem while configuring struts module URI.how to work exactly using struts on Weblogic for a portlets.
    Can any provide me the support for developing the sample portlet using sturts.
    thankx,
    RAGHU

    No i didnt tried on Page flows.First i am working on struts portlets.I will find out on page flows and reply u .If u had worked on struts page flows plz help me how i build portlets on struts .
    Thankx,
    Raghu.

  • Creating a portlet from an existing Struts 1.1 application

    Hi,
    I have a concern about using struts portlets into the WL Portal. As no examples
    are provided with WLP 81 sp2, I've tried to build working Struts Portlets using
    existing Struts 1.1 applications. It always fail with an error like that one:
    <26-Jan-2004 2:39:24 o'clock PM EST> <Error> <netuix> <BEA-420599> <Unable to
    perform action [portlets/struts/example/tour] for Struts module [portlets/struts/example].
    Please ensure that both module and action are correct.>
    <26-Jan-2004 2:39:24 o'clock PM EST> <Error> <netuix> <BEA-420037> <There was
    an error loading the requested URI null.>
    <26-Jan-2004 2:39:24 o'clock PM EST> <Error> <netuix> <BEA-423012> <There was
    an error while running a lifecycle stage :: Lifecycle: UIControl.render :: for
    the control :: null ::.
    com.bea.netuix.nf.UIControlException: No ActionResult returned for action [portlets/struts/example/tour]
    in Struts module [portlets/struts/example]. Please ensure that both module and
    action are correct in portlet StrutsContent element.
    at com.bea.netuix.servlets.controls.content.StrutsContent.preRender(StrutsContent.java:399)
    at com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:388)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:619)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:137)
    at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:220)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:158)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:357)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:198)
    at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:559)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >
    My client is waiting for the results of our evaluation prior to acquire this software
    and Struts support is the only thing that delay-us in delivering the final evaluation.
    Without the Struts Support, I'm afraid my client won't use this Portal Server.
    It would be really great if you could provide an example.
    Thanks.
    Julien De Santis-Caron
    CGI Group.

    What I've figured out so far is that the app needs to start from an action. I started
    with the Exadel Struts Studio Community edition tutorial StrutsHello. I copied
    the files as per the Workshop help "Integrating a Struts Application into a Portal".
    At this point I got the same error but them I added a "start" action which simply
    does a forward to "inputname.jsp". I also had to change taglib references to use
    the weblogic supplied versions of the html tags. Then I used the portlet wizard
    to create a new portlet that references the "start" action and dropped this new
    portlet on an otherwise empty portal. So now the portal starts fine and the portlet
    is there. However when I submit the form then I get the same sort of error. The
    form action get filtered by the tag library to generate a portal appropriate URL
    but on the POST it fails to to recognize the action to be run. Anyway maybe if
    a few of use work on this we can make some headway.
    "Julien De Santis-Caron" <[email protected]> wrote:
    >
    >
    Hi,
    I have a concern about using struts portlets into the WL Portal. As
    no examples
    are provided with WLP 81 sp2, I've tried to build working Struts Portlets
    using
    existing Struts 1.1 applications. It always fail with an error like
    that one:
    <26-Jan-2004 2:39:24 o'clock PM EST> <Error> <netuix> <BEA-420599> <Unable
    to
    perform action [portlets/struts/example/tour] for Struts module [portlets/struts/example].
    Please ensure that both module and action are correct.>
    <26-Jan-2004 2:39:24 o'clock PM EST> <Error> <netuix> <BEA-420037> <There
    was
    an error loading the requested URI null.>
    <26-Jan-2004 2:39:24 o'clock PM EST> <Error> <netuix> <BEA-423012> <There
    was
    an error while running a lifecycle stage :: Lifecycle: UIControl.render
    :: for
    the control :: null ::.
    com.bea.netuix.nf.UIControlException: No ActionResult returned for action
    [portlets/struts/example/tour]
    in Struts module [portlets/struts/example]. Please ensure that both
    module and
    action are correct in portlet StrutsContent element.
    at com.bea.netuix.servlets.controls.content.StrutsContent.preRender(StrutsContent.java:399)
    at com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:388)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:619)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:630)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:137)
    at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:220)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:158)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:357)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:198)
    at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:559)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:313)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >
    My client is waiting for the results of our evaluation prior to acquire
    this software
    and Struts support is the only thing that delay-us in delivering the
    final evaluation.
    Without the Struts Support, I'm afraid my client won't use this Portal
    Server.
    It would be really great if you could provide an example.
    Thanks.
    Julien De Santis-Caron
    CGI Group.

Maybe you are looking for