《水浒》中描写的梁山泊,方圆800余里,水势浩渺、茫茫荡荡,湖边芦苇茂密,港汊纵横,错综复杂;湖里水荡波塘,深浅莫测,难进亦难出;湖中梁山兀立,上垒宛子城,居高临下,虎视湖面,有石径一道通向金沙滩,石径陡峭、狭窄,一夫扼关,万夫莫开,真个是水环险山,山居恶水,宋江等一班好汉凭借这险山恶水,招兵买马、杀富济贫、屡败官军、替天行道,干出了一番轰轰烈烈的事业。
其实,有关宋江起义的史籍,无论是《宋史》中的《徽宗本纪》、《侯蒙传》、《张叔夜传》,还是宋朝李/的《十朝纲要》、徐梦莘的《三朝北盟会编》、王偁的《东都事略》等,都记载宋江义军是流动作战,时而淮南,时而京东、河北,时而齐、魏,时而楚、海州,并转掠十郡,但无一处提到宋江建立根据地,更没有提到根据地是水泊梁山。相反,从《宋史》中的《任谅传》、《许几传》、《杨戬传》中可以看出,宋江等人聚义之时,梁山泊正在被官兵清剿,“兴利除弊”,非但不见宋江等人在此,而且也不见其他“盗贼”之类的踪迹。龚开的《三十六画赞》中,非但未提梁山泊,反有多处提到宋江等人活动于太行山的梁山(即吕梁山)。可见,宋江义军本与梁山泊风马牛不相及,只因梁山泊历来流传着许多绿林豪杰的故事,《水浒》的作者才将宋江一行劫富扶贫的英雄搬到了梁山泊,虚构出这一方根据地。
梁山泊却实有其地。山东、山西、河南、安徽、江苏各地都有称梁山的山峰,《水浒》中的梁山指山东的梁山。综合各种史籍记载,可知山东境内的梁山位于寿张附近,古大野泽的下流,本名良山,因汉文帝次子梁孝王曾到此游猎,故改名为梁山。山下有古巨野泽,山周20余里,上有虎头崖、黑风洞、石穿涧、莲花台。汶水从东北方流来,与济水相会于梁山东北,汇聚成泊即为梁山泊,古称梁山泺(即泊),宋朝时黄河决口,河水大量泻入此泊,水域增大,时有泛滥成灾。后来,黄河改道向南,水源减少,湖泊面积渐渐缩小。元朝开凿会通河,引汶绝济,明初又在此筑戴村坝,遏汶水南流,水源陡减,水泊大量干涸淤结,到明朝代宗时,湖面只残存约80里。现代学者经考证,大都认为宋朝时的梁山泊位于今山东阳谷县、梁山、郓城县之间,历数百年沧海桑田之变,至今水泊绝大部分已成平陆,毫无往日那“纵横河港一千条,四方周围八百里”的壮阔景象了。此处就是《水浒》中描写的梁山泊旧址。多年来此说似乎已成定论,在史学界、文学界、戏剧艺术界广泛流行。
然而,近年曹晋杰等人提出了一种独特的见解。他们在《〈水浒〉杂考》一文中认为,《水浒》成书于元末明初,元末群雄并起,其中的张士诚起义在许多方面与《水浒》中描写的宋江起义十分吻合,如张士诚自发难至失败,历14年,《水浒》写宋江一班人聚义,也是14年。而真实的宋江起义,却只有一年多时间;张士诚最后投降元朝,宋江接受招安,也归顺朝廷;张士诚起义时,啸聚造反的群雄,如金陵朱元璋、九江陈友谅等,有十五路,而《水浒》中列举占据山寨、对抗朝廷的,如十字坡张青、揭阳岭李俊等,也正巧是十五路。而且,《水浒》作者与张士诚又有过交往,因此,《水浒》中的许多内容是以张士诚起义为原型加工而成的,梁山泊也是以张士诚起义处作为原型的,这地方就是今江苏省大丰县草埝、白驹一带。因为,这一带是水网地区,当年确有河港千条之多,如今虽然大都淤浅,改成平田,但烟波浩渺、芦苇茂密,当年的气派仍依稀可辨,正和《水浒》中描写的“纵横河港一千条,四方周围八百里”的梁山形势相仿。同时,该地近处的兴化境内也有一座梁山(名小梁山),张士诚起义时曾在此山安营扎寨。
同样有梁山、下有水泊,同样起义反抗朝廷……此说引证,比照得力,言之成理,颇能令人接受,遂与前一说分庭抗礼。于是,梁山泊的原型是何处?就成为令人注目的一谜。