Question: who plays david in once upon a time
Answer: Joshua Paul Dallas ( born December 18 , 1978 ) is an American actor .