我如何setAttribute来请求obj - 在jsp的javaScript文件中

时间:2014-10-16 21:43:21

标签: javascript jsp


我使用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%>原样。

2 个答案:

答案 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...");
    }
});

试试这个并告诉我们。希望这对你的问题有所帮助。