Struts and ADF in Portal

Hello. We have had a TAR going for some time regarding an issue with Struts and ADF in Portal. This is the summary of the TAR:
Customer followed the following document to create his Struts ADF application:
Developing an End-to-End Web Application Using the Default Technology Scope
at
http://www.oracle.com/technology/obe/obe9051jdev/ADFtoJSP/defaultendtoend.htm
After following the steps in the documentation, his application worked just fine.
- After this he decided to portletize his application using the following document:
OracleAS Portal Developer Kit (PDK)
How to create a Struts Portlet ?
at
http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/pdkstruts/portletize-your-app.html
When adding his portlet to a page, he basically received a portlet without any data, while the same worked fine outsi
de of Portal.
These are examples from the JSP file that do not show up in the portlet:
<c:out value="${bindings.DepartmentsView1.labels['DepartmentId']}">
<c:out value="${bindings.DepartmentId.label}"/>
</c:out>
We figured out that if we add the following filter mapping then it works fine:
<filter-mapping>
<filter-name>ADFBindingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
This filter mapping would mean that it maps all URLs to the ADFBindingFilter. I suppose this would not be necessary and we're concerned about the implications this might cause and we believe that there should be a better solution for this.
The final reply from support was that Portal is not yet supported with ADF technology. Does anyone have any comment on the above filter issue and other thoughts on using Struts and ADF in Portal? Another issue we found was that the PDK Struts tags do not support EL expressions. Have a look at this forum post:
Re: Struts and nested tags in parameters. Possible?

I am trying to create a portlet with JSF/ADF
I Developed a Application with Oracle ADF UIX from: http://www.oracle.com/technology/obe/obe_as_1012/j2ee/develop/client/uix/lesson_uix.htm
and then I followed this link: http://oracle001.cedecra.it/pdk/articles/pdkstruts/portletize-your-app.html
to portletize the application
and I am getting the below error message:
500 Internal Server Error
java.lang.SecurityException: sealing violation at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1153) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java) at com.evermind.util.OC4JSecureClassLoader.defineClassEntry(OC4JSecureClassLoader.java:172) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1179) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java) at com.evermind.util.OC4JSecureClassLoader.defineClassEntry(OC4JSecureClassLoader.java:172) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1179) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:1655) at java.lang.Class.getMethod0(Class.java:1901) at java.lang.Class.getMethod(Class.java:984) at oracle.portal.utils.xml.v2.DefaultNodeHandler.findMethod(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.setCustomValue(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.handleSimpleElement(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.processNode(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.processNode(Unknown Source) at oracle.portal.provider.v2.http.DefaultProviderLoader.getProviderDefinition(Unknown Source) at oracle.portal.provider.v2.http.DefaultProviderLoader.validate(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.validate(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.showTestPage(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.handleHttp(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java) at oracle.webdb.provider.v2.adapter.SOAPServlet.doHTTPCall(Unknown Source) at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:669) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:340) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)
[b]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>
<preferenceStore class="oracle.portal.provider.v2.preference.FilePreferenceStore">
<name>prefStore1</name>
<useHashing>true</useHashing>
</preferenceStore>
<portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
<id>1</id>
<name>MyTest2Portlet</name>
<title>My Test2 Portlet</title>
<description>My Test2 Portlet Description</description>
<timeout>40</timeout>
<showEditToPublic>false</showEditToPublic>
<hasAbout>false</hasAbout>
<showEdit>true</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>/portal/browseDeptEmp.do</defaultAction>
</showPage>
<editPage>/htdocs/mytest2portlet/MyTest2PortletEditPage.jsp</editPage>
</renderer>
<personalizationManager class="oracle.portal.provider.v2.personalize.PrefStorePersonalizationManager">
<dataClass>oracle.portal.provider.v2.personalize.NameValuePersonalizationObject</dataClass>
</personalizationManager>
</portlet>
</provider>
struts_config.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/>
</form-beans>
<action-mappings>
<action path="/portal/browseDeptEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/browseDeptEmp.uix">
<set-property property="modelReference" value="browseDeptEmpUIModel"/>
<forward name="formEmpLink" path="/portal/formEmp.do"/>
<forward name="createEmpLink" path="/portal/createEmpAction.do"/>
<forward name="searchEmpLink" path="/portal/searchEmp.do"/>
</action>
<action path="/portal/formEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/formEmp.uix">
<set-property property="modelReference" value="formEmpUIModel"/>
</action>
<action path="/portal/createEmpAction" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataAction" name="DataForm">
<set-property property="modelReference" value="formEmpUIModel"/>
<set-property property="methodName" value="formEmpUIModel.Create"/>
<set-property property="resultLocation" value="${requestScope.methodResult}"/>
<set-property property="numParams" value="0"/>
<forward name="success" path="/portal/formEmp.do"/>
</action>
<action path="/portal/searchEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/searchEmp.uix">
<set-property property="modelReference" value="searchEmpUIModel"/>
</action>
</action-mappings>
<message-resources parameter="view.ApplicationResources"/>
</struts-config>
web.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>DataBindings</param-value>
</context-param>
<context-param>
<param-name>oracle.portal.log.LogLevel</param-name>
<param-value>4</param-value>
</context-param>
<filter>
<filter-name>ADFBindingFilter</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>windows-1252</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ADFBindingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ADFBindingFilter</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ADFBindingFilter</filter-name>
<servlet-name>uix</servlet-name>
</filter-mapping>
<!-- <filter-mapping>
<filter-name>ADFBindingFilter</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
-->
<filter-mapping>
<filter-name>ADFBindingFilter</filter-name>
<servlet-name>SOAPServlet</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>SOAPServlet</servlet-name>
<description>Extended Portal SOAP Server</description> <servlet-class>oracle.webdb.provider.v2.adapter.SOAPServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>uix</servlet-name>
<servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
<init-param>
<param-name>oracle.cabo.servlet.pageBroker</param-name>
<param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
</init-param>
<init-param>
<param-name>oracle.cabo.servlet.UIXRequestListeners</param-name>
<param-value>oracle.cabo.adf.rt.InitModelListener</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>SOAPServlet</servlet-name>
<description>Extended Portal SOAP Server</description>
<servlet-class>oracle.webdb.provider.v2.adapter.SOAPServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uix</servlet-name>
<url-pattern>*.uix</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uix</servlet-name>
<url-pattern>/uix/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SOAPServlet</servlet-name>
<url-pattern>/providers</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SOAPServlet</servlet-name>
<url-pattern>/providers/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.uix</welcome-file>
</welcome-file-list>
</web-app>
someone please help me out.
Thank you so much

Similar Messages

  • Making a delete commit automatically with ADF BC, Struts and ADF UIX

    I'm trying to create a delete action that commits to the database automatically using ADF Business Components, Struts and ADF UIX.
    I have a browse page from which the user can view all records in the table, and perform edit, create and delete actions on the data.
    When the user selects a record and clicks edit they are taken to a screen where they can amend the details of that record. Create works in a similar way, but the create action on the view object is invoked before taking the user to the edit page (this is done by linking the browse page to an ADF DataAction (bound to Create) on the Struts page flow diagram, and then linking the ADF DataAction to the edit page).
    When the user clicks submit on the edit page, the container follows a forward from the edit page to an ADF DataAction bound to the Commit method, and then from there a forward back to the browse page.
    This seems to work fine for edit and create, but when I try to do something similar for delete, it behaves unpredictably - sometimes the delete is committed to the database, sometimes not.
    To be more specific, the way I have tried to implement the auto commit delete is as follows:
    There is a UIX submitButton on the browse page called Delete. When clicked, this button triggers an event, which is caught by an event handler inside the page. The event handler causes the UIX servlet to take a forward to an ADF DataAction bound to the Delete method on the relevant view object. It thens follows a forward from the previously mentioned DataAction to another ADF DataAction bound to the Commit method for the application module. There is then a forward leading back to the browse page.
    Has anyone else encountered similar problems?

    did you figure this out?

  • Login Box example and source code on adf struts and JSP

    Dear all..
    I want to make application using ADF struts and JSP using oracle 10g Jdeveloper.
    The user should login into the login box and verify everyone who has right to enter the home.jsp.
    Anybody could help me with the source code as well as the step by step explanation...
    I'm looking forward the help...

    http://www.oracle.com/technology/products/jdev/collateral/papers/10g/reviewer/viewlets/reviewer_struts_viewlet_swf.html

  • COMMIT problem in TopLink, Struts, JSP and ADF Databinding sample

    In the sample Developing a J2EE Application using TopLink, Struts, JSP and ADF Databinding,
    I followed all the steps to build a department browse page and a edit page.
    But when I get to Step number 23 in "Create a JSP to Edit Departments" I have a problem with the commit.
    Only after I make a change in the form and click the sumbit button, the commit and rollback buttons become active. And After I click the commit button the data gets commited to the database but the page inofmation changes to the very first department record, not the current one.
    How do I make those buttons active with out the extra click on the submit?
    After I click the commit button, how do I keep the current data on the screen?
    Thanks for you help.

    Shay,
    Thanks for the reply.
    For #1, I was able to do the following and get away with not having to press submit first. I just removed the bindings for disable. I hope that does not cause any problems?
    <input type="submit" name="event_Commit" value="Commit" />
    <input type="submit" name="event_Rollback" value="Rollback" />
    For #2, How I add an action on an HTML button? My UIModel.xml for the edit department page currently has two actions on it. Commit and RollBack. Is it linked through the "name" attribute of the input tag?

  • Struts controller classes and ADF in JDeveloper 10.1.3 EA

    I've noticed that ADF Struts has changed quite a bit from JDev 10.1.2. In the previous version of ADF Struts, the default data action class was oracle.adf.controller.struts.actions.DataForwardAction. In version 2 of ADF Struts, the default action class is oracle.adf.controller.v2.lifecycle.PageController. When overiding a lifecycle method in the DataForwardAction class, the method was always passed a DataActionContext object. The DataActionContext class had a method called getHttpServletRequest() so I could get a handle on the request object. On the other hand, the PageController lifecycle methods use the LifecycleContext object and I have yet to find a way to get access to the request object. Does anyone know of a way to get a handle on the Http request object? I've looked at the javadocs for the new Struts action classes but have found nothing that would help.
    I also noticed that the DataForwardAction class (package = oracle.adf.controller.v2.struts.actions) has been changed in version 2 of ADF Struts and only a few methods remain. So I would assume that this class will no longer be used the same way it was in the past. Is this a safe assumption?

    The task of customizing the PageLifecycle or handling events are now delegated to the PageController. These tasks were previously done in a subclass of the DataForwardAction. The DataForwardAction is now only responsible of bootstrapping the PageLifecycle.
    </br></br>
    In 10.1.2, reference to the model BindingContainer was done using a <set-property> for each DataAction. This is now done in the DataBindings.cpx file using a mapping between the path and the BindingContainer. This new mechanism is identical for Struts or Faces. Same with the PageController which is in 10.1.3 the common place to extend the behavior of the PageLifecycle or a ControlBinding for Struts and Faces.

  • 500 Internal Server Error when I add struts portlet in the portal

    I'm using jDeveloper 10g and have created a sample struts app which is working fine when using the regular struts-html.tld tags and struts-bean.tld tags .I'd like to get it working using the pdk-struts-html.tld taglib though so that I can deploy it as a portlet.
    When I run the jsp page as follow:
    <%@ taglib uri="/WEB-INF/pdk-struts-html.tld" prefix="pdk-struts-html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ page contentType="text/html;charset=GBK"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <title>untitled</title>
    </head>
    <body>
    <pdk-struts-html:errors />
    <pdk-struts-html:form action="/portal/SaveNewBlog.do">
    <bean:message key="userid.prompt"/>
    <pdk-struts-html:text property="userid" />
    <bean:message key="password.prompt"/>
    <pdk-struts-html:password property="password" />
    <pdk-struts-html:submit />
    </pdk-struts-html:form>
    </body>
    </html>
    However, there are some thing wrong with it ,I don't know how to modify it :
    500 Internal Server Error
    java.lang.NullPointerException
         at oracle.portal.provider.v2.url.UrlUtils.htmlFormActionLink(Unknown Source)
         at oracle.webdb.provider.v2.taglib.struts.html.PDKFormTag.renderFormStartElement(Unknown Source)
         at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:443)
         at oracle.webdb.provider.v2.taglib.struts.html.PDKFormTag.doStartTag(Unknown Source)
         at view.portal._enterNewBlog._jspService(enterNewBlog.jsp:11)
         [SRC:/view/portal/enterNewBlog.jsp]
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:139)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:349)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:604)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Thanks
    yijv

    Sure ...
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <div>
        <html:errors/>
        <html:form action="/history.do">
          <input type="hidden" name="<c:out value='${bindings.statetokenid}'/>" value="<c:out value='${bindings.statetoken}'/>"/>
          <c:out value="${bindings.editingMode}" />
          <table border="0" cellpadding="2" cellspacing="0">
            <tr>
              <td>
                <c:out value="${bindings['SystemId'].label}"/>
              </td>
              <td>
                <html:text property="SystemId"/>
              </td>
              <td>
                <c:out value="${bindings['AlertTime'].label}"/>
              </td>
              <td>
                <html:text property="AlertTime"/>
              </td>
            </tr>
            <tr>
              <td>
                <c:out value="${bindings['ZoneName'].label}"/>
              </td>
              <td>
                <html:text property="ZoneName"/>
              </td>
              <td>
                <c:out value="${bindings['AlertCleared'].label}"/>
              </td>
              <td>
                <html:text property="AlertCleared"/>
              </td>
            </tr>
            <tr>
              <td>
                <c:out value="${bindings['AlertReason'].label}"/>
              </td>
              <td>
                <html:text property="AlertReason"/>
              </td>
              <td>
                <c:out value="${bindings['VesselImo'].label}"/>
              </td>
              <td>
                <html:text property="VesselImo"/>
              </td>
            </tr>
            <tr>
              <td> </td>
              <td> </td>
              <td>
                <c:out value="${bindings['VesselName'].label}"/>
              </td>
              <td>
                <html:text property="VesselName"/>
              </td>
            </tr>
          </table>
          <P>
            <input name="event_Search" type="submit" value="Search">
          </P>
        </html:form>
        <c:choose>
          <c:when test="${empty bindings.AlertHistoryView1.rangeSet}">No alerts matches your search criteria.</c:when>
          <c:otherwise>
            <table border="1" width="100%">
              <tr>
                <th> </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['SystemId']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['ZoneName']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['ValidFrom']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['ValidTo']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['Description']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['IsOpen']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['AlertReason']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['AlertTime']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['AlertLevel']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['AlertStatus']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['AlertCleared']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['VesselImo']}"/>
                </th>
                <th>
                  <c:out value="${bindings.AlertHistoryView1.labels['VesselName']}"/>
                </th>
              </tr>
              <c:forEach var="Row" items="${bindings.AlertHistoryView1.rangeSet}">
                <tr>
                  <td>
                    <c:out value="${Row.currencyString}"/>
                  </td>
                  <td>
                    <c:out value="${Row['SystemId']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['ZoneName']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['ValidFrom']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['ValidTo']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['Description']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['IsOpen']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['AlertReason']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['AlertTime']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['AlertLevel']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['AlertStatus']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['AlertCleared']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['VesselImo']}"/> 
                  </td>
                  <td>
                    <c:out value="${Row['VesselName']}"/> 
                  </td>
                </tr>
              </c:forEach>
            </table>
          </c:otherwise>
        </c:choose>
    </div>I'm trying with the DIV tags ... but no avail so far. It doesn't work without the DIV tags either.
    In regards to the stack trace - it's not in the application log, sorry - too many things going on this weekend ;) The stackdump goes to the browser ...
    java.lang.NullPointerException
         at oracle.portal.provider.v2.url.UrlUtils.htmlFormActionLink(Unknown Source)
         at oracle.webdb.provider.v2.taglib.struts.html.PDKFormTag.renderFormStartElement(Unknown Source)
         at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:511)
         at oracle.webdb.provider.v2.taglib.struts.html.PDKFormTag.doStartTag(Unknown Source)
         at _history._jspService(_history.java:62)
         [SRC:/history.jsp:6]
         at com.orionserver[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:349)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:782)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:226)
         at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
         at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:794)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)

  • Struts and JSF Integration in OPDk-java based portlet

    Hi,
    thanks in advance for your help.
    I'm developing a PDK java based portlet. For some reasons I cannot use the JSF bridge but I would like to integrate Struts and Jsf in my portlet, using Struts to manage actions and navigation and JSF (with ADF Faces components) for the view. I'm using the Strus-Faces library.
    When I try to submit my portlet form, I receive the error "request URL not found on this server". I'm posting some exstracts of my code.
    It's made of three pages: the main one "Integration1ShowPage", "error" and "result". The MainAction.java displays my mainPage, where there's a form. To keep it easy, when the user submits this form, the ActionName returns "success" and the "result" page should be displayed.
    The MainAction works properly: the portlet is displayed but when I tried to submit the form I receive
    The requested URL /provaDeploy/htdocs/integration1/integration1ShowPage.do was not found on this server.Could you please suggest me something?
    Many many thanks,
    B.
    <struts-config>
    <action-mappings>
      <action path = "/mainAction" type = "strutsjsfintegration1.MainAction">
        <forward name = "success" path = "/faces/htdocs/integration1/integration1ShowPage.faces"/>
      </action>
      <action path = "/nameAction" name = "nameForm"
      input = "/faces/htdocs/integration1/integration1ShowPage.faces" scope = "request"
      type = "strutsjsfintegration1.NameAction">
        <forward name = "success" path = "/faces/htdocs/integration1/result.faces"/>
        <forward name = "failure" path = "/faces/htdocs/integration1/error.faces"/>
        <forward name = "again" path = "faces/htdocs/integration1/integration1ShowPage.faces"/>
      </action>
    </action-mappings>
    <controller>
      <set-property property = "processorClass"
       value="org.apache.struts.faces.application.FacesRequestProcessor"/>
       </controller>
    <message-resources parameter="definitiveStrutsPortlet.ApplicationResources"/>
    </struts-config>

    Hi,
    have a look at this whitepaper for how to use JavaScript in ADF.
    http://www.oracle.com/technetwork/developer-tools/jdev/1-2011-javascript-302460.pdf
    This link here (http://www.oracle.com/technetwork/developer-tools/adf/learnmore/index-101235.html --> see sample 71) shows an integration sample between a Java Applet and ADF. Its a similar use case to yours
    Frank

  • Struts and JSF

    I have an Action from Struts. This controls the data in the code behind bean.
    After I call submit, how do I go Back to the Struts actions? the JSF navagation does not allow navigating to a servlet.

    Hey Shay,
    We have quite a large application based entirely on Struts. There is a keen interest in migrating to JSF, but in an incremental fashion. I did a fair amount of googling and almost everything i came up with , was purely theory oriented, are there any resources online , which clearly give examples/tutorials for doing a step by step migration to JSF from Struts. Couple of other questions that i dont seem to find an answer to with regards to the Integration of struts and JSF
    1) I understand BC4J, struts and JSF can be integrated together, does the same hold for ADF ? there was a similar forum post back in 2005 , where they said this is yet to be done, do we have this integration with Jdev 10.1.3 ?
    2) If i were to use only the jsf UI component tags as a first step in my struts application , what is the equivalent for the page definition file of JSF in struts, as in how would i achieve the binding ?

  • [ANN] JSF and ADF Faces Q&A online session today

    Join us for an online discussion and ask your questions about JSF and ADF Faces. Today (Thu) at 10:00am PST (California time).
    http://www.oracle.com/technology/tech/java/newsletter/seminars.html

    Great here are a few IF there is time:
    1. How round trips will JSF and ADF Faces take upon initial page load? In other words, does the initial page load come with data already populated? This makes a difference for those of us who have data heavy pages with lots of lag. Currently with ADF - UIX it seems as though the page is loaded and then round trips are taken to populate the data in the page.
    2. Is a JSF and ADF faces project in future versions of JDeveloper more easily/efficiently source controlled than current ADF/UIX projects?
    3. What is the extent of the involvement of the struts framework in JSF and ADF Faces?
    Thanks very much Shay.
    -brian

  • ADF table and ADF form on the same view object

    Hi,
    As per the ADF demos available on ADF site, I created a jsf page with 2 panels. One panel is an ADF table based on a view object. And the other panel is and ADF form based on the same view object. My requirement is that as I scroll through the records in the ADF table, the ADF Form should dynamically display the details of the record in the ADF table. My understanding is that this should be automatic. However, its not working as expected. What have I missed?

    Hi,
    Apply PPR for form that displays details.
    Like :
    <af:table id="t3">
    </af:table>
    <af:panelFormLayout id="pfl2" partialTriggers="t3">
    </af:panelFormLayout >

  • JDev and ADF is difficult

    As a new user to ADF I am finding ADF and JDev a little discouraging and hard to use. I did a search on how to improve jdev's performance and found a lot of useful tips and tricks to use, but I pose the question. Shouldn't it just work out of the box? Coming from a web 2.0 background developing EE applications using Spring, JPA/Hibernate, Extjs, and netbeans I keep thinking to myself wow how in the world should I have known that changing this or that table attribute causes this or that to behave differently. For example I read a thread on multi-selecting table rows and in this article multiselect selectedRowKeys must be removed for multi select to perform correctly. Now I realize this is a simple example, but I find myself asking the same types of questions about dragging and dropping views into jdev or mapping bindings to pages so that I can gain access to data. I can relate to some angry posts by some about how difficult it is to develop anything useful in JDev and ADF because of a series of random problems (things like running OOM, or mapping bindings to a page which then for some reason map incorrectly or they think they are mapped to another page, etc...) Now I can already hear the first response... you are new to this world (yes) and you just need time. What if I told you I've been reading so much documentation over the past month that my eyes are bleeding. I've been through countless tutorials on how to use JDev and ADF. I've successfully created "Sample applications" generating useless tables of data. I've read several books on ADF and how to button click my way to creating EE applications, but I find the memorization of button clicking to be exhausting. I keep telling my boss I want to go back to writing code not dragging and dropping items on a page so that JDev can generate/modify .xml files for me.
    Now that said I know I am new to this world and I'm trying to find some common ground as my job requires me to develop EE applications in ADF, and I must learn this technology. So I ask all of you ADF and JDev advocates prove me wrong here and point me to the documentation that all of you use to navigate this world of yours.
    Thanks for your understand,
    Wraith (Newbie and found wanting)
    Edited by: wraith101 on Aug 14, 2012 3:38 PM
    Edited by: wraith101 on Aug 14, 2012 3:42 PM

    First off thank you for the response Shay!
    >
    Getting used to the way you build applications with JDev and ADF takes time, but think how much time did it took you to learn Spring, JPA, ExtJS etc to a level where you knew every little setting you needed to manually code in a spring XML file, or JPQL query syntax in your JPA or a javascript in ExtJS - My guess was that getting to a situation where you know everything in those technology wasn't exactly a problem less experience.
    >
    It is true it took some time to learn the technologies listed above. I guess If I were arguing for them I would say they were easier to use and learn due to most of them being open source and very popular because of this (i.e tons of examples, books, and documentation). Not sure if ADF is there yet?
    >
    I do like the fact that I can get from 0 to a fully functional page with a few clicks here and there, and then fine tune the results with some property settings in various places.
    And then if I need even further customization I can go to the code level when needed.
    >
    I agree it takes very little time to create something that is at least visually usable. I'm not familiar enough ADF yet to determine now hard it is to actually create a fully functioning application that does more than display data. For example, how would I create a visualization that updates every 10 seconds and allows users to post feedback in a similar manner to this forum?
    >
    The question of whether the declarative and visual development experience is a good thing or not is to some degree a matter of personal preferences.
    I wonder how long would it have taken someone to build something like this: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF112/ADF112.html
    with the stack you mentioned above. How many lines of code would they have needed to write, how many syntax errors while coding, and would the result be as functional so fast.
    >
    Agree I'm not hear to argue which type of development experience is better or worse. I would point out however that as a JDev/ADF developer in order to develop in the technology it seems you must do most of your development within the JDev environment or have extensive experience in JSF (i.e know which xml files to edit and why I believe there is a reason JSF and JSP are seldom used IMHO because they are difficult. I understand JDev/ADF try to solve this problem) were as in other technologies you as the developer can choose the IDE etc. Another thing I noticed while watching the link you listed was the developer went from place to place to place within jdev making changes. As a newbie it seems that in order to develop ADF in JDev you must just "know things" (ie. for example he pulled in a method in to the task flow so he could invoke some validation or prereq check. As a developer how am I to know how and where and why I can/must do these things? ADF seems to be process based in order to achieve some goal, but the JDev framework gives no clues as to what you should/need to do next. As well as that I needed to create that method within my Application Module in order to do this, which by the way was not mentioned within this video.).
    >
    We often see the reaction of "I don't get what all those XML files that JDev generate are doing" reaction from people who just start up with JDev and ADF.
    But we do try and explain how everything is working in places like the ADF Insider Advanced seminars:
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adfinsider-093342.html
    I think the fact that there is a lot of documentation for ADF, and a lot of blog entries, how-to's etc on the web is actually a good thing.
    I often find that if I run into an issue with ADF - a simple google search will show me how someone else solved that issue - and I like this too.
    >
    I guess my biggest gripe here would be yes there is tons of JDev/ADF documentation on OTN and other places, but none of it is complete, and I would also argue that the organization on OTN is half hazard, and makes learning ADF difficult as well. I find myself drilling down through layers and layers of links only to not be able to get back to were I came from to look at another topic/tutorial I was interested in(maybe we need a ADF train to be added to the documentation wikis).
    I would also argue when developing in other frameworks writing the xml is a big part to understanding how your application is tied together. For example, Spring servlet mapping or Spring injection mapping. When JDev does the mapping for me I feel that I know less and less about how my application works and I bet all the advanced ADF developers out there know quite a bit about how ADF xml mapping occurs and why, and I bet they make changes to these xml files manually quite often to get things to work as they desire?
    I want to be clear here I am not trying to flaming here, just trying to make a difference for other developers like myself who come along and need to learn ADF to complete some task. Looking at the OTN site I believe creating documentation for ADF development appears to be a top priority, but due to the complexity of the framework there is just so much and it seems to be everywhere. My suggestion would be to include why we are doing such and such with in jdev approach instead of a drag this here to do this approach. For example, I'd like to see a tutorial where it explains when you drag this item in to the content window it creates this xml bind which is the same as what you would normally do in JSF like this (if anyone knows of such a tutorial plz link).
    Again thanks for the reply, and I encourage others to give feedback and suggestions on how I too can become a better JDev/ADF developer.
    -Wraith

  • How to give BSP Iview look and feel of portal??

    Hi All,
    I've created a BSP application that I use to create an Iview for portal.
    I thought that if i used htmlb tags that the look and feel of portal would be automatic to my app but its not.
    I've tried assigning portal css classes to a html table but there's no effect.
    I've previewed one of the standard ivews and viewed the source and found the path of the css file.  But when i looked for it on the server, while the out folder was there (com.sap.portal.design.portaldesigndata) , there was no css files in this folder.
    So i'm at a loss.  In summary, how do i get my bsp app to have the portal look and feel?????  I would prefer to use the css files so that if any changes are made to the standard, the changes will be reflected in my custom iviews too.
    Any help, would be most welcome,
    Liz.

    Hi Liz,
    on the properties tab for the BSP application try selecting the "Supports Portal Integration" checkbox.
    Cheers
    Graham Robbo

  • Among the Netweaver XI and the Enterprise Portal.

    Hi,
    I am new to the Netweaver Technology and would like to know the following.
    1. Which among the both i.e. Netweaver XI and the Enterprise Portal is better in terms of fetching the job and making a bettre career in it.?
    2. Also which one is more in Demnad within and outside India ?
    Any other Information on these topics would definitely help.
    Regards,
    Deepak.

    Hi Deepak,
    I agree with Subbarao. If u have gud command on ABAP then go for XI.And if u r technically sound in JAVA then go for EP which comprises of Knowledge Management and collaboration, portal and webdynpro.Both have gud value in the market right now.
    For learning material in EP plz go through the below mentioned threads:
    Re:basic material for development of portal application in NWDS
    Beginner to Portal
    Regards
    Priya
    plz reward point if this helps

  • BPM and ADF integration - some questions

    Hi,
    I have a few questions about comunication between BPM 11.1.1.5 and Human Task based Task Flow:
    1) What is the best way to pass data (task id, proces id, proces data) from BPM workspace to Human Task Task Flow (and get them as TF params).
    2) Where can I find a description, how ADF app comunicates with BPM process.
    3) Where can I find a description of all data controls created by JDeveloper (BPM Suite) when HT Task Flow is created.
    3) Where can I find a description (and their functionality) of managed beans created by JDeveloper (BPM Suite) when HT Task Flow is created.
    Kuba

    Hi,
    Sory, but I'm still not sure, how ADF comunicates with BPM (I know that it uses EJB services and hwtaskflow.xml). But a still don't have an answers for follwowing questions:
    1) I know ADF quite good. Having method in data controls (in our case getTaskDetails()) we need to invoke it somehow. I don't see anywher invokation of this method.
    2) In generated task flow there is some managed beans and params - what is role of them ? Having over 50 task flows , do I need it in all of them. Where can I find description of those beans and params
    3) In our approach we use BPM , ADF RC for UI and Business Components to persist data into database. Only data from payload we need is ID of master-level row. My question is - do I have to generate data controls for all human task ?. In my my opinion it should be only one communication point between BPM and ADF but not the same for all pair human task --> task flow.
    All infomation I need from BPM is:
    - task ID
    - task flow name (to open apriopriate tab in my application)
    - available outcomes
    - to know is BPM operation is enabled
    Kuba

  • Trinidad and ADF Rich Faces components::

    Hi!
    Does someone know about any problem while using Trinidad and ADF Rich Faces, or just the Trinidad components in JDev11g ?
    Thanx.
    Endy

    Endy,
    ADF Faces RC isn't supported in IE6, so that certainly wasn't the issue. I have inadvertently mixed Trinidad and ADF Faces RC components on a page and didn't run into issues, but I did correct that issue based upon comments from Frank/Shay on the forum. Bottom line is that while they may work (or appear to work) together, it's not a supported combination.
    Best,
    John

Maybe you are looking for