%@ page import = "java.io.*,java.util.*,java.net.http.*,java.net.URI,java.net.http.HttpResponse.BodyHandlers,java.net.HttpURLConnection,java.net.URL,java.nio.charset.StandardCharsets,org.json.*" %>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
debug
<%@ page buffer="8192kb" autoFlush="true" %>
Search by Publisher
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
<%
// Fetch the publishers from the Express backend
String targetURL = "http://127.0.0.1:8082/publishers";
if (request.getParameter("vc") != null) {
targetURL += "/vc";
}
StringBuilder res = new StringBuilder();
try {
URL url = new URL(targetURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
res.append(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
res.append("[]"); // Default to an empty array in case of error
}
// Convert response string to JSON array
JSONArray publishers = new JSONArray(res.toString());
%>
|
<%
int numOfTitles = 0;
for (int i = 0; i < publishers.length(); i++) {
JSONObject publisherObj = publishers.getJSONObject(i);
String publisher = publisherObj.getString("publisher");
if (publisher.equalsIgnoreCase("Nintendo")) numOfTitles = publisherObj.getInt("count");
else continue;
}
%>
<%= numOfTitles %>
|
<%
int columnCount = 2;
int spacingX = 235;
int spacingY = 54;
int displayedIndex = 1;
for (int i = 0; i < publishers.length(); i++) {
JSONObject publisherObj = publishers.getJSONObject(i);
String publisher = publisherObj.getString("publisher");
int titleCount = publisherObj.getInt("count");
if (publisher.equalsIgnoreCase("Nintendo")) continue; // Skip Nintendo
if (publisher.equalsIgnoreCase("Activision")) continue; // Skip Activision
int row = displayedIndex / columnCount;
int col = displayedIndex % columnCount;
int leftPos = (col * spacingX) + 6;
int topPos = (row * spacingY) + 2;
displayedIndex++;
%>
<% } %>
|
<%
int numOfTitles2 = 0;
for (int i = 0; i < publishers.length(); i++) {
JSONObject publisherObj = publishers.getJSONObject(i);
String publisher = publisherObj.getString("publisher");
if (publisher.equalsIgnoreCase("Activision")) numOfTitles2 = publisherObj.getInt("count");
else continue;
}
%>
<%= numOfTitles2 %>
|