【发布时间】:2025-12-31 07:15:06
【问题描述】:
我想将视图从 HTML 列表更改为 JSON 数据。
这是我在控制器中的代码:-
private void listFeedback(HttpServletRequest request, HttpServletResponse response)
throws SQLException, IOException, ServletException {
Feedback p = new Feedback();
int seller_id = Integer.parseInt(request.getParameter("seller_id"));
List<Feedback> feedbacks = p.all(seller_id);
String format = request.getParameter("format");
if(format == "json"){
String json = new Gson().toJson(feedbacks);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
RequestDispatcher dispatcher = request.getRequestDispatcher("feedbacks/demo.jsp");
dispatcher.forward(request, response);
}
request.setAttribute("feedbacks", feedbacks);
RequestDispatcher dispatcher = request.getRequestDispatcher("feedbacks/list.jsp");
dispatcher.forward(request, response);
}
但是,它仍然可以像以前一样查看,根本不需要改变。我希望它被重定向到 demo.jsp 以便它可以有一个 JSON 视图。有人会帮我做同样的事情吗?
更新
我只是忘记在里面放其他东西 所以,这是正确的代码
else{
request.setAttribute("feedbacks", feedbacks);
RequestDispatcher dispatcher = request.getRequestDispatcher("feedbacks/list.jsp");
dispatcher.forward(request, response);
}
非常感谢您回答我的问题。
【问题讨论】:
-
你确定
if里面的代码已经执行了吗? -
只需将
json写入writer即可,无需转发request。 -
@Kyera Nuna 这个 [hibare.in/pageInfo.php?PageID=28] 一定会帮助你。