单击按钮时调用Java方法

单击按钮时调用Java方法,java,jsp,Java,Jsp,我有一个旧的JSP应用程序,无法使用Jquery或Ajax 我有以下代码片段 function func(val){ if(val=="true"){ <% myBean.myMethod("ABC","DET",0); %> myfrm.submit(); } } 函数func(val){ 如果(val=“true”){ myfrm.submit(); } } 我从一个按钮的onClick事件调用这个 我想做的是只在单击按钮时调用我的Java方法。若页面被刷新,则不应调

我有一个旧的JSP应用程序,无法使用Jquery或Ajax

我有以下代码片段

function func(val){
if(val=="true"){
<%
myBean.myMethod("ABC","DET",0);
%>
 myfrm.submit(); 
 }
 }
函数func(val){
如果(val=“true”){
myfrm.submit();
}
}
我从一个按钮的onClick事件调用这个

我想做的是只在单击按钮时调用我的Java方法。若页面被刷新,则不应调用java方法


我如何才能做到这一点?

这是不可能的。java代码仅在刷新/加载页面时执行。呈现页面后,只能执行客户端代码。

您可以将按钮张贴到x.jsp,然后重定向y.jsp

看起来您已经在jsp生命周期内调用了方法。 在解析jsp时,将执行您的方法

您想要的功能性很可能需要创建一个事件

<input type="hidden" value="" id="executeThis" onclick="document.forms[0].submit();"/>

<button id="doWork" type="button" onclick="execTheClick('executeThis', 'methodName');"/>


function execTheClick(linkId, methodName)
{
    var fireOnThis = document.getElementById(linkId);
    fireOnThis.value = methodName;
    if (document.createEvent)
    {
        var evObj = document.createEvent('MouseEvents');
        evObj.initEvent( 'click', true, false );
        fireOnThis.dispatchEvent(evObj);
    }
    else if (document.createEventObject)
    {
        var evObj = document.createEventObject();        
        fireOnThis.fireEvent('onclick',evObj);
    }
}

函数ExecuteClick(linkId,methodName)
{
var fireOnThis=document.getElementById(linkId);
fireOnThis.value=methodName;
if(document.createEvent)
{
var evObj=document.createEvent('MouseEvents');
evObj.initEvent('click',true,false);
fireOnThis.dispatchEvent(evObj);
}
else if(document.createEventObject)
{
var evObj=document.createEventObject();
fireOnThis.firevent('onclick',evObj);
}
}

希望对服务器端执行Java脚本有帮助。当您的页面到达用户时,它们就不见了。那么我在哪里调用java方法呢?