我之前编写过一个执行java类的bash脚本,它在运行该类之前会进行其他检查。
运行时需要参数; ./SyncIPs.cmd 10.0.1.45
并执行一些命令。
我正在尝试使用html / javascript按钮在jsp页面中运行此脚本。到目前为止,我有两个jsp文件如下:
portal.jsp:
<%
if(request.getParameter("submitted")==null)
{
if(check)
{
%><%@include file="Sync.jsp" %><%
}
else
{
%><%@include file="Sync.jsp" %><%
}
}
%>
Sync.jsp:
<%
if(request.getParameter("submit") == null)
{
%>
<div class=display>this is the Sync</div>
</div>
<br>
<form method="POST" action="/project/jsp/Portal.jsp" id=form2>
<input type=hidden name=sync>
<!---this is where I want my script to be run from,--->
<input type="button" value="" name="submit" action="run"
onClick="if(runOnSubmit()){getSomethingWithAjax
('Portal.jsp'+getAllFormElementsAndMakeIntoURI(true),
'','hereIsTheMainHeaderSpan',false,false);}">
<%
}//end if
%>
如何让这个脚本运行并在portal.jsp页面上发布?
答案 0 :(得分:3)
你必须在.jsp
中加入一些java代码try {
Process p = Runtime.getRuntime().exec("/path_to_your_script/SyncIPs.cmd 10.0.1.45");
p.waitFor();
System.out.println("exit code: " + p.exitValue());
} catch (Exception e) {
System.out.println(e.getMessage());
}
注意:请注意可能存在的安全问题
答案 1 :(得分:0)
使用Runtime.getRuntime().exec()
可能就是您所需要的。
HTH