0

我使用 ColdFusion 创建了一个网页。在该 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

您可以尝试将 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 回答
0

我将首先查看试图通过的参数......

请记住,在 jsp 中,GET 和 POST 变量之间似乎没有区别,而在 ColdFusion 中,它们分别存在于 URL 和 FORM 范围内。

insdirs.ID_Directory 和 inc_Requestor 来自哪里,是否有可能没有设置或设置不正确。

如果您手动导航到 pingdirect.jsp?Directory=[expected value]&Qlid=[expected value] 页面会发生什么(以及查询字符串(url 参数)中需要哪些值?

我建议您在一种情况下保留所有通过查询传递的变量名称(因此制作 Directory 目录和 Qlid qlid)。

如果您可以手动到达那里并且参数被正确传递,那么可能是时候开始逐行调试 jsp 页面了。

于 2012-06-27T08:11:12.503 回答