【问题标题】:How to pass an argument from javascript to a Servlet through JSP如何通过 JSP 将参数从 javascript 传递给 Servlet
【发布时间】:2013-05-30 12:35:22
【问题描述】:

我想做这样的事

function(){
    <% ExampleClass sample = new ExampleClass(); %>
    var ID = 4;
    var something = <%= sample.getSomethingById(ID) %>
}

如何将此 ID 传递给 jsp 表达式?

感谢您的任何建议,抱歉,问题的表述不是很好。

【问题讨论】:

    标签: javascript jsp servlets


    【解决方案1】:

    您还可以使用更高级的方法和工具,例如 Ajax 和 JQuery:

    function submitToJsp(){
        $.ajax({
            type: 'POST',
            url: 'mypage.jsp',
            data: {
                id: '123',
                comment:$('#comment').val()
            },
            beforeSend:function(){
                // this is where we append usually a loading image
            },
            success:function(data){
                // successful request; do something with the data
                $('#output').html(data);
    
            },
            error:function(){
                // failed request; give feedback to user
            }
        });
    
    }
    

    简而言之,通过调用函数submitToJsp();,我们向mypage.jsp jsp 发送一个带有2 个参数的异步(ajax)请求。

    【讨论】:

      【解决方案2】:

      使用隐藏变量,然后将id放入该变量中。使用上面的代码无法通过。

      <input type="hidden" name="test" value="your id" />
      

      然后就可以访问like请求参数了。

      【讨论】:

      • 你能举个例子解释一下吗?
      【解决方案3】:

      在呈现 JSP 页面之后,您的 javascript 代码才会执行​​。因此,您要在脚本中访问的任何 java 变量都需要预先呈现为 javscript 变量。页面呈现后,您无法在 javascript 中执行 java 代码。您不能像这样在 java 代码和 javascript 之间“共享”变量。您的示例可能已简化,但在这种情况下,您可以这样做

      var something = <%= sample.getSomethingById(4) %>
      

      【讨论】:

        【解决方案4】:

        你应该使用隐藏字段:-

        <input type="hidden" name="hdtest" id="idtest" value="<%=sample.getSomethingById(ID) %>" />
        

        现在在 javascript 中尝试访问该值。

        在java脚本中试试这个代码:

        var something = document.getElementById('idtest').value;
        

        希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 2015-05-28
          • 1970-01-01
          • 1970-01-01
          • 2023-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-25
          • 1970-01-01
          相关资源
          最近更新 更多