簡體   English   中英

如何通過JSP將參數從javascript傳遞到Servlet

[英]How to pass an argument from javascript to a Servlet through JSP

我想做這樣的事情

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

如何將此ID傳遞給jsp表達式?

感謝您的任何建議,抱歉,這個問題的表述方式不太好。

使用隱藏變量,然后將id放入該變量。您無法使用上面的代碼傳遞代碼。

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

然后,您可以訪問類似請求參數。

在呈現JSP頁面之后,才會執行您的JavaScript代碼。 因此,您要在腳本中訪問的所有Java變量都需要預先呈現為javscript變量。 呈現頁面后,您將無法在JavaScript中執行Java代碼。 您不能像這樣在Java代碼和javascript之間“共享”變量。 您的示例可能已簡化,但是在這種情況下,您可以

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

您應該使用隱藏字段:

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

現在在javascript中嘗試訪問該值。

在Java腳本中嘗試以下代碼:

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

希望對您有幫助。

您還可以使用更高級的方法和工具,例如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(); 我們向帶有2個參數的mypage.jsp jsp發送一個異步(ajax)請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM