# HelloWorldController.jpf Sample

This topic inludes the source code for the HelloWorldController.jpf Sample.

## Sample Location

This sample is located in the following directory in your WebLogic Workshop installation:

BEA_HOME/weblogic81/samples/workshop/SamplesApp/WebApp/controls/webservice/helloworld/

## Sample Source Code

`001 package controls.webservice.helloworld; 002 003 import com.bea.wlw.netui.pageflow.FormData; 004 import com.bea.wlw.netui.pageflow.Forward; 005 import com.bea.wlw.netui.pageflow.PageFlowController; 006 007 import controls.webservice.helloworld.syncWebService.HelloWorldControl; 008 009 /** 010 * This Page Flow calls a web service control. It invokes the method "HelloWorld" 011 * and displays the result on the JSP page "result.jsp". 012 * 013 * @jpf:view-properties view-properties:: 014 * <!-- This data is auto-generated. Hand-editing this section is not recommended. --> 015 * <view-properties> 016 * <pageflow-object id="pageflow:/controls/webservice/helloworld/HelloWorldController.jpf"/> 017 * <pageflow-object id="action:begin.do"> 018 * <property name="x" value="60"/> 019 * <property name="y" value="60"/> 020 * </pageflow-object> 021 * <pageflow-object id="action:HelloWorld.do"> 022 * <property name="x" value="60"/> 023 * <property name="y" value="160"/> 024 * </pageflow-object> 025 * <pageflow-object id="page:index.jsp"> 026 * <property name="x" value="180"/> 027 * <property name="y" value="60"/> 028 * </pageflow-object> 029 * <pageflow-object id="action-call:@page:result.jsp@#@action:begin.do@"> 030 * <property value="144,120,120,96" name="elbowsX"/> 031 * <property value="152,152,52,52" name="elbowsY"/> 032 * <property value="West_1" name="fromPort"/> 033 * <property value="East_1" name="toPort"/> 034 * </pageflow-object> 035 * <pageflow-object id="page:result.jsp"> 036 * <property name="x" value="180"/> 037 * <property name="y" value="160"/> 038 * </pageflow-object> 039 * <pageflow-object id="forward:path#success#index.jsp#@action:begin.do@"> 040 * <property name="elbowsY" value="52,52,52,52"/> 041 * <property name="elbowsX" value="96,120,120,144"/> 042 * <property name="toPort" value="West_1"/> 043 * <property name="fromPort" value="East_1"/> 044 * <property name="label" value="success"/> 045 * </pageflow-object> 046 * <pageflow-object id="forward:path#success#result.jsp#@action:HelloWorld.do@"> 047 * <property name="elbowsY" value="152,152,152,152"/> 048 * <property name="elbowsX" value="96,120,120,144"/> 049 * <property name="toPort" value="West_1"/> 050 * <property name="fromPort" value="East_1"/> 051 * <property name="label" value="success"/> 052 * </pageflow-object> 053 * <pageflow-object id="control:controls.webservice.helloworld.syncWebService.HelloWorldControl#myControl"> 054 * <property value="28" name="x"/> 055 * <property value="34" name="y"/> 056 * </pageflow-object> 057 * </view-properties> 058 * :: 059 * 060 */ 061 public class HelloWorldController extends PageFlowController 062 { 063 064 public String result; 065 066 /** 067 * @common:control 068 */ 069 private HelloWorldControl myControl; 070 071 072 /** 073 * @jpf:action 074 * @jpf:forward name="success" path="index.jsp" 075 */ 076 protected Forward begin() 077 { 078 return new Forward( "success" ); 079 } 080 081 082 083 /** 084 * This method invokes the control method "HelloWorld" 085 * 086 * @jpf:action 087 * @jpf:forward name="success" path="result.jsp" 088 */ 089 public Forward HelloWorld() 090 { 091 try 092 { 093 result = myControl.HelloWorld(); 094 095 return new Forward( "success" ); 096 097 } 098 catch( Throwable ex ) 099 { 100 ex.printStackTrace(); 101 } 102 return null; 103 } 104 105 }`