I have extended the functionality of HelloWorldPG .
(oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG.xml)
(oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG.xml)
Seeded functionality of this page is:
User will enter his name or any text and on press of 'Go' button, the page will show a message by append 'Hello, ' in front of the name entered. If user click on button without entering anything in text field, still page will show a message 'hello, '.
Below is screenshot for the same:
Now we do these changes:
1) Using personalization, we will modify the prompt of text field (from 'name' to 'Enter Your Name: ').
2) Using controller extension, we will modify the message as : 'hello, ' + name + 'The message is from custom controller.'. Also we put a validation that name filed should not be empty while clicking on 'Go' button.
Below are steps for the same:
1) Create a new java class extending from standard controller.
Right click on xxcus --> new --> java class.
Enter the details as shown below:
The package for custom controller must follow standard conventions as:
oracle.apps.fnd.framework.toolbox.tutorial.webui.HelloWorldMainCO
xxcus.oracle.apps.fnd.framework.toolbox.tutorial.webui.XxcusHelloWorldMainCO
2) Write the below code in custom controller:
package xxcus.oracle.apps.fnd.framework.toolbox.tutorial.webui; import oracle.apps.fnd.framework.OAException; import oracle.apps.fnd.framework.toolbox.tutorial.webui.HelloWorldMainCO; import oracle.apps.fnd.framework.webui.OAPageContext; import oracle.apps.fnd.framework.webui.beans.OAWebBean; // here we are extending from HelloWorldMainCO public class XxcusHelloWorldMainCO extends HelloWorldMainCO { public void processFormRequest(OAPageContext pageContext, OAWebBean webBean) { if (pageContext.getParameter("Go") != null) { String name = pageContext.getParameter("HelloName"); if (!("".equals(name.trim()))) { String message = "Hello, " + name + " This message is from custom controller."; throw new OAException(message, OAException.INFORMATION); } } else { throw new OAException("Please enter your name.", OAException.ERROR); } } }
3) Compile and move to server:
Compile the file and move the class file to unix box at
$JAVA_TOP/xxcus/oracle/apps/fnd/framework/toolbox/tutorial/webui/
$JAVA_TOP/xxcus/oracle/apps/fnd/framework/toolbox/tutorial/webui/
4) Attach this custom controller to your page:
Open HelloWorld page and click on 'Personalize Page' at the top right. This will show a page as below. Click on personalize pencil against the 'Message Component Layout: (MainRN)':
Change the controller property as shown below and click on apply:
5) Change prompt of text field:
Click on personalize pencil against Message Text Input: Name.
Click on personalize pencil against Message Text Input: Name.
Here change the prompt property to 'Enter Your Name: ' at site level as shown below and click on 'Apply':
Finally, click 'Return to Application' link and all is done. Enter your name and press 'Go' button. It will show our custom message :
Also, the page will show error message if Go button is pressed when the field is empty:
No comments:
Post a Comment