Ich erstellt einen Java Restful Service mit JSON und ich bekomme etwas Wert von diesem Service, dann möchte ich diese Werte auf einer JSP-Seite ausfüllen.Füllen von Werten von Java Restful Service in JSP Seite
Meine "test.jsp" Seite
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>test</title>
</head>
<body>
<form action="loginServlet" method="post">
<table>
<tr>
<td>First Name :</td>
<td><input type="text" value="" name="txtFirstname" value='<%=request.getParameter("firstinput")%>' /></td>
</tr>
<tr>
<td>Email :</td>
<td><input type="text" name="txtEmail" value='<%=request.getParameter("firstinput")%>' /></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>
Mein service.java Code ist unten
package test.xyz.abc;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import org.json.JSONObject;
@Path("/")
public class Service {
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat returnDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm");
@POST
@Consumes("application/x-www-form-urlencoded")
@Path("/auth")
public void Auth(String json) {
Date dt = new Date();
formatter.setTimeZone(TimeZone.getTimeZone("IST"));
String currentTime = formatter.format(dt);
JSONObject returnJson = new JSONObject();
try {
JSONObject innerJsonObj = new JSONObject(json);
String email = innerJsonObj.getString("email");
String fname = innerJsonObj.getString("fname");
//How to put email and fname values into "test.jsp" page
} catch (Exception e) {
}
}
}
"web.xml" Code
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>test</display-name>
<welcome-file-list>
<welcome-file>test</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>com.sun.jersey.server.impl.container.servlet.ServletAdaptor</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Ich bin mit Eclipse Mars1 und Java.
Sie müssten den Dienst beim Rendern Ihrer JSP aufrufen, um die Werte dort einzutragen. Dies allein sollte Sie fragen lassen, ob dies ein praktikabler Ansatz ist. Sie könnten besser mit JavaScript (vielleicht ein Framework basierend auf JS) oder mit einem anderen Dienst (könnte der RESTful Service und die JSP beide aufrufen). – Thomas
Sie wollen den Webservice während der Generierung der JSP verwenden? Dann warum Verwenden Sie einen Webservice, wenn Sie ihn vom Server aufrufen? Rufen Sie die Methode direkt (nicht hübsch) auf oder verschieben Sie die Logik in eine Controlerklasse und leiten Sie den Service dorthin um. Geben Sie eine Instanz in JSTL in der JSP – AxelH
@AxelH zurück um einen Dienst zu erstellen, der für Post-JSON-Daten verwendet wird, und ich diese Daten abrufen und auf meiner JSP-Seite anzeigen muss. – user3441151