我使用java-ee(知道为:j2ee)制作了一个servlet
mvc是一个控制器(java)和views(html-js-css)页面
我有一个映射网址的控制器
比如...../controller/index.jsp
所以如果我们导航这个,index.jsp将打开并且所有的js& css它需要。
当用户点击页面中的按钮时,它将打开与控制器的Ajax连接
就像我在这里看到的:
calling a java servlet from javascript
。$得到('?../控制器/ url_to_mapped firstStringParameter = AAA, function(responseData){
});
例如:在我下面写的链接中,我发送一个名为firstStringParameter
的字符串参数,它的值为aaa
。
如何发送变量,而不仅仅是js文件中的字符串参数?
如果它仅在html代码中,那么我们写的是<%request.setAttribute(" key",value)%>
但,在js中我无法编写java代码。
的编辑:
添加一些代码:
servlet.java:
public class servlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/test.jsp").forward(request,response);
}
}
test.jsp的:
<%@ page language="java" contentType="text/html; charset=windows-1255" pageEncoding="windows-1255"%>
<!DOCTYPE html>
<html>
<head>
<script src="test.js"></script>
</head>
<body>
<% String param = "foo";%>
</body>
</html>
test.js
var param_js_context = '<%=param%>';
alert(param_js_context);
并且警报结果为:<%=param%>
原样。
答案 0 :(得分:2)
当我从你的问题中得到以下将是解决方案
只有在jsp文件中编写代码时,才必须在java脚本代码中创建变量。
片段在
之下var foo ='&lt;%= param%&gt;';
你可以在ajax调用中将该参数作为javascript变量传递
答案 1 :(得分:0)
使用jQuery.ajax发布您的变量,如下所示:
String id = "123abc"; // your java string in jsp
...........
var id = "<%= id%>"; // java String is assigned to a javascript variable....
//Array ofyour javascript variables to be sent to the server:
var formData = {id:id, name:"ravi",age:"31"};
$.ajax({
url : "AJAX_POST_URL", //your servlet or jsp name/path
type: "POST",
data : formData,
success: function(data, textStatus, jqXHR)
{
//data - response from server
console.log("response..:"+ data);
},
error: function (jqXHR, textStatus, errorThrown)
{
console.log("error...");
}
});
试试这个并告诉我们。希望这对你的问题有所帮助。