We're sorry to hear that your 2-year-old is giving you such trouble. It's very frustrating for us adults to see food hit the floor, so we can imagine how stressed this must make you!
First off, you can tackle the problem of tantrums in general by making sure that you don't give into them. If he throws a fit because he wants to eat his dessert first, for example, make sure you don't fold and give him his dessert! Otherwise, you're actually teaching him to throw fits to get what he wants.
Second, be aware of when he might have a tantrum. For example, if you know he doesn't like brussel spouts but you put one on his plate anyway, there's definitely a chance that he might throw food, right? Therefore, try warning him before you even give him the food. You can use a "carrot on a stick" by telling him, "Remember, if you eat this one little brussel sprout, you get pudding for dessert." By the time you set his plate down, he'll probably be pouting but he won't be shocked at the sight of the unwanted food. This will hopefully prevent him from throwing his food.
Boys Town National Hotline
Be consistent in your response. No anger, simply show him the consequences for his actions. He throws food, you slap his hand, say no. He does it again, you take away his food. He won't starve. Feed him again in two hours. What are you watching on TV? If he sees anger or violence he will continue displaying it. Do you have this child on a schedule? Does he get up at the same time every day, meals at the same time, story time, play time, etc? Sometimes mommy is there, but isn't giving the child real attention - she's on the phone, on the computer, watching TV, and isn't really training her child. He could be trying to get your attention, or he simply needs to know who's boss.