JavaSpring-从控制器内执行javascript?

JavaSpring-从控制器内执行javascript?,java,spring-mvc,Java,Spring Mvc,在我的.jsp页面中,我有一个按钮,用于调用控制器中的函数。单击此按钮将启动下载 <input type=button onClick="location.href='reporting/GroupbasedPreset?rows=24'" value='Last 24 Hours'> 我可以想到的一种方法是,当结果为空时,从控制器返回一个JSP 控制器代码将具有: if (rows == 0) { // Assuming result-empty would resolve to

在我的.jsp页面中,我有一个按钮,用于调用控制器中的函数。单击此按钮将启动下载

<input type=button onClick="location.href='reporting/GroupbasedPreset?rows=24'" value='Last 24 Hours'>

我可以想到的一种方法是,当结果为空时,从控制器返回一个JSP

控制器代码将具有:

if (rows == 0) {
// Assuming result-empty would resolve to result-empty.jsp
   return "result-empty";
} else {
   continue with download;
}
JSP(result empty.JSP)可以有一个脚本标记,如下所示:

<script>
    window.onload = function() {
       alert("Result is empty");
    }
</script>

window.onload=函数(){
警报(“结果为空”);
}

它不是这样工作的。Javascript在客户机上执行,而java在服务器上执行。看看AJAX,我想知道控制器是否有办法告诉客户端执行一些javascript?您需要的是两个控制器方法。您向第一个用户发出ajax请求,询问是否可以加载,然后发出第二个请求(ajax或常规)以实际下载文件。如果您使用ajax,请遵循@SotiriosDelimanolis的解决方案。如果没有,当您准备渲染“最近24小时”按钮时,请执行db查找,如果“最近24小时”中有记录,则渲染按钮,否则渲染类似“最近24小时内无任何内容”(可能是禁用的按钮)。
<script>
    window.onload = function() {
       alert("Result is empty");
    }
</script>