从JSP文件请求getAttribute()时接收空值

时间:2017-05-04 13:57:50

标签: json jsp servlets java-ee netbeans

我有一个包含一些数据的json文件:

poll.json

{
    "poll": {
        "title": "About your preferences",
        "questions": [
            "Which color do you like best?",
            "What is your lucky number?",
            "Why?"
        ]
    }
}

在我的servlet中,我读取了json文件并处理数据并将json表中的“title”项存储到titleString中。之后(麻烦开始的地方)我用“titleString”替换我的jsp文件中的“oldTitle”。

PollServlet.java

protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
        response.setContentType("text/json");
        /* create bufferedReader to read the file.json */
        BufferedReader br = new BufferedReader( new InputStreamReader(
                getClass().getResourceAsStream("poll/poll.json"))); 
        JsonReader reader = Json.createReader(br);
        br.close();
        /* create json object and store it into titleString */
        JsonObject jsonObject = reader.readObject();
        String titleString = jsonObject
                .getJsonArray("poll").getJsonObject(0).toString();
         /* replace the item with atribute "oldTitle" to titleString*/
         request.setAttribute("oldTitle",titleString);
         getServletConfig().getServletContext().getRequestDispatcher(
         "/poll.jsp").forward(request, response);

    }

这是poll.jsp文件,我在其中设置了属性

        <title>JSP Page</title>
    </head>
    <body>

        <form>
            <a><% out.print(request.getAttribute("oldTitle"));%></a><br>
            <input type="text" name="firstname" value="">
            <br>

            What is your lucky number? <br>
            <input type="text" name="lastname" value="">
            <br>
            Why? <br>
            <input type="text" name="lastname" value="">
            <br><br>
            <input type="submit" value="Done">
        </form>

    </body>
</html>

问题是,当我运行我的项目时,我得到的是“null”而不是标签内的titleString导致问题的原因是什么?感谢

0 个答案:

没有答案