我想做这样的事情
function(){
<% ExampleClass sample = new ExampleClass(); %>
var ID = 4;
var something = <%= sample.getSomethingById(ID) %>
}
如何将此 ID 传递给 jsp 表达式?
感谢您的任何建议,抱歉,这个问题的表述不是很好。
我想做这样的事情
function(){
<% ExampleClass sample = new ExampleClass(); %>
var ID = 4;
var something = <%= sample.getSomethingById(ID) %>
}
如何将此 ID 传递给 jsp 表达式?
感谢您的任何建议,抱歉,这个问题的表述不是很好。
在呈现 JSP 页面之后,您的 javascript 代码才会执行。因此,您想在脚本中访问的任何 java 变量都需要预先呈现为 javscript 变量。页面呈现后,您无法在 javascript 中执行 java 代码。您不能像这样在 java 代码和 javascript 之间“共享”变量。您的示例可能已简化,但在这种情况下,您可以这样做
var something = <%= sample.getSomethingById(4) %>
使用隐藏变量,然后将 id 放入该变量中。您不能使用上面的代码传递。
<input type="hidden" name="test" value="your id" />
然后您可以访问类似的请求参数。
您应该使用隐藏字段:-
<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
}
});
}
简而言之,通过调用该函数,我们向带有 2 个参数的 jspsubmitToJsp();
发送了一个异步(ajax)请求。mypage.jsp