Skip to Main Content

ORDS, SODA & JSON in the Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

URL mapping in Apex Listener 2.0.5

DoevelaarNov 5 2013 — edited Dec 4 2013

Hi all,
I'm trying to configure a standalone Apex listener in such a way so that I can use 2 URL's:

http://localhost:8888/apex/e1/f?p=103 => points to version 1 of my application

http://localhost:8888/apex/e2/f?p=106 => points to version 2 of my application

I'm configuring the Apex Listener via SQL Developer. I added 2 connections next to the existing 'apex' connection in the listener config: apex_e1 and apex_e2.

Then I added URL-mapping to the apex_e1 and apex_e2 connections. I used Request path mapping, with routing rule

/e1 and /e2. So the URLs for the applications look like:

http://localhost:8888/apex/e1/f?p=103

and

http://localhost:8888/apex/e2/f?p=106

In the pre-processing property of both connections, I want to run code to point the session to the correct edition (I'm using Edition Based Redefinition). I added pre-processing procedures to both database-connections in the listener, but they don't seem to run. I added logging in the procedures, and no logging is written. If I add the same call to the pre-processing of the GLOBAL config, it is executed.

Am I making some mistake in the URL mapping that results in no preprocessing being done?

Using Apex 4.2.2, SQL Developer 3.2.20.10 and Apex Listener 2.0.5 standalone.

Comments

dvohra21

Please post the code snippet with the navigation buttons.

Jack Issac

<af:panelGroupLayout id="pgl5" layout="vertical">

      <af:panelGroupLayout id="pgl9" layout="vertical">

        <af:panelFormLayout id="pfl1">

          <af:panelGroupLayout id="pgl8" layout="horizontal">

            <af:panelGroupLayout id="pgl6" styleClass="adfInputTextInForm">

              <af:inputText value="#{bindings.EmployeeId.inputValue}"

                            label="#{bindings.EmployeeId.hints.label}"

                            required="#{bindings.EmployeeId.hints.mandatory}"

                            columns="#{bindings.EmployeeId.hints.displayWidth}"

                            maximumLength="#{bindings.EmployeeId.hints.precision}"

                            shortDesc="#{bindings.EmployeeId.hints.tooltip}"

                            id="it10">

                <f:validator binding="#{bindings.EmployeeId.validator}"/>

                <af:convertNumber groupingUsed="false"

                                  pattern="#{bindings.EmployeeId.format}"/>

              </af:inputText>

              <af:inputText value="#{bindings.FirstName.inputValue}"

                            label="#{bindings.FirstName.hints.label}"

                            required="#{bindings.FirstName.hints.mandatory}"

                            columns="#{bindings.FirstName.hints.displayWidth}"

                            maximumLength="#{bindings.FirstName.hints.precision}"

                            shortDesc="#{bindings.FirstName.hints.tooltip}"

                            id="it3">

                <f:validator binding="#{bindings.FirstName.validator}"/>

              </af:inputText>

              <af:inputText value="#{bindings.LastName.inputValue}"

                            label="#{bindings.LastName.hints.label}"

                            required="#{bindings.LastName.hints.mandatory}"

                            columns="#{bindings.LastName.hints.displayWidth}"

                            maximumLength="#{bindings.LastName.hints.precision}"

                            shortDesc="#{bindings.LastName.hints.tooltip}"

                            id="it9">

                <f:validator binding="#{bindings.LastName.validator}"/>

              </af:inputText>

              <af:inputText value="#{bindings.JobTitle.inputValue}"

                            label="#{bindings.JobTitle.hints.label}"

                            required="#{bindings.JobTitle.hints.mandatory}"

                            columns="#{bindings.JobTitle.hints.displayWidth}"

                            maximumLength="#{bindings.JobTitle.hints.precision}"

                            shortDesc="#{bindings.JobTitle.hints.tooltip}"

                            id="it4">

                <f:validator binding="#{bindings.JobTitle.validator}"/>

              </af:inputText>

              <af:inputText value="#{bindings.DepartmentName.inputValue}"

                            label="#{bindings.DepartmentName.hints.label}"

                            required="#{bindings.DepartmentName.hints.mandatory}"

                            columns="#{bindings.DepartmentName.hints.displayWidth}"

                            maximumLength="#{bindings.DepartmentName.hints.precision}"

                            shortDesc="#{bindings.DepartmentName.hints.tooltip}"

                            id="it5">

                <f:validator binding="#{bindings.DepartmentName.validator}"/>

              </af:inputText>

            </af:panelGroupLayout>

            <af:panelGroupLayout id="pgl7" styleClass="adfInputTextInForm">

              <af:inputText value="#{bindings.Salary.inputValue}"

                            label="#{bindings.Salary.hints.label}"

                            required="#{bindings.Salary.hints.mandatory}"

                            columns="#{bindings.Salary.hints.displayWidth}"

                            maximumLength="#{bindings.Salary.hints.precision}"

                            shortDesc="#{bindings.Salary.hints.tooltip}"

                            id="it11">

                <f:validator binding="#{bindings.Salary.validator}"/>

                <af:convertNumber groupingUsed="false"

                                  pattern="#{bindings.Salary.format}"/>

              </af:inputText>

              <af:inputText value="#{bindings.CommissionPct.inputValue}"

                            label="#{bindings.CommissionPct.hints.label}"

                            required="#{bindings.CommissionPct.hints.mandatory}"

                            columns="#{bindings.CommissionPct.hints.displayWidth}"

                            maximumLength="#{bindings.CommissionPct.hints.precision}"

                            shortDesc="#{bindings.CommissionPct.hints.tooltip}"

                            id="it8">

                <f:validator binding="#{bindings.CommissionPct.validator}"/>

                <af:convertNumber groupingUsed="false"

                                  pattern="#{bindings.CommissionPct.format}"/>

              </af:inputText>

              <af:inputText value="#{bindings.City.inputValue}"

                            label="#{bindings.City.hints.label}"

                            required="#{bindings.City.hints.mandatory}"

                            columns="#{bindings.City.hints.displayWidth}"

                            maximumLength="#{bindings.City.hints.precision}"

                            shortDesc="#{bindings.City.hints.tooltip}" id="it7">

                <f:validator binding="#{bindings.City.validator}"/>

              </af:inputText>

              <af:inputText value="#{bindings.StateProvince.inputValue}"

                            label="#{bindings.StateProvince.hints.label}"

                            required="#{bindings.StateProvince.hints.mandatory}"

                            columns="#{bindings.StateProvince.hints.displayWidth}"

                            maximumLength="#{bindings.StateProvince.hints.precision}"

                            shortDesc="#{bindings.StateProvince.hints.tooltip}"

                            id="it1">

                <f:validator binding="#{bindings.StateProvince.validator}"/>

              </af:inputText>

              <af:inputText value="#{bindings.CountryName.inputValue}"

                            label="#{bindings.CountryName.hints.label}"

                            required="#{bindings.CountryName.hints.mandatory}"

                            columns="#{bindings.CountryName.hints.displayWidth}"

                            maximumLength="#{bindings.CountryName.hints.precision}"

                            shortDesc="#{bindings.CountryName.hints.tooltip}"

                            id="it6">

                <f:validator binding="#{bindings.CountryName.validator}"/>

              </af:inputText>

              <af:inputText value="#{bindings.RegionName.inputValue}"

                            label="#{bindings.RegionName.hints.label}"

                            required="#{bindings.RegionName.hints.mandatory}"

                            columns="#{bindings.RegionName.hints.displayWidth}"

                            maximumLength="#{bindings.RegionName.hints.precision}"

                            shortDesc="#{bindings.RegionName.hints.tooltip}"

                            id="it2">

                <f:validator binding="#{bindings.RegionName.validator}"/>

              </af:inputText>

            </af:panelGroupLayout>

          </af:panelGroupLayout>

          <f:facet name="footer">

            <af:panelGroupLayout layout="vertical" id="pgl1">

              <af:panelGroupLayout layout="horizontal" id="pgl3">

                <af:commandButton actionListener="#{bindings.First.execute}"

                                  text="First"

                                  disabled="#{!bindings.First.enabled}"

                                  partialSubmit="true" id="cb4"/>

                <af:commandButton actionListener="#{bindings.Previous.execute}"

                                  text="Previous"

                                  disabled="#{!bindings.Previous.enabled}"

                                  partialSubmit="true" id="cb5"/>

                <af:commandButton actionListener="#{bindings.Next.execute}"

                                  text="Next"

                                  disabled="#{!bindings.Next.enabled}"

                                  partialSubmit="true" id="cb3"/>

                <af:commandButton actionListener="#{bindings.Last.execute}"

                                  text="Last"

                                  disabled="#{!bindings.Last.enabled}"

                                  partialSubmit="true" id="cb1"/>

              </af:panelGroupLayout>

              <af:commandButton text="Submit" id="cb2"/>

            </af:panelGroupLayout>

          </f:facet>

        </af:panelFormLayout>

      </af:panelGroupLayout>

dvohra21

Include the af:commandButtons in the same af:panelGroupLayout as the af:inputText. Why are the af:commandButtons in a separate  facet?

Timo Hahn

Add partial triggers to the containers surrounding the input text components pointing to the ids of the buttons and it should work.

Timo

Jack Issac

Unfortunately, it didn't work again. But I realized, for example if I press next navigation button more times consecutive, it is working; if you pressed it one time , not working.

I used different panel group layout; because I implemented my css class to panel group layout.

Again, I draged and droped view from data control and I selected ADF From with submit and navigation buttons without panel gruop layout, not working.

Is this issue can be about refresh region?

Thanks

Jack Issac

I tried it too, it did not help. I didn't understand it, form is working with table; but with buttons, not working. Also I removed all panel group layout. There are only table, form and buttons

kdario

Will this work if you remove partialSubmit="true" or if you add partialTriggers property on af:inputText to point to your buttons?

Dario

Jack Issac

I tried it on a different region; again same problem. if I used region(jsff), buttons are not working; but on jspx page without region, same components are working well. So what can be problem on region ?

Timo Hahn

I tried this out on JDev 11.1.1.7.0 and it works for me. You can get my test app at https://github.com/tompeez/BlogMasterDetailRegion

Download the zip or clone the repository and check it out.

Timo

kdario
Answer

There are a af:table, a af:form with navigation buttons and submit buttons in the region.

When I read this part again, it's very unclear is your table inside of af:form or not.

You should have only one af:form element in page hierarchy and everything should be placed inside this form.

Dario

Marked as Answer by Jack Issac · Sep 27 2020
Jack Issac

Thank you so much, it's working fine now. I'm using a jsf template and it has a <af:form>. I thought, when I created a page with this template; everyting will be in this form and it will work

With your advice, I surrounded region with <af:form>; There is no problem now. Thanks again.

1 - 11
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jan 1 2014
Added on Nov 5 2013
1 comment
1,712 views