“立储之争”,使万历皇帝与群臣的斗争长达十余年之久。万历决心以顽强的意志和臣僚们作持久的对抗。群臣不让他立郑贵妃的儿子常洵为太子,他同样以各种理由为借口,也不立王恭妃的儿子常洛为太子,甚至不让常洛举行成人典礼,阻止随翰林院的官员就读。但是迫于宫廷内外强大的压力,万历最终还是向群臣屈服了。他答应让常洛出阁就读。万历既然亲口答应皇长子常洛出阁就学,便再无口实可以推托。但是负责此事的太监,深知皇上并不乐意为皇长子办出阁礼,于是开出一张令人瞠目结舌的账单,总计不下十万两银子。万历抓住这一把柄,传谕内阁,借口皇长子出阁礼所需费用浩大,“出讲少俟二三年,册立一并举行,庶可省费”。显然又是在刁难和要挟。事情又拖了一年,万历在群臣再度施展的压力下,不得不宣布:二十二年(1594年)二月初四日,皇长子出阁讲学,但以尚未册立为皇太子,侍卫、仪仗一切仪注,从简从略。尽管如此,皇长子朱常洛总算是向太子的目标又迈出了艰难的一步。此时他已十三岁了。
当然,万历对群臣的屈服,带着万分的不情愿和异常的愤怒,在他的心灵上从此留下了永久的伤痕,并随着岁月的流逝而越发痛楚。而“国本之争”所带来的恶果,也越来越明显地展现出来了。
万历二十九年(1601年)朱常洛被勉强立为太子,储位始定,其间竟经历了十五年之久的磨难。后人评论说:“自古父子之间未有受命若斯之难也!”
常洛立为太子,常洵已去洛阳封地。爱子远离膝下,宠妃泪洒衣襟,万历怀着难言的悲恸和无比的仇恨,面对他的群臣,也面对他的帝国,他要进行报复。这个报复的方式是独特的。早在万历二十二年(1594年),他三十二岁时,就开始了一种前所未有的对付臣僚、开脱自己过错甚至罪责的办法。自从万历十四年(1586年)二月掀起“国本之争”以来,万历先是以“皇子婴弱”为由,后来又以“群臣聒激”为借口,兼施高压和敷衍之计,久拖不立。后来,当万历知道再没有借口做为理由来拖延时,便绞尽脑汁,终于在万历二十一年(1593年)一月,捏出一个“三王并封”的“待嫡”之计。