[英]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.