招遠縣張于旦,性格疏狂不羈,在一間破廟內寄宿讀書。縣令魯公,生有一女,好狩獵。這一天魯小姐外出打獵,路遇張書生。張于旦見魯小姐風姿娟秀,身披貂裘,腳跨駿馬,翩翩如畫中仙子,情不自禁心生愛慕。回到家中思念佳人,遐想連篇。沒過多久忽然听到魯小姐暴病而卒,噩耗傳來,張于旦悲痛欲絕。
魯縣令因為老家路遠,暫將女兒靈柩寄存于寺廟中,即張于旦讀書所在。張書生早晚上香,晝夜祭奠,對魯小姐遺體敬若神明。
這一晚,張于旦酹酒于地,口中禱告「自從上一次目睹小姐容顏,在下心中魂牽夢縈。不曾想紅顏薄命,轉眼間麗人香消玉殞。如今你我雖然近在咫尺,卻似遠隔河山,故人見面不相識,人間恨事,莫過于此。小姐生前守禮自持,男女有別,死後應該百無禁忌,如果泉下有靈,當姍姍而來,以慰我相思之苦。」
如此日夜祝禱,忽忽過了半月,這一晚張于旦挑燈夜讀,不經意間抬頭,面前一妙齡少女含笑侍立燈下,張于旦一驚而起,問道︰「小姐是誰?」
少女道︰「我便是魯小姐啊,感君情深,不能自已,遂不避私奔之嫌,前來與公子一聚。」張于旦大喜,兩人上床歡好,互訴衷腸,自此夜夜纏綿。
這一晚事後,魯小姐說道︰「賤妾生前喜好弓馬,以射獐殺鹿為快,罪孽深重,死後不能輪回。如果公子誠心愛我,請為我念誦《金剛經》五千零四十八卷,生生世世不忘恩情。」張于旦慨然允諾,每晚于燈下虔誠誦經,從不間斷。有時踫上節日,張于旦邀請女子一同回家,魯小姐笑道︰「賤妾雙足無力,不能走遠路。」張于旦不失時機,笑道︰「那我背你好了。」魯小姐含笑順從,張于旦將她負在背上,如抱嬰兒,輕若無物,漸漸習以為常,即便考試時也背著魯小姐一同前往,只不過為了避免駭人听聞,常常在夜深人靜時趕路。
這一年張于旦收拾行囊,準備參加科考,魯小姐道︰「公子福薄,不用白費功夫啦。」張于旦點點頭,從此不再踏足考場。
過了四五年,魯縣令罷官歸田,家道中落,想要替女兒入土安葬,卻一直找不到墓地,張于旦上門拜訪,說道︰「小生在寺廟附近有一塊墓地,願意送給大人。」魯縣令聞言大喜,連連道謝,張于旦又四面張羅,為葬墳一事出了不少力氣,魯縣令暗暗感激,卻又不解緣故︰這張書生如此熱情,有什麼圖謀?搖頭嘆氣,也不想深究,說了幾句客套言語,便即告辭。
魯縣令去後,一男一女雲雨綢繆,一如平日。這一夜魯小姐依靠在書生懷中,淚落如豆,哽咽道︰「五年歡好,如今終于到了分別時刻。受君恩義,百死不足以報答。」張于旦驚奇錯愕,忙問道︰「到底怎麼回事?」
魯小姐道︰「公子日夕為我誦讀經文,替賤妾洗清生平罪孽。眼下我災滿月兌難,不日就要前往河北盧戶部家投胎。如果公子不忘情意,十五年後八月十六,可來盧府再續前緣。」
張于旦哭泣道︰「如今我已三十多歲,十五年後,行將就木矣。再見面又有何用?」魯小姐道︰「到時我給公子為奴為婢,服侍你一直到老。」過了半晌又道︰「請公子送我一程,此去轉世,路途六七里,遍生荊棘。賤妾長裙曳地,不利行走。」說話間以雙手摟住書生脖子,微微一笑。
張于旦強忍悲傷,將情人抱在懷中,一直送到終點,只見路旁車馬群集,馬上或一人,或二人,車上或三人,或四人,或十數人不等。其中一輛馬車,錦繡豪華,坐著一名老嫗,遠遠瞧見魯小姐前來,問道︰「是魯家娘子來了嗎?」魯小姐道︰「來了。」回顧書生,說道︰「送君千里,終須一別,公子請回吧,不要忘了十五年之約。」張于旦使勁點頭。
魯小姐走近馬車,那老嫗扶著她走入車廂,只听得駿馬一聲嘶鳴,塵煙起處,馬車呼嘯而去。
張于旦悵然而歸,將約會日期刻在牆壁,回思念誦經咒頗具功效,于是虔心禮佛。夜晚入夢,夢見神仙下凡,說道︰「公子一心為善,志向可嘉,但若想成就大道,須前往南海。」張于旦問「南海多遠?」神仙道︰「遠在天涯,近在方寸之間。」張于旦若有所悟,俄爾夢醒,從此養性修行,身處紅塵,心如菩提。
三年後,張于旦長子與次子相繼高中,金榜題名,家道日趨興隆。雖然身份顯貴,但仍然一心向善。這一晚再次入夢,夢見受青衣人所邀,來到一處宮殿做客,殿內坐著一名僧人,寶相莊嚴,合十為禮,說道︰「施主善舉可嘉,但命中注定早死,幸好我在玉帝面前求情,替你求了六十年壽命。」
張于旦感激不盡,伏地叩頭致謝。僧人將他扶起,賜坐賜茶,茶水芳香如蘭。過一會,一名童子引著張于旦離去,來到一處浴池,池水清潔,游魚穿梭,說道︰「請居士入池洗滌。」
張于旦月兌衣進入池中,水溫如玉,伸鼻聞嗅,清香似荷葉,喜不自禁,戲水玩耍,漸漸來到水深處,失足而陷,水淹過頂,忍不住大喊大叫,一驚夢醒,心中暗暗稱奇。
自從上次入夢,張于旦身體健旺,雙目炯炯,手模下頷,白須根根月兌落,臉上皺紋消失,紅光滿面,如此過了數月,張于旦變得英俊挺拔,宛如十五六歲少年,性格亦變得飛揚跳月兌,貪玩好動。
不久後張于旦妻子去世,兒子請求他續弦再娶,張于旦道︰「此事不急,等我去河北走一趟,再下定論。」原來不知不覺間十五年過去,與魯小姐約會之期迫在眉睫。
張于旦念念不忘舊情,獨自騎馬來到河北,詢問探訪,此地果然有一位盧戶部。
在此之前,盧老爺生下一女,落地便能言語,長大後聰慧秀美,深得父母鐘愛。盧老爺有心替女兒挑選夫婿,少女搖頭推辭,說道︰「我與招遠縣張公子有十五年之約,女兒非他不嫁。」
盧老爺笑道︰「傻孩子,你也太痴情了。張于旦如今年過半百,人事變遷,說不定尸骨都已化成灰燼。退一步說,就算張郎在世,也是白發齒落,一個苟延殘喘的糟老頭子,嫁他作甚?」
盧小姐微微一笑,並不听從勸解,母親見她意志堅定,私下里與相公商議「為今之計,只有閉門謝客,拒張于旦于府邸之外,借此斷絕女兒念想。」
不久後張于旦果然登門拜訪,看門的下人冷眼相待,三言兩語將他罵退,張于旦受了一肚子氣,悵然返回旅舍,一時間沒了計策。閑居他鄉,每日外出游蕩,伺機暗訪情人下落。
到了八月十六,不見張于旦前來,盧小姐以為他負約,涕零絕食。母親安慰道︰「張于旦過期不至,要麼是死了,要麼是背棄盟約,不管怎樣,你已經仁至義盡,不要再想他了。」盧小姐默默不語,終日睡臥在床,不吃不喝。
盧老爺暗暗憂心,心想「還是去見一見張于旦吧。」于是外出尋找,兩人相遇于曠野。盧老爺凝目一瞧,眼前男子明明是個少年,免不了一番驚訝。兩人言語交談,張于旦為人倜儻,盧老爺更是大生好感,當下請他去家中一敘。
僕人送上茶水,說了幾句話,盧老爺匆匆離去,入閨房告訴女兒「孩子,張公子來了。」
盧小姐聞言大喜,掙扎著下床站立,偷偷躲在簾子後面窺視,只覺眼前書生眉目陌生,並不相識,悵然而返,幽幽哭泣,口中埋怨盧老爺說話騙人,盧老爺大叫冤枉,情緒懊惱,將怒氣全撒在張于旦身上,款待客人之間,一改先前熱情,變得十分冷淡。
張于旦問道︰「貴族中有人在戶部做官嗎?」盧老爺含糊回應,左顧右盼,神色間頗不耐煩。張于旦討了個沒趣,當即告辭。
過了幾天,盧小姐相思成病,病死在床。
張于旦夜晚入夢,夢中見到盧小姐,跟自己說「前日來找我的果真是你嗎?公子容貌大變,我沒能認出。如今我憂憤而死,公子快去土地廟中招魂,還有還陽機會,晚了則追悔莫及。」
張于旦聞言驚醒,星夜趕去盧府探訪,果然發現盧小姐已經死去兩天,痛哭了一場,急入大廳拜見盧老爺,將夢境相告。兩人不敢耽擱,火速來到土地廟,招魂而歸,回到盧小姐閨房,打開她身上棉被,手撫尸體,口中呼喚少女名字。
過不大會,盧小姐喉中咯咯有聲,朱唇乍啟,吐出一塊冰痰,雙眼睜開,申吟復活。
盧老爺大悅,整治酒席慶祝,席間詢問張于旦家世,得知他是巨家大族,更加歡喜。當即定下吉日,給兩人籌備婚禮。
成婚後半月,張于旦帶著妻子回家,盧老爺一路護送,在女婿家住了半年方才離去。
又過一年,盧老爺死去,留下孤兒寡母,家產敗盡,張于旦顧念舊情,將岳母接到家中供奉,兩家親如一家。