我有一个旧的JSP应用程序,我不能使用Jquery或Ajax。
我有以下代码段
function func(val){
if(val=="true"){
<%
myBean.myMethod("ABC","DET",0);
%>
myfrm.submit();
}
}
我正在通过按钮的onClick事件来调用它。
我想要做的是仅在单击按钮时调用我的Java方法。如果刷新页面,则不应调用java方法。
我怎样才能做到这一点?
答案 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);
}
}
希望有所帮助