单击按钮时调用Java方法

时间:2014-04-07 12:53:40

标签: java jsp

我有一个旧的JSP应用程序,我不能使用Jquery或Ajax。

我有以下代码段

function func(val){
if(val=="true"){
<%
myBean.myMethod("ABC","DET",0);
%>
 myfrm.submit(); 
 }
 }

我正在通过按钮的onClick事件来调用它。

我想要做的是仅在单击按钮时调用我的Java方法。如果刷新页面,则不应调用java方法。

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

看起来你已经在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);
    }
}

希望有所帮助