Uix page event fired everytime
Is there a way within a uix page definition to cause an event in the handler section to fire everytime the page is accessed, no matter how control gets passed to it?
Thanks, Steve
Try
<event name="null>...</event>. This registers a null event handler, which means that the handler will be called only if no events are thrown.
Thanks,
Jeanne
Similar Messages
-
DataObject defined into uix page. Can I get it from Java event handler?
I have in my uix page following code:
<dataScope>
<provider>
<data name="MyDataObject">
<method class="mypackage.MyClass" method="getMyDataObject"/>
</data>
</provider>
<contents>
Can I get "MyDataObject" inside
public static EventResult handlerSearch(BajaContext context, Page page, PageEvent event)
Thank you.Only by directly accessing mypackage.MyClass.getMyDataObject(), it's not
available on the BajaContext. -
About migrating from 10.1.2 to 10.1.3 (page events)
Hi forum,
As authentication based on public key certificates only works under jdev 10.1.3.1, I'm upgrading my 10.1.2 application to that version. I'm following the Oracle document "Converting to the ADF Page Lifecycle from 10.1.2" (http://www.oracle.com/webapps/online-help/jdeveloper/10.1.3?topic=adf_convertingfrom10_1_2_html) that it's a really great help. However, this document doesn't explain how to migrate page events. In UIX, a submitButton may have an "event" attribute that fires the method called onEventName in the DataPage class. In ADF Faces, I don't know how to do that. The document previously mentioned doesn't say anything about this topic. The solution I've tryed is the following:
As document "API Changes from ADF UIX" (http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/api-changes.html) explains, submitButton turns into commandButton and event attribute is replaced by an actionlistener. So, in my jspx page:
<af:commandButton id="myButton" text="Search" actionListener="#{pageCode.listen}"/>
<af:commandButton id="myOtherButton" text="All" actionListener="#{pageCode.listen}" />
In faces-config.xml:
<managed-bean>
<managed-bean-name>pageCode</managed-bean-name>
<managed-bean-class>com.mycompany.web.struts.actions.MyPageController</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
In controller class, I replace DataActionContext by PageLifecycleContext in events parameters. Furthermore, a listen method is added:
public class MyPageController extends PageController
// I want to migrate this event
public void onSearch (PageLifecycleContext ctx)
// code of page event inherited from 10.1.2
// I want to migrate this event
public void onAll (PageLifecycleContext ctx)
// code of page event inherited from 10.1.2
// This is the method I've just added
public void listen (ActionEvent e)
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest();
PageLifecycleContext plc = (PageLifecycleContext)request.getAttribute("ADFLifecycleContext");
String idButton = (String)e.getComponent().getAttributes().get("id");
if (idButton.equals("myButton"))
onSearch(plc);
else if (idButton.equals("myOtherButton"))
onAll(plc);
I'd like to know if there is any other simplier way to do event migration from 10.1.2 to 10.1.3.
Thanks in advance.
Luis Serrano.If you change your view objects to use the new named bind variables in 10.1.3, then you can do what you were doing in prepareModel in a declarative way now using the invokeAction executable in your page definition to trigger the firing of an executeWithParams action.
You can study example #76 on my blog to see an example of doing this:
http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#76
If you want to do things programmatically still, which is fine of course, then you can reference section 10.5.4.3 "Using Custom ADF Page Lifecycle to Invoke an onPageLoad Backing Bean Method" in the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://www.oracle.com/technology/products/adf/learnadf.html The key benefit of this approach is that if you have a backing bean for your page, it allows you to put your prepareModel code inside the backing bean in an onPageLoad() method so you don't end up with both a backing bean and a page controller class for that page.
Of course, you can also still use a customized PageController class and override prepareModel() as you did before. All of these ways are viable. -
JDEV 10.1.2 UIX Tree Event Handler
Hi,
I have built my tree bound to two ADF entities/views.
It works fine in a small standalone application, but as soon as I try to integrate it with my main app it fails to call either the "null" or the "expand" event handler (null for page rendering and expand for... well expanding the node (see below))
I've run it in debug and the event code just isn't getting fired
There must be something in my main app that is intercepting the event handler before it gets to my uix handlers.
New to all this so any help greatly appreciated!
In summary, what would intercept default event handling in a uix page.
Thanks
Mark
<handlers>
<event name="expand">
<method class="view.TreeUtils" method="doTreeEvent"/>
</event>
<event name="null">
<method class="view.TreeUtils" method="doTreeEvent"/>
</event>
</handlers>Hi,
it appears that if I change the forward to have 'redirect="true"' within the struts config file then this works fine now.
Mark -
How to print a form in a UIX page
I want to print a form in a UIX page? I have tried a lot of methods,but they did not work.I only want to print the contents in the form ,not including the contents of the page title ,tab bar,etc. Can someone tell me?Thank you!
Yu -
You'll want to use the "printable" facet when rendering your page. The following sample page contains a button which allows the user to view the "printable" version of the page. It uses the <showFacet> event handler to switch to the printable facet:
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns="http://xmlns.oracle.com/uix/controller"
xmlns:ui="http://xmlns.oracle.com/uix/ui"
xmlns:data="http://xmlns.oracle.com/uix/ui"
xmlns:ctrl="http://xmlns.oracle.com/uix/controller">
<content>
<pageLayout xmlns="http://xmlns.oracle.com/uix/ui">
<tabs>
<tabBar>
<contents>
<link text="Hello"/>
<link text="World"/>
</contents>
</tabBar>
</tabs>
<pageButtons>
<pageButtonBar>
<contents>
<button text="Show Printable Page" ctrl:event="showPrintable"/>
</contents>
</pageButtonBar>
</pageButtons>
<contents>
<text text="Printable area"/>
</contents>
</pageLayout>
</content>
<handlers>
<!-- Use the showFacet event handler to switch over to
the "printable" facet -->
<event name="showPrintable">
<showFacet name="printable"/>
</event>
</handlers>
</page>Andy -
How to import user defined class in UIX page?
Does anyone know how to import user defined class in UIX page so that the class can be called in the javascript in the UIX ?
Thks & Rgds,
Bennywhat you are referring to is not javascript.
it is JSP scriptlets. These are very different.
In order to keep a strict separation between View and Controller, it is not possible to run arbitrary java code from within your UIX code.
However, you can run java code from within a UIX event handler; see:
http://otn.oracle.com/jdeveloper/help/topic?inOHW=true&linkHelp=false&file=jar%3Afile%3A/u01/app/oracle/product/IAS904/j2ee/OC4J_ohw/applications/jdeveloper904/jdeveloper/helpsets/jdeveloper/uixhelp.jar!/uixdevguide/introducingbaja.html
event handler code is run before the page is rendered. -
UIX page getProperties() method.
Hi,
I am having the following code in the controller for my UIX pages:-
public static EventResult Search(BajaContext context,
Page page,
PageEvent event)
Page nextPage;
String entity = event.getParameter("entity");
String Name = event.getParameter("Name");
Hashtable dd = new Hashtable();
dd.put("param1","gaurav");
if(entity.equals("Organization"))
nextPage = new Page("OrgRes", dd);
System.out.print(nextPage.getProperties()+ " Now Here--1 \n");
System.out.print(dd+" Here--2 \n");
return new EventResult(nextPage);
else
nextPage= new Page("Result");
return new EventResult(nextPage);
Now the output which follows is this
06/05/10 23:09:54 oracle.bali.share.collection.ArrayMap@71fa0e28 Now Here--1
{param1=gaurav} Here--2
Sice the getProperties should return the dictionary values shouldnt i be getting the same
output for both the print??
Thanks in Advance,
gaurav SinghTry
<event name="null>...</event>. This registers a null event handler, which means that the handler will be called only if no events are thrown.
Thanks,
Jeanne -
Whe I can't navigate between two uix page through submitbutton ?
Hi,
I study adf uix develop step by step according
http://www.oracle.com/technology/obe/obe9051jdev/uixTutorial/lesson_UIX.htm,in struts-config.xml added a forward from browseDeptEmp to formEmp,the link's name is formEmpLink,then added a submitbutton in the page browseDeptEmp.uix from form component just over employees table,then changed the button text--Edit,event-goEdit
then add a event -goEdit in the structure window,at "Insert go" page,I set the name from list as "formEmpLink ",then I make and run the page browseDeptEmp,select a employee ,press Edit button,http 404 error occurred,but on the left bottom coner,I found a button "formEmpLink.do",and it worked just what i want,
but why,what's wrong with me,who can help me?
the source of the browseDeptEmp.uix is as bellows:
<?xml version = '1.0' encoding = 'GBK'?>
<page xmlns="http://xmlns.oracle.com/uix/controller"
xmlns:ui="http://xmlns.oracle.com/uix/ui"
xmlns:data="http://xmlns.oracle.com/uix/ui"
xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
xmlns:html="http://www.w3.org/TR/REC-html40" expressionLanguage="el">
<content>
<dataScope xmlns="http://xmlns.oracle.com/uix/ui">
<provider>
<!-- Add DataProviders (<data> elements) here -->
</provider>
<contents>
<document>
<metaContainer>
<!-- Set the page title -->
<head title="Human Resources"/>
</metaContainer>
<contents>
<body>
<contents>
<form name="form0">
<contents>
<pageLayout title="Human Resources">
<corporateBranding>
<image source="images/exlibris.gif" destination=""/>
</corporateBranding>
<productBranding>
<image source="images/product.gif" destination=""/>
</productBranding>
<tabs>
<tabBar selectedIndex="1">
<contents>
<link text="Browse Depts Emps" destination="#"/>
<link text="Modify Employees" destination="#"/>
<link text="Search Employees" destination="#"/>
</contents>
</tabBar>
</tabs>
<pageHeader>
<globalHeader selectedIndex="0">
<contents>
<link text="Browse Employees by Department"
destination="#"/>
</contents>
</globalHeader>
</pageHeader>
<globalButtons>
<globalButtonBar>
<contents>
<globalButton source="images/cart.gif" text="Cart"
destination="#"/>
<globalButton source="images/help.gif" text="Help"
destination="#"/>
<globalButton source="images/login.gif" text="Login"
destination="#"/>
</contents>
</globalButtonBar>
</globalButtons>
<copyright>
<styledText text="Copyright Three Gorges Hi-Tech information Co,Ltd"
styleClass="OraCopyright"/>
</copyright>
<privacy>
<link text="" destination="www.tgpms.com.cn"/>
</privacy>
<contents>
<stackLayout>
<contents>
<header text="Department">
<contents>
<table model="${bindings.DepartmentsView1}" id="DepartmentsView11" partialRenderMode="multiple" partialTargets="_uixState">
<contents>
<column>
<columnFormat columnDataFormat="numberFormat"/>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.DepartmentsView1,'DepartmentId')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.DepartmentId}" columns="10" readOnly="true">
<onSubmitValidater>
<decimal/>
</onSubmitValidater>
</textInput>
</contents>
</column>
<column>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.DepartmentsView1,'DepartmentName')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.DepartmentName}" columns="10" readOnly="true"/>
</contents>
</column>
<column>
<columnFormat columnDataFormat="numberFormat"/>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.DepartmentsView1,'ManagerId')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.ManagerId}" columns="10" readOnly="true">
<onSubmitValidater>
<decimal/>
</onSubmitValidater>
</textInput>
</contents>
</column>
<column>
<columnFormat columnDataFormat="numberFormat"/>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.DepartmentsView1,'LocationId')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.LocationId}" columns="10" readOnly="true">
<onSubmitValidater>
<decimal/>
</onSubmitValidater>
</textInput>
</contents>
</column>
</contents>
<tableSelection>
<singleSelection model="${bindings.DepartmentsView1Iterator}" text="Select and ">
<primaryClientAction>
<firePartialAction targets="detail0 _uixState" source="DepartmentsView11" event="select"/>
</primaryClientAction>
</singleSelection>
</tableSelection>
</table>
</contents>
</header>
<header text="Employees" id="detail0">
<contents>
<submitButton text="Edit" event="goEdit" name="formEmpLink"/>
<table model="${bindings.EmployeesView3}" id="EmployeesView32" partialRenderMode="multiple" partialTargets="_uixState">
<contents>
<column>
<columnFormat columnDataFormat="numberFormat"/>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.EmployeesView3,'EmployeeId')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.EmployeeId}" columns="10" readOnly="true">
<onSubmitValidater>
<decimal/>
</onSubmitValidater>
</textInput>
</contents>
</column>
<column>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.EmployeesView3,'FirstName')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.FirstName}" columns="10" readOnly="true"/>
</contents>
</column>
<column>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.EmployeesView3,'LastName')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.LastName}" columns="10" readOnly="true"/>
</contents>
</column>
<column>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.EmployeesView3,'Email')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.Email}" columns="10" readOnly="true"/>
</contents>
</column>
<column>
<columnFormat cellNoWrapFormat="true"/>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.EmployeesView3,'HireDate')}"/>
</columnHeader>
<contents>
<dateField model="${uix.current.HireDate}" readOnly="true">
<onSubmitValidater>
<date pattern="yyyy-MM-dd"/>
</onSubmitValidater>
</dateField>
</contents>
</column>
<column>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.EmployeesView3,'JobId')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.JobId}" columns="10" readOnly="true"/>
</contents>
</column>
<column>
<columnFormat columnDataFormat="numberFormat"/>
<columnHeader>
<sortableHeader model="${ctrl:createSortableHeaderModel(bindings.EmployeesView3,'Salary')}"/>
</columnHeader>
<contents>
<textInput model="${uix.current.Salary}" columns="10" readOnly="true">
<onSubmitValidater>
<decimal/>
</onSubmitValidater>
</textInput>
</contents>
</column>
</contents>
<tableSelection>
<flowLayout>
<contents>
<singleSelection model="${bindings.EmployeesView3Iterator}" text="Select and ">
<primaryClientAction>
<firePartialAction targets="_uixState" source="EmployeesView32" event="select"/>
</primaryClientAction>
<contents/>
</singleSelection>
</contents>
</flowLayout>
</tableSelection>
</table>
</contents>
</header>
</contents>
</stackLayout>
</contents>
<pageButtons/>
<start/>
<end/>
<about/>
</pageLayout>
<formValue name="${bindings.statetokenid}" value="${bindings.statetoken}" id="_uixState"/>
</contents>
</form>
</contents>
</body>
</contents>
</document>
<button destination="formEmp.do" text="formEmp.do"/>
</contents>
</dataScope>
</content>
<handlers>
<!-- Add EventHandlers (<event> elements) here -->
<event name="goto sort" source="DepartmentsView11">
<invoke method="handleTableUiEvent" javaType="oracle.cabo.adf.rt.AdfUtils">
<parameters>
<parameter javaType="oracle.adf.model.binding.DCIteratorBinding" value="${bindings.DepartmentsView1Iterator}"/>
<parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
</parameters>
</invoke>
</event>
<event name="select" source="DepartmentsView11">
<set target="${bindings.DepartmentsView1Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'DepartmentsView11')}"/>
</event>
<event name="goto sort" source="EmployeesView32">
<invoke method="handleTableUiEvent" javaType="oracle.cabo.adf.rt.AdfUtils">
<parameters>
<parameter javaType="oracle.adf.model.binding.DCIteratorBinding" value="${bindings.EmployeesView3Iterator}"/>
<parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
</parameters>
</invoke>
</event>
<event name="select" source="EmployeesView32">
<set target="${bindings.EmployeesView3Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'EmployeesView32')}"/>
</event>
<event name="goEdit">
<go name="formEmpLink"/>
</event>
</handlers>
</page>
thank you very much
lixinzhu
2004.10.14This is the same problem I was having, the reply I got was a link to this:
http://helponline.oracle.com/jdeveloper/help/topics/jdeveloper/developing_mvc_applications/adf_pviewcustommethod.html
I can't get that example to work either though. All I wanted to do was to get the event to fire Go:"StrutsForward", which is a forward to a data action, which on success forwards to another page. -
Refresh UIX Page from DataForwardAction
Version: JDeveloper 9.0.5
How would I go about refreshing my uix page after returning from a Struts DataForwardAction?
Why do I want to do this? I am setting a session variable based upon some code in the DataForwardAction. I have a button on the uix page that reads the value of the sessionScope variable and is either rendered or not rendered on the page. Currently, the design works, with the exception that I have to click the browser refresh in order for my page to read the new value on the session.
Any help will be greatly appreciated.
Thanks,
ConnieSteve,
Thanks for asking!
My uix page has the following code:
<tableSelection>
<singleSelection model="${bindings.MyViewIterator}" >
<!-- <primaryClientAction>
<firePartialAction targets="_uixSate" source="MyView139" event = "select" />
</primaryClientAction>-->
<primaryClientAction>
<firePartialAction targets="_uixSate" source="MyView139" event = "rowSelect" />
</primaryClientAction>
<contents>
<submitButton id="PageUpdateBtn" name="PageUpdateBtn" text="Update" event="update" rendered="${sessionScope.RenderPageUpdateBtn" />
<submitButton id="PageReviewBtn" name="PageReviewBtn" text="Update" event="update" rendered="${sessionScope.RenderPageReviewBtn" />
<submitButton text="Delete" model="${bindings.Delete}" id="Delete8" event="action" rendered="${sessionScope.RenderDeleteBtn}"/>
</contents>
</singleSelection>
</tableSelection>My DataForwardAction has the following code:
public void setSelectedRow(DataActionContext ctx) {
JUIteratorBinding iter = (JUIteratorBinding)ctx.getBindingContainer().findIteratorBinding("MyViewIterator");
int iterRow = Integer.partseInt(ctx.getHttpServletRequest().getParameter("MyView139:selected"));
iter.setCurrentRowIndexInRange(iterRow);
public void onRowSelect(DataActionContext ctx) throws Exception{
setSelectedRow(ctx);
//code to determine how to set buttons
// if have ability to update this record then
session.setAttribute("RenderPageUpdateBtn","true");
session.setAttribute("RenderPageReviewBtn","false");
session.setAttribute("RenderDeleteBtn","true");
// else
session.setAttribute("RenderPageUpdateBtn","false");
session.setAttribute("RenderPageReviewBtn","true");
session.setAttribute("RenderDeleteBtn","false");
}Any ideas?
Thanks!
Connie -
HideShow in table column in uix page
Hi EveryBody,
I am usin JDeveloper 9051+ adf+uix.
In that i'm trying to put a <hide show /> component in a column.
Hide and show is running but it does work for all the rows at a time since id of each <hideshow/> is same (i mean to say that all hideshows work at the same time) and i want it to work for the particular row in which the hide show is pressed.
This is my code snippet kindly help in this:
<hideShow id="hideshow1" disclosed="${'show'==uix.pageState.hideshow1}">
<contents>
<flowLayout>
<contents>
<labeledFieldLayout>
<contents>
<textInput model="${uix.current.Asset.KeyId}" columns="10" readOnly="true"/>
</contents>
</labeledFieldLayout>
<labeledFieldLayout>
<contents>
<textInput model="${uix.current.Asset.Description}" columns="10" readOnly="true"/>
</contents>
</labeledFieldLayout>
<labeledFieldLayout>
<contents>
<textInput model="${uix.current.Asset.Image}" columns="10" readOnly="true"/>
</contents>
</labeledFieldLayout>
<labeledFieldLayout>
<contents>
<textInput model="${uix.current.Asset.ShortDescription}" columns="10" readOnly="true"/>
</contents>
</labeledFieldLayout>
</contents>
</flowLayout>
</contents>
</hideShow>
<handlers>
<event name="hide show">
<set target="${uix.pageState}" property="${param.source}" value="${param.event}" />
</event>
</handlers>
Thanks in advance.Use detailDisclosure. It handles (almost) everything for you.
The LinkageError is not caused by the detailDisclosure.
In your table:
<table model="${bindings.AppointmentInformationView1}"
detailDisclosure="${uix.eventResult.detailData}"
alternateText="${uix.data.nlsMed.NoRecordsFound_LABEL}">
<contents>
<column>
</column>
</contents>
<detail>
<rowLayout width="100%" vAlign="top">
<contents>
PUT YOUR DETAIL COMPONENTS HERE!
</contents>
</rowLayout>
</detail>
<tableSelection>
</tableSelection>
</table>You are telling the table that the information about which rows are to be expanded can be found in the event result in detailData.
Now you need an event handler in that page:
<event name="show hide">
<!-- show the table details -->
<method class="foo.bar.UixHelper" method="doHideShowEvent"/>
</event>The show/hide events will go to a class (that you will provide) and the static method doHideShowEvent() will be called. That method must return the EventResult containing detailData.
Simple so far: You tell the table that the hide/show information comes in the EventResult object. You route the show/hide events to your class so that you can create the detailData and the EventResult object.
The next step takes a bit of coding. In your doHideShowEvent() method you must create the detailData object and return it wrapped in an EventResult.
The code looks like this:
public static EventResult doHideShowEvent( BajaContext context,
Page page,
PageEvent event ) {
// "source" contains the id of the UIX table
String dataSetName = event.getParameter( "source" );
int tableLength = 0;
boolean discloseAll = false;
PageEventFlattenedDataSet tableRows = new PageEventFlattenedDataSet( event,
dataSetName );
tableLength = tableRows.getLength( ); // the number of displayed table rows per
// page (not the complete number of rows)
// Remember the selected row for single selection tables (-1 means no selection)
// Number of row in displayed page (independent from range)
int selectedRowIndexOld = SelectionUtils.getSelectedIndex( tableRows );
int selectedRowIndexNew;
// Check if special row or show all
String value = event.getParameter( UIConstants.VALUE_PARAM );
int disclosureRowIndex;
if( value.equals( UIConstants.VALUE_SHOW_ALL ) ) {
disclosureRowIndex = tableLength;
discloseAll = true;
} else {
// this is the row that must be (un)disclosed:
disclosureRowIndex = Integer.parseInt( value );
// decide whether we want to disclose or undisclose depending on the name
// of the event (hide or show)
boolean disclose = UIConstants.SHOW_EVENT.equals( event.getName( ) );
if( discloseAll ) {
// if all rows shall be processed, keep previous selected
selectedRowIndexNew = selectedRowIndexOld;
} else {
if( disclose ) {
// set the selected row automatically on the row where show event was issued by
// the user.
selectedRowIndexNew = disclosureRowIndex;
} else {
// If the user pressed "hide" the selection is only changed if no row is selected
// not changed
selectedRowIndexNew = disclosureRowIndex;
DataObjectList detailData = new TableDetailData( tableRows, disclosureRowIndex,
disclose, discloseAll );
EventResult result = new EventResult( page );
result.setProperty( "detailData", detailData );
result.setProperty( "selectedRowIndex", new Integer( selectedRowIndexNew ) );
return result;
} // end method doHideShowEventSascha -
Is it possible to use several RootAppModules in one UIX Page?
Hello,
I want to use two RootAppModules in one uix page. The reason is, that application modules look at different database connections.
I get this NullpointerException:
java.lang.NullPointerException
void oracle.cabo.data.jbo.ui.data.ViewObjectDataProvider.init(oracle.cabo.ui.RenderingContext)
void oracle.cabo.ui.data.provider.TableDataProvider.init(oracle.cabo.ui.RenderingContext)
void oracle.cabo.ui.data.provider.CachingDataProvider.init(oracle.cabo.ui.RenderingContext)
void oracle.cabo.ui.data.provider.DataProviderStack.addDataProvider(oracle.cabo.ui.RenderingContext, oracle.cabo.ui.data.DataProvider)
void oracle.cabo.ui.LogicalNodeRenderingContext.addDataProvider(oracle.cabo.ui.data.DataProvider)
void oracle.cabo.ui.composite.CompositeRenderingContext.addDataProvider(oracle.cabo.ui.data.DataProvider)
void oracle.cabo.ui.laf.base.DataScopeRenderer.prerender(oracle.cabo.ui.RenderingContext, oracle.cabo.ui.UINode)
void oracle.cabo.ui.BaseRenderer.render(oracle.cabo.ui.RenderingContext, oracle.cabo.ui.UINode)
In my page I have two Registry entries and in my page content I open the second AppModuleScope after closing the first AppModuleScope.
I am using JDeveloper 9.0.3.2. The documentation says it should be possible???
Thanks,
ChristianI explored my problem yesterday and this are my results.
Everything works fine, so using different root application modules, if I come from a simply navigation event handler.
But when I use my own event handler which itself is enclosed in an root application module scope, the next page is not able to render data coming from different root application modules.
The event handler of my source page looks like this:
<event name="selectionEvent">
<bc4j:findRootAppModule name="MyRootAppModule">
<bc4j:findViewObject name="MySelectionVo">
<instance class="test.MySelectionEventHandler"/>
</bc4j:findViewObject>
</bc4j:findRootAppModule>
</event>
Regards,
Christian -
QT in html, events fired and movie internals doc
Hi,
The Javascript Scripting Guide says under "Executing JavaScript Functions From QuickTime", page 11:
Wired actions can be triggered by user interaction, as a result of a frame in the movie being displayed, or as the
result of arbitrary wired calculations.
It also briefly describes (page 23) the matrix and rectangle properties, saying "You can use a movie’s transformation matrix to scale, translate, and rotate the movie image. For details on the transformation matrix, see Movie Internals."
And the Rectangle is defined as "void SetRectangle(string rect)"
Where can I find the reference to the events fired by QT automatically ?
Where can I find this Movie Internals description ?
I'm not very familiar with javascript... That's not a QT issue, but where can I find a description of the rect ?
Many thanks
Jean-Pierre
Windows XP ProYes, you can navigate to other pages using buttons/code in an swf file. And you can trigger an event as well, though I don't know if that's what you intended to say if navigating to another page is what you are really after.
In AS3, to make a button work with code, you need to add an event listener and event handler function for it. You might need to add a few (for different events, like rollover, rollout, clicking it, but for now we'll just say you want to be able to click it to get a web page to open. In the timeline that holds that button, in a separate actions layer that you create, in a frame numbered the same as where that button exists, you would add the event listener:
btn1.addEventListener(MouseEvent.CLICK, btn1Click);
The name of the unique function for processing the clicking of that button is specified at the end of the event listener assignment, so now you just have to write that function out:
function btn1Click(evt:MouseEvent):void {
var url:String = "http://www.awebsite.com/awebpage.html";
var req:URLRequest = new URLRequest(url);
navigateToURL(req); -
Execute application module method automatically from uix page
Hi,
We are developping an application using Jheadstart 10.1.2.2 (build 32) with UIX pages as a view.
We have build a custom method on our application module class that creates and saves in a directory a chart in function of a parameter we pass to this method.
We would like to execute this method every time we acces a form page since this pages has to show the chart that our method creates. We would like to know if it is possible to execute this method automatically every time we acces this form page without having to press a button each time.
Thanks in advanced.
XavierXavier,
I am not sure UIX works as JSPX and JHS 10.1.2 as 10.1.3, but that is what I would do if I wanted to execute a method on page load:
1. Create a new managed bean(MyBean) in your faces-config which implements oracle.adf.controller.v2.PagePhaseListener interface
2. Go to the pagedef file of your page, right click it in structure pane and set the controller class to 'MyBean'
3. in MyBean and in beforePhase() method access App Module and call your function [see 4]. I quote this from ADF Dev.Guide 10.1.3 for how you can get App Module and call your function on it:
// 1. Access the FacesContext
FacesContext fc = FacesContext.getCurrentInstance();
// 2. Create value binding for the #{data} EL expression
ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
// 3. Evaluate the value binding, casting the result to BindingContext
BindingContext bc = (BindingContext)vb.getValue(fc);
// 4. Find the data control by name from the binding context
DCDataControl dc = bc.findDataControl("SRServiceDataControl");
// 5. Access the application module data provider
ApplicationModule am = (ApplicationModule)dc.getDataProvider();
// 6. Cast the ApplicationModule to its client interface
SRService service = (SRService)am;
// 7. Call a method on the client interface
service.doSomethingInteresting();
4. Check the phase and call your function in beforePhase method of your MyBean (implementing PagePhaseListener)
public void beforePhase(PagePhaseEvent event) {
FacesPageLifecycleContext ctx =(FacesPageLifecycleContext)event.getLifecycleContext();
if (event.getPhaseId() == MY_DESIRED_PHASE) service.doSomethingInteresting();
Probably, there is a shortcut to all these, or an alternative approach, which I myself will be happy to know about. -
Hi,
Does anybody know more about url event simulation in UIX.
Or how to call an Create-event in a dataAction.
What I want to do is:
UIXpage --> DataAction --> UIXpage2
I have a UIXpage with a link to my DataAction. In the parameter of this link I give the primaryKey to do a setWhereClause on the viewObject for UIXpage2.
I want to simulate an Create event in UIXpage2. Normally you would click on a Create button in UIXpage1, and an object is created. You can then fill in the details in a input form in UIXpage2 and press commit or rollback.
So there is no DataAction involved
But because I am this time working with URLs I want to call a create from DataAction to UIXPage2 either using a URL or in the DataAction java code.
Is this by any means possible from a DataAction?
Thanks in advance,
GideonDoes anybody know how to get the current URL in a UIX page. I want to pass this on to a data action?
Any help appreciated,
Gideon -
Refresh the Business Graphics Data on click of next page event of a table
Hi Experts,
We are using Business Graphics UI element in Web dynpro Java to display a table data.
We are limiting the graphics data to 12 table entries at a time.
Now, I just want to know how can we refresh the Business Graphics data when the user clicks on the Next Page option at the bottom of the table.
This is applicable if we have more than 12 table entries and we've restricted the visible row count to 12.
So, for more than 12 entries; when the user selects the next page, I want the next set of data to be displayed in the Business Graphics UI element.
But I am not able to get the action for the Next Page event.
Please note that we are on Netweaver 7.01.
Kindly suggest as how can we achieve this functionality.
Kind Regards,
Anuragcheck this
Web Dynpro Java Table Paging Unleashed: Optimizing Heavy Table Performance
Maybe you are looking for
-
Log for Addition/Deletion of object in a Transport Request
Dear Friends, Recently I had a issue where I tried deleting an object from a transport request and I got the message that object is deleted successfully. But when the transport was imported then it failed with Sy-subrc 8 because of the same object in
-
okay. yes, i am an idiot. so when i first got my mac, i had no .mac account, therefore saw no point in having the mail app. i tried making it work for my own email address, but it failed and made my laptop freeze up (remeber? im a moron.) anyway, i j
-
Apple tv 2 recognizes router but is taking 14 hours to download on 12mb connection?
Apple TV 2 recognized router but is taking 14 hours on a 12mb connection. Any ideas?
-
How/where do I get iTunes for my 64-bit Windows.8 laptop computer?
I cannot connect with the iTunes software I have available; that is, I get an error saying the software i for 32-bit products but my laptop is 64-bit running Windows 8.1. Help!
-
Trying to figure out how to spin a shape like a top...
Folks, I'm trying to figure out how to spin a shape like a top on one axis starting fast and slowing to a stop. It would be nice if the stop was eased in and not sudden. I can make the shape spin, but I'm having a lot of trouble figuring out how to c