营都司、新会右营守备、虎门协前营都司及前山营水师都司等职。1851年，护理香山协副将。1854年，升任大鹏协副将，镇守九龙寨城。同年8月19日，惠州天地会罗亚添率众攻佔九龙城寨。张玉堂只能聘请英属香港的僱佣兵收复九龙城寨。第二次鸦片战争爆发后，广东新安县乡勇以九龙为据点，四处袭击驻港英军。香港总督宝宁要求张玉堂交出义军，被张玉堂拒绝。1857年4月21日，宝宁派出二百名英军进攻九龙城寨，抓捕张玉堂，把他带到香港问话，其后获港府释放。张玉堂战败失陷敌手，清政府却没有把他免职。张玉堂仍然留任大鹏协副将，直至