0

ColdFusion を使用して Web ページを作成しました。その cfm ファイルには、リダイレクト用の次のタグがあります。

<a href="pingdirect.jsp?Directory=#insdirs.ID_Directory#&Qlid=#inc_Requestor#">Grant

これは私のPingdirect.jspファイルです:

String param=request.getParameter("Directory");                   
String qid=request.getParameter("Qlid");           
try {
    String command1="Runas /user:"+param+" /grant "+qid+":(OI)(CI)(M,RX,W)\"";
    Runtime rt = Runtime.getRuntime();
    Process p=rt.exec("cmd /c start" +command1);
} catch(Exception e) {
    System.out.println(e);
}

私の問題は、「許可」をクリックすると、ページが にリダイレクトされることpingdirect.jspです。ただし、コマンドプロンプトは開きません。

誰でも私を案内してもらえますか?

4

2 に答える 2

0

通過しようとしているパラメーターを調べることから始めます...

jsp では、GET 変数と POST 変数の間に違いがないように見えることがありますが、ColdFusion ではこれらはそれぞれ URL スコープと FORM スコープに存在します。

insdirs.ID_Directory と inc_Requestor はどこから来て、設定されていないか、正しく設定されていない可能性があります。

手動で pingdirect.jsp?Directory=[expected value]&Qlid=[expected value] ページに移動するとどうなりますか (また、クエリ文字列 (url パラメーター) に必要な値は何ですか?

クエリによって渡される変数名をすべて 1 つのケースにまとめることをお勧めします (そのため、Directory directory と Qlid を qlid にします)。

手動でそこに到達でき、パラメーターが正しく渡されている場合は、おそらく jsp ページを 1 行ずつデバッグする時期です。

ベン

于 2012-06-27T08:11:12.503 に答える
0

getParameter を getAttribute; に置き換えてみてください。

String param=request.getAttribute("Directory");                   
String qid=request.getAttribute("Qlid");   

さらに、属性が実際に存在することを確認します。

if ((param == null) || (qid == null)) 
{
// MZ: Handle the exception here
}
于 2012-06-27T11:47:31.233 に答える