郑文公有一个名叫燕姞的姬妾,一次梦到神灵送给她一株兰草说:“我是伯翛,是你的祖先。这株兰草是你的儿子,兰草有浓烈醇正的香气,你的儿子也是这样。”燕姞把梦讲给郑文公,郑文公就和她同房。后来,燕姞果然生下了一个儿子,取名为公子兰。郑文公本来有5个宠爱的儿子,都因为犯罪而早死了。郑文公很失望,于是赶走了其他各位公子。公子兰逃到晋国,他对晋文公很恭敬,晋文公十分喜欢他。郑文公四十三年(公元前630年),晋文公因为郑国帮助楚国攻打晋国,又因为流亡时郑文公对自己的无礼,便联合秦穆公攻打郑国。晋军包围了郑国的国都,当时,公子兰随晋文公出征,也在军中。他暗中活动,希望能够回到郑国做太子。
晋文公流亡郑国时,叔詹建议郑文公杀死他。晋文公这次前来,想得到叔詹并杀死他。郑文公听说后很害怕,不敢告诉叔詹。叔詹知道后,对郑文公说:“我曾经对您说过,不杀死重耳的话,他就会成为我国的忧患。现在晋国因为我而包围郑国的都城,如果我死了就能免除郑国的灾难的话,我就愿意去死。”说完他就自杀了。郑文公命人把叔詹的尸体送给晋国。晋文公说:“我一定要见郑文公,污辱过他之后才肯离开这里。”郑国人很担心,派人私下劝秦穆公说:“打败了郑国对晋国有好处,对秦国没什么利益。”秦国听到后撤军了。晋文公派使者到郑国,要求送公子兰回郑国做太子,郑国答应,晋军这才撤离郑国。