在自定义主题中重新创建Liferay jsessionId

时间:2015-08-04 20:13:27

标签: liferay liferay-theme liferay-velocity

我在主题中创建了链接。不幸的是,这些链接需要包含这样的内容:“http://localhost:8080/test:jsessionid=ABCDEFG”。

我能够在使用此代码的期刊文章中执行此操作:

;jsessionid=$request.get('portlet-session-id')

但我无法在我的主题中做同样的事情。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用var mongoClient = require('mongodb').MongoClient; var http = require('http'); var connectionString = "..."; var pictureWallsCollectionName = 'PictureWalls'; //this is what barfs. see *** details exports.saveWall = function (req, res) { //reformat var toSave = { _id: req.body.wallId, pictures: req.body.pictures }; var status; mongoClient.connect(connectionString, function (err, db) { if (err) { return console.error(err); } var collection = db.collection(pictureWallsCollectionName); //*** no err yet... *** collection.insert( toSave, function (error, response) { //********************* //*** err here! ****** //********************* db.close(); if (error) { console.error(error); //bad status = 500; } else { console.log('Inserted into the ' + collection_name + ' collection'); //good status = 200; } }); response.status(status).end(http.STATUS_CODES[status]); }); } //this seems to work pretty reliably. including it just in case it's relevant exports.findByWallId = function (req, res) { var id = req.params.id; console.log('Retrieving wall: ' + id); mongoClient.connect(connectionString, function (err, db) { if (err) { return console.dir(err); } var collection = db.collection(pictureWallsCollectionName); collection.findOne( { _id: id }, function (err, item) { db.close(); if (err) { console.error(err); //something bad happened var status = 500; res.status(status).end(http.STATUS_CODES[status]); } else { console.log('Found wall with ID ' + id); //reformat and send back in the response res.send({ wallId: item._id, pictures: item.pictures }); } } ); }); }; 来获取主题中的jsessionid。