从Express / node.js Web应用程序预填充HTML / Jade

我有一个使用Express构buildnode.js的Web应用程序。 我正在使用Jade模板文件进行HTML显示。 在其中的一个显示中,我想要预先填充数据的各个字段。 数据存储在一个mongodb会话存储中,以及数据库中的一个单独的集合中。 我宁愿使用会话数据预先填充HTML / Jade显示中的这些字段。 我怎么能这样做(如果可能的话)?

将默认值添加到res.locals ,然后在jade中设置input元素value属性。

 //node.js app.get('/', function(req, res){ // Sorry I am unfamiliar with Mongo, not sure the syntax... mongo.get('defaults', function(err, body){ res.locals.dName = body.defaultName; res.locals.dFoo = body.defaultFoo; res.render('myTemplate'); }); }); //myTemplate.jade !!! html body form(action='/form', method='post') input#formName(name='name', value=locals.dName) input#formFoo(name='foo', value=locals.dFoo) 

我通过使用Express API的res.render()来解决这个问题。 我将柏拉图的答案归功于柏拉图,因为他似乎也是对的,他是回答我的问题的好人。

 exports.viewProfile = function(req, res) { res.render('viewProfile', {username: req.session.user, firstname: req.session.firstname}); }