1

テキスト入力から読み取り、変数の値をパラメーターとしてbashファイルに渡すJSPページ用にこのコードを作成していますが、bashファイルは変数を受け取らないようで、代わりに実際の値を渡した場合にのみ機能します。変数の。このbashファイルに変数を渡す方法は?コードは次のとおりです。

<%
   String myArgument = ""; 

   if (request.getParameter("submit")==null)
   {
%>
<form method="POST" action="/tomcat/webapps/project/jsp/runCMD.jsp" id=form2>   
         <input type=text id=first value="${first}"  Title="IP adress here" >


      <input type="submit" value="Submit Changes" name="submit"   

      onClick="if(runOnSubmit()){getSomethingWithAjax('ChangeIP.jsp'+
      getAllFormElementsAndMakeIntoURI(true),'',
      'hereIsTheMainHeaderSpan',false,false);}">
 <%
 }//end if
 //else if submitted
 else {
 request.setAttribute("myArgument", myArgument);

       try {
     Process p = Runtime.getRuntime().exec("/root/script.cmd myArgument );
     p.waitFor();
     System.out.println("Waiting for the System to reboot" + p.exitValue());


} catch (Exception e) {
    System.out.println(e.getMessage());
            out.println("There was an error while submitting ");
} 

 }//end else

 %>

スクリプトに値を渡すと、次のコードで実行されることに注意してください。

Process p = Runtime.getRuntime().exec("/root/changeip.cmd 10.0.100.18");
4

1 に答える 1

1

あなたが欲しいものは:

Process p = Runtime.getRuntime().exec("/root/script.cmd " + myArgument );

PS実際、 myArgumentを宣言した後、どこ
に値を割り当てるのかわかりません。
String myArgument = "";


あまり関係はありませんが、あなたはそれを一種のPHPスタイルでやっています。これを読んでください:https ://stackoverflow.com/a/3180202/814702

于 2013-01-12T00:23:37.477 に答える