我抬头,甚至有类似的问题和答案,我似乎无法理解如何。 问题是,当我运行一个带有JavaScript的jsp文件时,它会在我启动页面时运行,而不是在设置窗体上运行onClick =“...”;另外,我知道我正在使用不鼓励的scriptlet,但我对jsp是全新的,所以我不知道如何为它创建类。我正在使用Netbeans。
<script LANGUAGE="JavaScript">
function connect(){
<% ConnectToServer(); %>
};
function startApp(){
<% InvokeStartApplicationInstance(); %>
<% InvokeStartApplication(); %>
};
function stopApp(){
<% InvokeShutdownApplication(); %>
};
</script>
<FORM name="myform">
<INPUT NAME="connectbtn" TYPE="button" VALUE="Connect" onClick="connect()">
<INPUT NAME="startbtn" TYPE="button" VALUE="Start" onClick="startApp()">
<INPUT NAME="stopbtn" TYPE="button" VALUE="Stop" onClick="stopApp()">
</FORM>
ConnectToServer();
以及JavaScript中的其他方法是我在<%! and %>
问题是这些方法有效,但JavaScript无论如何都在页面加载上运行。因此,例如,如果JavaScript中的最后一个是<% InvokeShutdownApplication(); %>
,它将执行此操作,因此无法启动。我需要它才能工作onClick
。
我不知道如何直接用Java调用方法。以下方法不起作用:
<INPUT NAME="connectbtn" TYPE="button" VALUE="Connect" onClick="<% ConnectToServer(); %>">
任何帮助都会受到赞赏,因为我需要做一个mbeans(这是基于java的)基于网络的应用程序,它正在驱使我疯狂。
答案 0 :(得分:1)
发生这种情况的原因是,在解析JSP时,运行嵌入式Java代码并将结果替换为最终的HTML。你想要的是对服务器进行Ajax调用,让它调用你想要的方法。它会比你害怕的东西复杂一点。我建议您查看jQuery and its Ajax API。