如何在XPage中从POST检索参数(java)

时间:2016-03-18 10:13:59

标签: java jquery post parameters xpages

我想使用Domino作为后端,html / jquery作为我的Web应用程序的前端。所以我有:

$.ajax({
    type: 'POST',
    url: 'mydb.nsf/xpage.xsp',
    contentType: 'application/json; charset=utf-8',
    data: { 
        f1: "hello", 
        f2: "hello again"
    },
    success: function (response) {
        console.log("SUCCESS");
    },
    error: function (error) {
        console.log(error);
    }
});

在Domino中:

public static String doGet(HttpServletRequest req, HttpServletResponse res) throws JsonException, IOException, NotesException {
    return doPost(req, res);
}    

public static String doPost(HttpServletRequest req, HttpServletResponse res) throws JsonException, IOException, NotesException {
    System.out.println("1) "+req.getAttribute("f1"));
    System.out.println("2) "+req.getParameter("f1"));
    System.out.println("3) "+req.getContentLength());

    return "AllOK";
}

在firebug和domino日志中,我看到POST正常,得到响应。但我无法弄清楚如何在多米诺骨牌中获得params f1和f2。 在多米诺骨牌日志中: 1)为null, 2)为空, 3)是23岁。

以后的想法是POST JSON,但是现在让这段代码工作会很棒。

如何通过java在domino中获取POST参数?

(我看到stackoverflow回答了很多类似的问题,但找不到我问题的具体内容)

谢谢!

1 个答案:

答案 0 :(得分:3)

使用reg.getReader()req.getInputStream()以元素f1和f2读取请求正文。

以下是如何读取JSON数据的示例: https://stackoverflow.com/a/3831791/2065611

req.getParameter()仅在内容类型为" application / x-www-form-urlencoded"而非json时才有效。