以下是我first.jsp
我应该使用AJAX调用second.jsp
页面...我需要将first.jsp
页面的值传递给second.jsp
页面。
然后在second.jsp
页面中使用该变量值并使用该查询生成SELECT查询并将数据返回first.jsp page
以下是我的first.jsp page
<html>
<head>
</head>
<body>
<p><input type="radio" name="dish" value="Indian" id="radioButton"> Continental</input></p>
<p><label for="male" id="columnData">Male</label></p>
<script>
$(document).ready(function() {
$('#radioButton').click(function() {
alert($('#columnData').html());
var name = $('#columnData').html();
$.ajax({
type:"POST",
url: "second.jsp",
data:"name=" +name,
success: function(success) {
}
});
});
});
</script>
</body>
</html>
下面是我的second.jsp page
,其中我需要从first.jsp
检索值并进行选择查询并返回结果..
<html>
<head>
<title>SELECT Operation</title>
</head>
<body>
<sql:setDataSource var="snapshot" driver="org.postgresql.Driver"
url="jdbc:postgresql://localhost/postDB"
user="postgres" password="hello"/>
<sql:query dataSource="${snapshot}" var="result">
// use the name variable value here passed from first.jsp page?
SELECT * from Employees where name = ?;
</sql:query>
</body>
</html>
我不确定如何将值从一个JSP页面传递到另一个JSP页面,然后将结果从second.jsp页面返回到first.jsp页面?
答案 0 :(得分:2)
在first.jsp文件中,请尝试使用$ .post(更合适)。
$.post("second.jsp", {'name': name},
function(data)
{
alert("Result from second.jsp: " + data.name + " " + data.type);
}
);
在你的second.jsp文件中,你现在可以像这样获得“name”变量
request.getParameter("name")
然后,执行查询并返回结果
<%@page import="org.json.simple.JSONObject"%>
<%
if (request.getParameter("name") != null)
{
response.setContentType("application/json");
... your select query ...
JSONObject json = new JSONObject();
... put your sql data like this ...
json.put("name", "hello");
json.put("type", "world");
response.getWriter().write(json.toString());
}
%>
答案 1 :(得分:0)
所以你已经创建了客户端接口,你是否创建了服务器端逻辑来处理这些页面?
您必须具有服务器端逻辑才能接收页面请求并使用JSP页面进行响应。以及响应你的AJAX调用。您将需要创建Servlet,或者设置一个Web应用程序框架,如Spring WebMVC,JSF,Struts等。