簡體   English   中英

我如何在這里使用Gson將列表發送回jsp頁面?

[英]How can I use Gson here to send back the list to the jsp page?

在一種情況下, servlet A將IP發送到遠程服務器,希望該服務器將發回該IP共享的文件列表:

Servlet A

connection.openConnection(); // Sends the IP as the query parameters
if(connection.getResponseCode() == 200) {  
    requestDispatcher.forward(request,response); // Forward to ShowFiles.jsp
} else { // Error ! }

注意:“ ShowFiles.jsp”是一個jsp頁面,將顯示它將從服務器接收的列表。

好的 ! 現在服務器上的servlet ,我們命名為B ,接收查詢參數並檢查數據庫中是否有與接收到的IP相對應的文件。 如果有/有文件共享,它將發回名稱列表,否則將顯示一條消息,提示尚未共享文件。

Servlet B (On server that receives IP as query parameter)

String ip = getAttribute("IP");
if( hasSharedFile(ip) ) {
  list = fetchList(ip); // Basically an ArrayList<String>
  // SEND THIS LIST BACK TO THE CLIENT
} else {
   // Return a message saying,No file has been shared till with the server
  }

為了將servlet B (在遠程服務器上)將此列表發送到ShowFiles.jsp (Servlet A ShowFiles.jsp 發送請求) ,建議使用JSON ,而不是Gson 如何使用Gson將此列表發送到ShowFiles.jsp

我從未使用過Gson,所以我一無所知。

Servlet B (On server that receives IP as query parameter)

String ip = getAttribute("IP");
if( hasSharedFile(ip) ) {
  list = fetchList(ip); // Basically an ArrayList<String>
  // SEND THIS LIST BACK TO THE CLIENT

    Gson gson = new Gson();
    gson.toJson(list, resp.getWriter());

} else {
   // Return a message saying,No file has been shared till with the server
  }

Servlet A

if(connection.getResponseCode() == 200) {
    Gson gson = new Gson();
    ArrayList<String> list = gson.fromJson(new InputStreamReader(connection.getInputStream()),ArrayList.class);

.jsp從閱讀器讀取

<%@page import="com.google.gson.Gson"%>
<%@page import="java.util.ArrayList"%>

<%
Gson gson = new Gson();
ArrayList list = gson.fromJson(request.getReader(), ArrayList.class);
// ...
%>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM