[英]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.