JDev10.1.2-ADF UIX Customization of errors
Iam a forms developer who has been exploring Jdev.
Have to a certain extent managed to create the browse pages and edit pages.
My problem is how do i customise the errors thrown by JDev?
Like in forms i can capture and customise the errors in On-Error trigger is there any similar way i can do the same in UIX?
Regards,
Vineet
For UIX lov page, there are two event: "lovSelect" and "lovUpdate".
The Lov Page handles the "lovSelect" event, and main page handles "lovUpdate" event.
You can add attribute value bindings you need pass to main page,
and In main page, add "lovUpdate" event handler. Example as below:
<event name="lovUpdate" source="LOVInput1">
<compound>
<set property="inputValue" value="${data.lovUIModel.SelectAttribute1.inputValue}" target="${bindings.LOVIniput1}"/>
<set property="inputValue" value="${data.lovUIModel.SelectAttribute2.inputValue}" target="${bindings.LOVIniput2}"/>
<set property="inputValue" value="${data.lovUIModel.SelectAttribute3.inputValue}" target="${bindings.LOVIniput3}"/>
</compound>
</event>
Through this method, the main page can get multi values from lov page.
But We have to handle the clear lov input action manuly.
Hope this can help you.
Similar Messages
-
How can I customize the error message UIX STRUTS ADF
Hi dear forum:
I need to customize the error message?
Error
Id - JBO-27014: Attribute Id in AppModule.BackupsView1 is required
Fecha - JBO-27014: Attribute Fecha in AppModule.BackupsView1 is required
AplId - JBO-27014: Attribute AplId in AppModule.BackupsView1 is requiredRepost:
I need to customize the error message when I insert a new row with wrong values in ADF STRUTS UIX, where can I changue the default values for the message? -
Hi,
i have created a simple input form using ADF UIX
but when i run it on web i get this massage(given below)
any suggestions,
Best Reagrds,
Muazzam
Problem Report
Condition TCP error was detected while attempting to retrieve the URL: 'http://130.1.2.184:8989/ADFtest-ViewController-context-root/dataPage1.do'.
Problem Description: TCP/IP processing failure.
Try RELOADING the page.
This error message means that the target host did not properly respond to HTTP GET request after successfully establishing TCP connection. This may be due to problems like congestion on target host or transmission path.
If this problem persists for extended periods of time, contact your network support team. Please, first make sure that the target is really reachable and not, for example, out of service due to maintenance.
Current GMT Date/Time: Sat, 18 Jun 2005/09:02:56Hi Anubha,
This error is reported from the model layer and not from UIX layer. If you would like to see more repsonse on this, it would be better if you can change the subject and post a new message with subject like - "Exception encountered from ADFm layer with deployed application." You may get more reponse.
Thanks,
Vijay Venkataraman -
I created a very simple application in ADF UIX which just displays data from a database table. It runs perfectly when i run it locally. I then deployed it on to Application Server OC4J_Portal. I have updated ADF Libraries manually...and still getting the below mentioned errors..
500 Internal Server Error
oracle.jbo.common.ampool.ApplicationPoolException: JBO-30003: The application pool
(app.model.AppModuleLocal) failed to checkout an application module due to the following
exception:
JBO-30003: The application pool (app.model.AppModuleLocal) failed to checkout an application module
due to the following exception:
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1772)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule
(ApplicationPoolImpl.java:2611)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule
(WSApplicationModuleImpl.java:2457)
at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule
(WSApplicationModuleImpl.java:2416)
at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)
at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)
at oracle.adf.model.bc4j.DCJboDataControl.(DCJboDataControl.java:171)
at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:90)
at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:81)
at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)
at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)
at oracle.adf.model.BindingContext.get(BindingContext.java:411)
at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
at oracle.adf.model.binding.DCIteratorBinding.(DCIteratorBinding.java:127)
at oracle.jbo.uicli.binding.JUIteratorBinding.(JUIteratorBinding.java:59)
at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)
at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)
at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings
(DCBindingContainerDef.java:197)
at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer
(DCBindingContainerDef.java:273)
at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer
(DCBindingContainerReference.java:40)
at oracle.adf.model.BindingContext.get(BindingContext.java:427)
at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)
at oracle.adf.model.binding.DCUtil.initializeBindingContainer(DCUtil.java:505)
at oracle.cabo.adf.rt.InitModelListener.getBindingContainer(InitModelListener.java:566)
at oracle.cabo.adf.rt.InitModelListener._initBindingContainer(InitModelListener.java:535)
at oracle.cabo.adf.rt.InitModelListener._doModelUpdate(InitModelListener.java:96)
at oracle.cabo.adf.rt.InitModelListener.eventStarted(InitModelListener.java:55)
at oracle.cabo.servlet.AbstractPageBroker._fireUIXRequestEvent(Unknown Source)
at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)
at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)
at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
Page 500 Internal Server Error e 1 of 2
http://glorfindel.jsi.com:7777/invapp/dataPage1.uix 3/9/2005
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:604)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal
(ServletRequestDispatcher.java:317)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run
(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
## Detail 0 ##
at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:337)
at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:87)
at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:56)
at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:868)
at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1107)
at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:5823)
at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:117)
at oracle.jbo.server.ApplicationModuleImpl.doPoolConnect(ApplicationModuleImpl.java:8005)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7766)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule
(ApplicationPoolImpl.java:1915)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1739)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule
(ApplicationPoolImpl.java:2611)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule
(WSApplicationModuleImpl.java:2457)
at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule
(WSApplicationModuleImpl.java:2416)
at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)
at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)
at oracle.adf.model.bc4j.DCJboDataControl.(DCJboDataControl.java:171)
at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:90)
at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:81)
at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)
at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)
at oracle.adf.model.BindingContext.get(BindingContext.java:411)
at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
Can anyone please help me out with this...This is really urgent...
Thanks a lot....Hi Anubha,
This error is reported from the model layer and not from UIX layer. If you would like to see more repsonse on this, it would be better if you can change the subject and post a new message with subject like - "Exception encountered from ADFm layer with deployed application." You may get more reponse.
Thanks,
Vijay Venkataraman -
ADF UIX Tab Switching and 404 Error
I have an ADF UIX page that has a couple of tabs. When switching from one to the other, some of the links to data pages give me 404 error whereas they work if I run each page seperately. How do you maintain state when switching on tabbed pages?
Thanks!
RayWe need more detailed information to help with your scenario.
Is there any difference between the URL seen in the browser address location when you run individual tab pages versus clicking on the links?
Kind Regards. -
How to- Customise ORA errors in ADF UIX ?
Iam working on JDev 10.1.2. ADF UIX.
I have managed to capture JBO errors using message bundle and custo mise them but am not able to do the same in case of ORA errors. I need to customise errors like integrity constraint errors from database.
How am i too to do that?
Regards,
Vineet.hello
di you get this issue solved, please help
we are using 10.1.3 -
Detecting validation errors in ADF UIX
Dear sirs...
how can i detect validation errors in an adf uix page using DataActionContext?
thanks for any helpdear sirs...
i found how it works. it is simple, bust call this.hasErrors(ctx). this would return true if an error occurs, otherwise it returns false.
best regards -
ADF UIX Partial page rendering
Hi
I am facing a mysterious problem with partial page rendering in ADF UIX.
My page contains a <header> H1 and inside this there are two headers(H2 and H3).
The partial page rendering is in the header H2 and is working fine.
When i remove the below header H3 the partial page rendering ceases to work and get stuck.
Pasting the full code below. Please suggest.
<?xml version="1.0" encoding="windows-1252"?>
<!-- $Header: registration.uix 115.4.51.4 2009/12/14 13:10:05 kcthirum noship $ -->
<page xmlns="http://xmlns.oracle.com/uix/controller"
xmlns:ui="http://xmlns.oracle.com/uix/ui"
xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:myTemplate="http://xmlns.oracle.com/xhub"
xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j"
xmlns:data="http://xmlns.oracle.com/cabo/marlin" expressionLanguage="el">
<!--This UIX page is used as a tutorial page for new developers, which is why it has a lot of comments-->
<!--This section describes the ApplicationModule used by this page, and any View Objects that are used to display UI components or are used in any of the event handlers-->
<bc4j:registryDef>
<!-- XhubRegAM is the application module used by the entire Registration flow. defFullName is just the class. configName is the Configuration, which always has the pattern <AM name>Local -->
<bc4j:rootAppModuleDef name="XhubRegAM"
defFullName="oracle.apps.snw.tpadmin.server.XhubRegAM"
configName="XhubRegAMLocal" releaseMode="stateful">
<bc4j:viewObjectDef name="TpProfilesRegVO" rangeSize="1" autoCreate="false"/>
<bc4j:viewObjectDef name="UsersRegVO" rangeSize="1" autoCreate="false"/>
<!--IdentifierDomainsView drives the dropdown list of Identifier Types-->
<bc4j:viewObjectDef name="IdentifierDomainsView" rangeSize="20"/>
<!--XhubTerritoriesTlView drives the dropdown list of Countries-->
<bc4j:viewObjectDef name="XhubTerritoriesTlView" rangeSize="300"/>
</bc4j:rootAppModuleDef>
</bc4j:registryDef>
<!--We import the template file xhub.uit, which has code to display the tabs, subtabs, global buttons, etc., appropriately-->
<templates xmlns="http://xmlns.oracle.com/uix/ui">
<templateImport source="xhubtpadmin.uit"/>
</templates>
<content>
<!--in this section we define all of the methods and ResourceBundle classes that we want to reference as data sources in our page-->
<dataScope xmlns="http://xmlns.oracle.com/uix/ui"
xmlns:data="http://xmlns.oracle.com/uix/ui">
<provider>
<!--We use the TextProvider class to display ANY text to the user. All text is controlled in the database and cached on the middle tier. This allows for translation and for customization of text-->
<data name="textSource">
<bundle class="oracle.apps.snw.uicommon.TextProvider"/>
</data>
<!--This method provides information about the hub-->
<data name="adminInfo">
<method class="oracle.apps.snw.tpadmin.webui.AdminInfo"
method="getAdminInfo"/>
</data>
</provider>
<contents>
<document>
<!--This section defines the html metadata, usually just the page title-->
<metaContainer>
<head title="${textSource.REGISTRATION}"/>
</metaContainer>
<contents>
<body>
<contents>
<!--This next tag indicates that everything inside of it should be encapsulated in the "rootChild" node of the template page-->
<myTemplate:xhubTpAdminPageLayout selectedTab="1">
<contents>
<!-- this will contain any validation errors after form submission -->
<messageBox automatic="true"/>
<!--The form tag is necessary for any kind of form handling. This particular form performs some javascript validation before submitting-->
<form name="reg" method="POST">
<contents>
<!--The javascript that is executed on form submission-->
<!-- we cannot implicitly determine that events will be triggered because submit buttons are outside the form scope, so add the placeholder explicitly -->
<formParameter name="event"/>
<!-- define the bc4j scope of all child elements-->
<bc4j:rootAppModuleScope name="XhubRegAM">
<contents>
<!-- a top-level header -->
<header text="${textSource.REGISTRATION}">
<contents>
<!-- always used OraInstructionText, not <tip>, for explanation messages-->
<styledText styleClass="OraInstructionText"
text="${textSource.REG_PAGE_EXPLAIN}"/>
<!-- a second-level header -->
<header text="${textSource.REG_COMPANY_INFO}">
<contents>
<stackLayout>
<contents>
<!-- the labeledFieldLayout is the correct layout for vertically-stacked labeled fields-->
<labeledFieldLayout id="TpPartialDetails" width="80%"
labelWidth="40%">
<contents>
<messageChoice name="OracleAppsCustFlag"
prompt="Oracle Apps Customer"
required="yes" statePreserved="true"
selectedValue="${ui:defaulting(uix.pageProp.OracleAppsCustFlag, 'select')}">
<primaryClientAction>
<firePartialAction event="buyorsup"
targets="TpPartialDetails"
formSubmitted="true"
unvalidated="true"/>
</primaryClientAction>
<contents>
<option text="-select-" value=""/>
<option text="${textSource.YES}" value="Y"/>
<option text="${textSource.NO}" value="N"/>
</contents>
</messageChoice>
<messageTextInput prompt="${textSource.ORACLE_CSI_Q}"
name="OracleCsi"
text="${uix.pageProp.OracleCsi}"
rendered="${ui:defaulting(uix.pageProp.OracleCsiRender, 'false')}"/>
<messageTextInput prompt="${textSource.YOUR_TP_NAME}"
name="TpName"
tip="${textSource.YOUR_TP_NAME_TIP}"
required="no"
text="${uix.pageProp.TpName}"
rendered="${ui:defaulting(uix.pageProp.TradeswithTPRender, 'false')}"/>
<messageTextInput prompt="${textSource.YOUR_TP_ALIAS}"
name="TpAlias"
tip="${textSource.YOUR_TP_ALIAS_TIP}"
required="no"
text="${uix.pageProp.TpAlias}"
rendered="${ui:defaulting(uix.pageProp.TradeswithTPAliasRender, 'false')}"/>
</contents>
</labeledFieldLayout>
</contents>
</stackLayout>
</contents>
</header>
<!--level-2 header-->
<header text="${textSource.TP_DEFAULT_CONTACT_INFO}">
<contents>
<labeledFieldLayout width="80%" labelWidth="40%">
<contents>
<!--all of these fields default to the corresponding ctrl:page value if the user has entered a value. These values are set up in the register() handler-->
<messageTextInput prompt="${textSource.PASSWORD_PROMPT}"
name="Password" id="Password"
required="yes" secret="true"
maximumLength="32"
text="${uix.pageProp.Password}"/>
<messageTextInput prompt="${textSource.PASSWORD_CONFIRM_PROMPT}"
name="PasswordConfirm"
id="PasswordConfirm" required="yes"
secret="true" maximumLength="32"
text="${uix.pageProp.PasswordConfirm}"/>
</contents>
</labeledFieldLayout>
</contents>
</header>
</contents>
</header>
</contents>
</bc4j:rootAppModuleScope>
<spacer height="10"/>
<!--message indicating how we indicate required fields-->
<inlineMessage required="yes"
prompt="${textSource.REQUIRED_FIELD}"/>
</contents>
</form>
</contents>
<!--the contents of this tag will appear below the page-->
</myTemplate:xhubTpAdminPageLayout>
</contents>
</body>
</contents>
</document>
</contents>
</dataScope>
</content>
<!--event handlers-->
<handlers>
<!--This event is called by pressing the submit button-->
<event name="continue">
<bc4j:findRootAppModule name="XhubRegAM">
<method class="oracle.apps.snw.tpadmin.webui.RegistrationHandlers"
method="register"/>
</bc4j:findRootAppModule>
</event>
<!--This event is called by pressing the Cancel button-->
<event name="cancel">
<!-- finding the ApplicationModule causes it to be checked out from the ApplicationPool. It is released after rendering completes. -->
<bc4j:findRootAppModule name="XhubRegAM">
<!-- rollback the current transaction -->
<bc4j:rollback/>
<!-- forward to the summary page -->
<go name="main"/>
</bc4j:findRootAppModule>
</event>
<!--the * event is called whenever the page is accessed and no other event is called-->
<event name="buyorsup">
<bc4j:findRootAppModule name="XhubRegAM">
<!--This method sets the context of the page, namely the scope of the country dropdown view object-->
<method class="oracle.apps.snw.tpadmin.webui.RegistrationHandlers"
method="isBuyerorSupplier"/>
</bc4j:findRootAppModule>
</event>
<event name="*">
<bc4j:findRootAppModule name="XhubRegAM">
<!--This method sets the context of the page, namely the scope of the country dropdown view object-->
<method class="oracle.apps.snw.tpadmin.webui.RegistrationHandlers"
method="setContext"/>
</bc4j:findRootAppModule>
</event>
</handlers>
</page>
Please suggest if you know of any documentation on ADF UIX partial page rendering.
ADF UIX has very little documentation online and finding it hard to debug this issue.
It ll be of great help.
Thanks
KamalHi Jason,
As of EA9, all rendered components support a partialTriggers attribute. This attribute takes a list of master component IDs. If any of the master components are updated via a partial event, the dependent component will be rerendered in the partial update.
If you are on an earlier release, you should upgrade.
Thanks,
Jeanne -
Demo: From ADF UIX to JSF
Hello,
I am new to most of this. I am running jdev 10.1.3 preview with EA12.
While trying to run the demo described in the article "From ADF UIX to JSF"
found at http://www.oracle.com/technology/oramag/oracle/04-nov/o64jsf.html I got the following errors.
Project: C:\data\sample_home\MyADFFaces\ADFFacesView\ADFFacesView.jpr
C:\data\sample_home\MyADFFaces\ADFFacesView\public_html\empTable.jspx
Error: Internal error, ClassNotFound creating tag parser for afh:head, class: oracle.adfimpl.view.faces.taglib.html.HtmlHeadTag
Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.html.HtmlHeadTag
Error: head must be terminated with /> or %> not >
Error: Internal error, ClassNotFound creating tag parser for af:form, class: oracle.adfimpl.view.faces.taglib.core.CoreFormTag
Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.CoreFormTag
Error: Internal error, ClassNotFound creating tag parser for af:table, class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableTag
Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableTag
Error: Internal error, ClassNotFound creating tag parser for af:tableSelectOne, class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableSelectOneTag
Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableSelectOneTag
Error: Internal error, ClassNotFound creating tag parser for af:commandButton, class: oracle.adfimpl.view.faces.taglib.core.nav.CoreCommandButtonTag
Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.nav.CoreCommandButtonTag
Here is a copy of the JSP page source that I created as I was following the text in the article
Source starts
<?xml version='1.0' encoding='windows-1252'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:afh="http://xmlns.oracle.com/adf/faces/EA6/html"
xmlns:af="http://xmlns.oracle.com/adf/faces/EA6">
<jsp:text>
<![CDATA[ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ]]>
</jsp:text>
<jsp:directive.page contentType="text/html;charset=windows-1252"/>
<f:view>
<html>
<afh:head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
<title>
empTable
</title>
</afh:head>
<body>
<af:form>
<af:table value="#{myEmployees.employees}" var="row" rows="10">
<f:facet name="selection">
<af:tableSelectOne text="Select Employee and click ...">
<af:commandButton text="Show" action="showDetails"/>
</af:tableSelectOne>
</f:facet>
<af:column>
<af:outputText value="#{row.first_name}"/>
<f:facet name="header">
<af:outputText value="Firstname"/>
</f:facet>
</af:column>
<af:column>
<af:outputText value="#{row.last_name}"/>
<f:facet name="header">
<af:outputText value="Lastname"/>
</f:facet>
</af:column>
<af:column>
<af:outputText value="#{row.email}"/>
<f:facet name="header">
<af:outputText value="Email"/>
</f:facet>
</af:column>
</af:table>
</af:form>
</body>
</html>
</f:view>
</jsp:root>
---source ends ---
Can anyone tell me how to get past this? Thank you.
-- Jack CondonOne immediate thing: "EA6" is in the tag library namespaces, but you're using EA12.
In general, there've been a lot of changes between EA6 and EA12, but the changed namespace is one simple thing. -
ADF UIX cancel/rollback button?
Hi
We're having a fair amount of trouble implementing a "cancel" button in our ADF UIX application (JDev 10.1.2). Apologies to those who read this same post on the ODTUG mailing list..... I'm hunting for even a hint of an answer before I approach Oracle Support.
To set the scene, we have a parent VO "Departments" with child VOs "Dispatch" and "Agency". Dispatch also has a FK to Agency.
We have a UIX view-screen that displays in a master-detail relationship Departments and Dispatch. From this screen the user can select the edit button, which navigates to an input-form screen to edit the currently selected Dispatch record.
The Dispatch record has effective_from and effective_to dates. The underlying EO has a MethodValidator that ensures the from date <= the to date.
On the edit screen we currently provide 2 buttons, Ok and Cancel. The Ok submitButton is bound to the commit binding, and navigates back to the view page via a struts link on completion.
If the user selects the ok button and MethodValidator returns an error, the edit page's MessageBox displays the error and the user remains at the edit page until they resolve the issue.
Our problems start with the cancel button.
Originally we implemented the Cancel button as a simply "button" that navigated back to the view page. This worked well as the changes are never submitted, and on returning to the view page the record is presented in it's original state before being edited, thus the user's changes have been "cancelled".
However if the user was editing an existing record, entered invalid dates that violated the MethodValidator, clicked ok and saw the MethodValidator error, then clicked cancel, on returning to the view page, any changes to the underlying record are visible including the invalid dates. I believe this occurs because the record has been submitted to the mid-tier by the ok button, and as such the changes now lies in the mid-tier.
Given that a cancel "button" which simply navigates back to the view page is not a viable solution, we decided to investigate using a rollback button on our edit page, which then navigated back to the view page.
There is a nasty side affect in using the rollback functionality, and has been a continuous frustration mentioned on OTN. When rollback is issued, it appears all iterators in the running application have their current row reset to the first element.
This is a pain as in our example this results in not only the Dispatch iterator being reset to the first element, but also the parent Departments iterator, and presumably all other iterators in the application too. This would be an extreme annoyance to the user in every time they selected cancel, they would then need to navigate back to the correct Departments and Dispatch record if they wanted to make a different change.
As such it is necessary to write some code to store the iterator positions before issuing the rollback, rolling-back, then restoring the iterator positions from the saved states.
Luckily we found some code on OTN to do this:
ADF - cancel button not working in input form(add new row)?
This mechanism appeared to work, but, then, we did find one problem.
I described at the beginning that our Dispatch VO is not only related to Departments but also Agency. To cater for this in our edit screen by including a LOV bound <messageList>, which displayed the relating Agencies for the user to select from.
In using the pinched OTN rollback code, in the same scenario as previously, when the user edits a record, invalidates the MethodValidator after clicking ok, then clicks cancel, on returning to the view page, the field in Dispatch that represents the Agency is incorrectly showing a numeric result such as 0, 1, 2 etc. We realised that the value being shown is the previous edit screen's <messageList> internal index number representing the value selected in the list, and not the actual value itself.
We're note sure why the OTN rollback code is causing this to occur. Though it restores the Agency iterator's position, it shouldn't result in the <messageList> index being written to the underlying Dispatch agency field, but rather the value the <messageList> index represents.
It appears to me we're caught between a "rock and a hard-place" here. The simple solution of using a cancel "button" doesn't work when errors are raised. The complex case of using a "rollback" button doesn't work due to the problem with the <messageLists>.
My research on OTN shows the "cancel vs rollback" button is a common frustration. Can somebody help me in providing a satisfactory "cancel" button that I can use throughout my app please?
Many thanks in advance.
Chris MuirThe stack:
Class Method
UsrEcvAmpdsViewRowImpl setAgency
UsrEcvAmpdsViewRowImpl setAttrInvokeAccessor
ViewRowImpl setAttribute
DCDataControl setAttributeInRow
DCJboDataControl setAttributeInRow
JUCtrlValueBinding setAttributeInRow
JUCtrlValueBinding setInputValue
JUCtrlValueBinding setInputValue
InitModelListener _setInputValue
InitModelListener _doModelUpdate
InitModelListener eventStarted
AbstractPageBroker _fireUIXRequestEvent
AbstractPageBroker handleRequest
BaseUIPageBroker handleRequest
PageBrokerHandler handleRequest
UIXServlet doGet
HttpServlet service
HttpServlet service
ResourceFilterChain doFilter
JAZNFilter doFilter
ServletRequestDispatcher invoke
ServletRequestDispatcher forwardInternal
ServletRequestDispatcher forward
RequestProcessor doForward
RequestProcessor processForwardConfig
RequestProcessor process
ActionServlet process
ActionServlet doGet
HttpServlet service
HttpServlet service
ResourceFilterChain doFilter
JAZNFilter doFilter
ServletRequestDispatcher invoke
ServletRequestDispatcher forwardInternal
ServletRequestDispatcher forward
RequestProcessor doForward
RequestProcessor processForwardConfig
RequestProcessor process
ActionServlet process
ActionServlet doGet
HttpServlet service
HttpServlet service
ResourceFilterChain doFilter
JAZNFilter doFilter
EvermindFilterChain doFilter
ADFBindingFilter doFilter
ServletRequestDispatcher invoke
ServletRequestDispatcher forwardInternal
HttpRequestHandler processRequest
HttpRequestHandler run
HttpRequestHandler run
ReleasableResourcePooledExecutor$MyWorker run
Thread runAt a wild guess, InitModelListener is causing the issue, because it's the first place where we can see a setInputValue occuring?
To make this official I've raised a TAR (4613003.992) with Oracle Support with a cut down version of our app to work through the issue. -
LOV /ADF UIX pages does not work on the older version od UIX page
Hi
I have recently migrated UIX project from the Jdeveoper 9i to Jdev10g version 1.0.1.2, everything work without any issue, however when I try to create a LOV or any component that are ADF-UIX based, but it does not work I don't even get any error, it just does not work based on the ADF-UIX (Expression base component),
Any help to resolve this issue will be greatly appericated
ThanksI too have problems with LOVs in UIX pages. I have
some that you have to run twice to get back a value.To solve this problem,
1) open your UIX page where you create a new row
2) in the Structure window, click third tab "UI Model"
3) double-click the control action binding corresponding to Create
4) select CreateInsert from the list
The problem is related to the fix we introduced for the "Blank Row Issue" (see http://www.oracle.com/technology/products/jdev/tips/muench/blankrow/index.html).
If you have access to MetaLink, please refer to Note 299860.1 and Bug 4201020.
Regards,
Didier. -
Data Binding in ADF UIX example trouble
Two related questions:
From the help example 3. Data Binding in ADF UIX example trouble in JDeveloper on UIX. If this worked I was going to run a small java class that captures the login and passes it as a messagebox with a Welcome login name on the first page, but I can't get past the example and path problems.
From the example..."
package yourpackage;
import java.util.Date;
public class CurrentDateBean
public CurrentDateBean() { }
public String getTime()
return (new Date()).toString();
Now, we want to change the page so it uses getTime(). We need to do three things: Tell UIX to data bind the text attribute. Add a <dataScope> to the page to provide data to the content. Write a small "data provider" in Java that can access the bean. First, we'll data bind "text": <text xmlns="http://xmlns.oracle.com/uix/ui"
text="${uix.data.currentDate.time}"/>The example has one small change. The value is changed to ${uix.data.currentDate.time}, which is an expression that defines the data. This is shorthand for "get the time property from currentDate." If you tried running this example, you'd see nothing. That iss because we haven't given currentDate to the page, so the databinding failed, and the "text" is left to null. We do this by adding <dataScope> to the page: <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
<provider>
Q#1?? Trying to follow the demo. The method class and method name do not seem to match the names in the above class from the demo. Am I missing a point here, please help.
<data name="currentDate">
<method class="yourpackage.DataDemo" method="getCurrentDate"/>
</data>
</provider>
<contents>
<text text="${uix.data.currentDate.time}"/>
</contents>
</dataScope>
Q#2?? When I try and apply the demo class to my home.uix XML file with
"<?xml version = '1.0' encoding = 'windows-1252'?>
<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>
<!-- start Add DataProviders (<data> elements) here -->
<data name="currentDate">
<method class="us.mn.state.dot.apptrack.security.CurrentDateBean" method="getTime()"/>
</data>
<!-- end Add DataProviders (<data> elements) here -->
</provider>
<contents>
<text text="${uix.data.currentDate.time}"/>
<document>
<metaContainer>"
I get the following, and I don't know how to make the UIX XML accept the correct path, please help:
�file:/C:/JDeveloper905p/jdev/mywork/ProjTrack/AppTrack/ViewController/public_html/home.uix: Parsing error, line 12, column 97: Could not find class us.mn.state.dot.apptrack.security.CurrentDateBeanfor question 1 the name of the class CurrentDateBean
actually has nothing to do with the el expression
uix.data.currentDate.time. The currentDate part of the
el expression is coming from the method data provider part
of your page:
<data name="currentDate">
<method class="yourpackage.DataDemo"
method="getCurrentDate"/>
</data>
so if you changed the name of the data provider to "foo":
<data name="foo">
<method class="yourpackage.DataDemo"
method="getCurrentDate"/>
</data>
your el would look like this:
uix.data.foo.time
by the way the uix.data part tells UIX to look for
a <data> element define in the <provider> section of
your dataScope.
For question #2, do you have the java file
us.mn.state.dot.apptrack.security.CurrentDateBean on
your classpath and is it compiled? You will get that
warning if it is not on your classpath.
Also you are incorrectly interpreting the example. What
you are doing is trying to reference the actual bean
object and its getTime() method. What you want to do
is write a method data provider that returns your
CurrentDataBean. so uix.data.currentDate would return
a CurrentDateBean instance object. the .time part of the
el expression would tell UIX to look for a method named
getTime() and use that value.
let me know if you have any more questions. -
BUG? ADF-UIX uix-configuration.xml template-import
My UIX file works fine when I use templateImport:
<templates xmlns="http://xmlns.oracle.com/uix/ui">
<templateImport source="tmpl/library.uit"/>
</templates>
...but I get the following error, when I try to make this templatelibrary global by adding the bold line in my uix-config.xml
<application-configuration debug="false">
<default-expression-language>el</default-expression-language>
<ui-extensions>
<extension-class>
oracle.cabo.adf.rt.AdfUiExtension
</extension-class>
<extension-class>
oracle.cabo.servlet.struts.StrutsUIExtension
</extension-class>
<template-library>tmpl/library.uit</template-library>
</ui-extensions>
</application-configuration>
java.lang.IllegalArgumentException: Could not find ExpressionParser with name:null as specified in the ApplicationConfiguration
at oracle.cabo.share.xml.XMLUtils.getDefaultExpressionParser(Unknown Source)
at oracle.cabo.share.xml.XMLUtils.getDefaultExpressionParser(Unknown Source)
at oracle.cabo.servlet.xml.parse.UIExtensionsConfigParser._loadTemplateLibrary(Unknown Source)
at oracle.cabo.servlet.xml.parse.UIExtensionsConfigParser.addCompletedChild(Unknown Source)
at oracle.cabo.share.xml.TreeBuilder$Handler.endElement(Unknown Source)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1211)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:300)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:267)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:149)
at oracle.cabo.share.xml.TreeBuilder.parse(Unknown Source)
at oracle.cabo.share.config.ApplicationConfigurationParser.createInstance(Unknown Source)
at oracle.cabo.share.config.ApplicationConfiguration.getInstance(Unknown Source)
at oracle.cabo.share.error.ServletErrorLog.createErrorLog(Unknown Source)
at oracle.cabo.servlet.BaseBajaContext.createErrorLog(Unknown Source)
at oracle.cabo.servlet.BaseBajaContext.<init>(Unknown Source)
at oracle.cabo.servlet.UIXServlet.createBajaContext(Unknown Source)
at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at oracle.cuervo.share.servlet.PreviewServletContainer.handleRequest(PreviewServletContainer.java:310)
at oracle.cuervo.share.servlet.PreviewServletContainer.handleRequest(PreviewServletContainer.java:226)
at oracle.cabo.ide.addin.preview.UIXRenderThread._reallyLoad(UIXRenderThread.java:274)
at oracle.cabo.ide.addin.preview.UIXRenderThread.runImpl(UIXRenderThread.java:205)
at oracle.cabo.ide.addin.preview.BasePreviewThread.run(BasePreviewThread.java:112)Hi MatLee,
I follow the guide on chapter Configuration for ADF UIX to redefine paths for uit files and uix files but it doesn't work. I created a new uix page and it keep saving the page in the default root directory (public_html) instead of the path that I specified.
Could you please show me very detail <uix-path> example and uit path example that redefine the default paths for those two type of files. I need a working code examples, not a generic or shortcut ones. I need to store those files in their respective directories and relative to the root directory because the application is big and have many modules; each module's uix pages should be saved in their own directories and also separate from the template files directory.
Also, can I specify more than one paths in the <uix-path> tag? and is this tag used for redefining the path for uit templates file location as well or there is other tag for it?
Thanks
Tom -
I download a sample application from http://technology.amis.nl/blog/765/spring-and-oracle-adf-registering-a-pojo-spring-jdbc-based-business-service-as-data-control
However, one project' library need ADF UIX Runtime
How to import this extension?
============================================================
[Running application SpringAndADF on Server Instance IntegratedWebLogicServer...]
[06:08:04 PM] ---- Deployment started. ----
[06:08:04 PM] Target platform is (Weblogic 10.3).
[06:08:04 PM] Retrieving existing application information
[06:08:04 PM] Running dependency analysis...
[06:08:04 PM] Deploying 2 profiles...
[06:08:05 PM] Wrote Web Application Module to C:\Users\Administrator\AppData\Roaming\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SpringAndADF\HrmWebClientWebApp.war
[06:08:05 PM] Wrote Enterprise Application Module to C:\Users\Administrator\AppData\Roaming\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SpringAndADF
[06:08:05 PM] Deploying Application...
<Dec 9, 2010 6:08:08 PM PST> <Error> <HTTP> <BEA-101371> <There was a failure when processing annotations for application C:\Users\Administrator\AppData\Roaming\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SpringAndADF\HrmWebClientWebApp.war. Please make sure that the annotations are valid. The error is oracle.cabo.servlet.UIXServlet>
<Dec 9, 2010 6:08:08 PM PST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1291946886471' for task '24'. Error is: 'weblogic.application.ModuleException: Failed to load webapp: 'SpringAndADF-HrmWebClient-context-root''
weblogic.application.ModuleException: Failed to load webapp: 'SpringAndADF-HrmWebClient-context-root'
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: oracle.cabo.servlet.UIXServlet
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Truncated. see log file for complete stacktrace
>
<Dec 9, 2010 6:08:08 PM PST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'SpringAndADF'.>
<Dec 9, 2010 6:08:08 PM PST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: Failed to load webapp: 'SpringAndADF-HrmWebClient-context-root'
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: oracle.cabo.servlet.UIXServlet
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Truncated. see log file for complete stacktrace
>
[06:08:08 PM] #### Deployment incomplete. ####
[06:08:08 PM] Remote deployment failed (oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer)
#### Cannot run application SpringAndADF due to error deploying to IntegratedWebLogicServer.
[Application SpringAndADF stopped and undeployed from Server Instance IntegratedWebLogicServer]You cannot http://www.oracle.com/technetwork/developer-tools/jdev/desupport11g-087493.html
John -
Hello I've known The Browser Look and Feel (BLAF). I'd like to use that to do a form printable page (in a new window) without the navigation buttons . In next link there's an explanation but really I can't understand how I must use BLAF in my uix page:
http://www.oracle.com/technology/tech/blaf/specs/printAndPreview_flow.html
How can I do to interact a page uix with blaf?
thanks!!The BLAF - as far as I understand it - is the usability concept behind UIX. So, UIX already implements (in part?) BLAF.
To create a printable version of a page you use the showFacet element. The page "Customization of ADF UIX" will show you how to use it. Search the help for "showFacet".
The facet already removes lots of elements not suitable for printing from the provided LAFs. You can do a
rendered="${uix.renderingContext.rendererManager.facet!='printable'}in your controls to further control the visibility of elements.
Sascha
Maybe you are looking for
-
How do I make I Photo my default photo app?
the new program ***** and I want I Photo to be my default program. I would love to delete Photos off my computer so I don't have to have it but I won't let me do that!
-
Installed OAS 4.0.8.2.4 and configured it. Everything is working fine with listener, plsql cartridge, Java cartridge and OSSWA. But if change listener's user/group from Oracle/Dba to nobody/nobody. Listener will not start. It hangs in as follows: ===
-
Error when starting app via browser
Hi, when I try to start an applikation via IE 5.5 I get the following exception: Beim Starten/Ausf?hren der Anwendung ist ein Fehler aufgetreten. Kategorie: Fehler: ung?ltiges Argument Die angegebene Datei/URL konnte nicht geladen werden. CouldNotLoa
-
Advice to be sent to customer during BOE posting
Hi, When we are posting for a BOE transaction through f110, a customer should be notified with an advice, showing the maturity date on which he has to pay the amount. Please provide some pointers, as to how to achive the same. Regards Rudra
-
Windows Server 2003 accessed by several PCs and Macs without previous incident. This one Mac Pro after it's been left on all night (running jobs, or just left idle), and a user tries to reconnect to an SMB share, can go to Finder, Go, Connect to Ser