[英]Sending data from JSP Page to Javascript in another Page
I'm trying to send the data got from network in JSP page to html file in order to display it, Here I wrote an ajax function but no data coming to JS in html. 我试图将JSP页面中从网络获取的数据发送到html文件以显示它,在这里我编写了一个ajax函数,但是html中没有数据到达JS。 How to resolve this issue???
如何解决这个问题??? Ajax:
阿贾克斯:
$.ajax({
url:'anr_data.jsp',
cache:false,
success:function(data,status){
alert(data);
},
error:function(){
alert("failed to fecth data");
}
});
Here is my JSP page JSP: 这是我的JSP页面JSP:
<%@page import="java.net.URI"%>
<%@page import="java.io.BufferedReader"%>
<%@page import="org.apache.http.client.methods.HttpGet,java.io.InputStreamReader"%>
<%@page import="java.io.BufferedReader,java.io.IOException"%>
<%@page import="org.apache.http.client.methods.HttpGet,org.apache.http.HttpResponse" %>
<%@page import="org.apache.http.impl.client.DefaultHttpClient" %>
<%@page import="org.apache.http.client.HttpClient" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
// get the input values
double val1 = 10;
double val2 = 12;
HttpResponse response1 ;
int responseCode = 0;
String errorMsg = "";
try {
String url = "http://10.138.89.70:9090/anrs";
HttpGet request1 = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
// add request header
//request.addHeader("User-Agent", USER_AGENT);
response1 = client.execute(request1);
System.out.println("response is "+response1.toString());
responseCode = response1.getStatusLine().getStatusCode();
BufferedReader rd = new BufferedReader(new InputStreamReader(response1.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
out.println(result);
System.out.println("result is "+result);
} catch (Exception e) {
System.out.print(e.toString());
errorMsg = "Non-numeric input";
}
%>
Do not write scriptlets in JSP , because scriptlets shouldn't be used in JSPs for more than a decade. 不要在JSP中编写scriptlet ,因为scriptlet在JSP中不应使用超过十年。 Learn the JSP EL , the JSTL , and use servlet for the Java code.
学习JSP EL和JSTL ,并将servlet用于Java代码。
See How to avoid Java Code in JSP-Files? 请参阅如何避免JSP文件中的Java代码?
In Ajax function call servlet instead of JSP 在Ajax函数中调用servlet而不是JSP
$.ajax({
url:'NetDataServlet', // call servlet NetDataServlet
cache:false,
success:function(data){
alert(data);
},
error:function(){
alert("failed to fecth data");
}
});
Create servlet with name NetDataServlet
and inside Get
method add following code 使用名称
NetDataServlet
创建Servlet,并在Get
方法内部添加以下代码
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
//all your scriptlet code from JSP here
......
.......
........
String mesg = "success"
response.setContentType("text/plain"); // Set content type of the response.
response.setCharacterEncoding("UTF-8");
response.getWriter().write(mesg); // Write response body.
}
<servlet>
<servlet-name>NetDataServlet</servlet-name>
<servlet-class>com.stackoverflow.NetDataServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NetDataServlet</servlet-name>
<url-pattern>/NetDataServlet/*</url-pattern>
</servlet-mapping>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.