从JSP页面中定义的Servlet调用JavaScript函数
我有一个JavaScript函数从JSP页面中定义的Servlet调用JavaScript函数,java,javascript,jsp,servlets,Java,Javascript,Jsp,Servlets,我有一个JavaScript函数 function ShowDeptPanel() { document.getElementById("table1").style.visibility="hidden"; document.getElementById("table2").style.visibility="visible"; } 它是在JSP页面中定义的,但我想从Servlet调用它。我该怎么做 注意:在我的Servlet代码中进行某种检查后,我想禁用1个表。Javascript是客户
function ShowDeptPanel()
{
document.getElementById("table1").style.visibility="hidden";
document.getElementById("table2").style.visibility="visible";
}
它是在JSP页面中定义的,但我想从Servlet调用它。我该怎么做
注意:在我的Servlet代码中进行某种检查后,我想禁用1个表。Javascript是客户端的,因此必须从web浏览器执行。如果您希望在页面加载时执行javascript,则在执行特定servlet后,可以执行以下操作:
executeScript
)true
如果servlet总是发送相同的页面,那么只需在JSP中HTML
标记的onload
属性中添加javascript函数调用,使用scriptlet调用servlet函数并获得结果
如果我们认为它是布尔值,那么
<script type="text/javascript">
function ShowDeptPanel()
{
document.getElementById("table1").style.visibility="hidden";
document.getElementById("table2").style.visibility="visible";
}
var serverCheck = <% JavaClass classObject = JavaClass.getInstance();
classObject.getMethodChecking();%>;
if(serverCheck==="true") {
ShowDeptPanel();
}
</script>
函数ShowDeptPanel()
{
document.getElementById(“table1”).style.visibility=“hidden”;
document.getElementById(“表2”).style.visibility=“可见”;
}
var serverCheck=;
如果(服务器检查==“真”){
ShowDeptPanel();
}
这是隐藏表的一种方法。如果希望它是动态的,请对servlet进行ajax调用,并使servlet返回可以用javascript处理的响应,以隐藏/显示表。您不能从servlet调用javascript函数。@HAL9000您知道您在说什么吗?@mohamedrias yes您可以,通过使用
ScriptEngineManager
,但是这不是合适的用例。那么如何更改JSP页面的内容,例如启用内容禁用?@LuiggiMendoza,任何其他替代方法??scriptlet仅在JSP呈现时运行一次。之后,它在生成的HTML中变成静态的。是的,我刚刚给他展示了一个例子。在呈现页面之前,scriplet将根据是否显示表进行解析。如果他希望它是动态的,那么他可以使用ajax调用调用servlet并获取值,基于此他还可以显示或隐藏表,这不会生成您希望显示给OP的预期结果。我假设OP想要隐藏表,他不知道如何做。因此,他考虑从servlet调用javascript函数。我需要更多地了解ScriptEngineManager。无论如何,谢谢你的建议:)