vij*_*jay 1 xpages xpages-ssjs
我用java类(Invoke)创建了一个java库(名为:invoke).在设计器导航窗格中的代码下扩展脚本库时可以看到它.
代码是:
package com.kkm.vijay;
public class Invoke {
public static void main(String[] args) {
Runtime r = Runtime.getRuntime();
Process p = r.exec("C://some.exe");
}
}
Run Code Online (Sandbox Code Playgroud)
将以下ssjs用于按钮的onclick事件,在浏览器中预览时显示Error:500.
importPackage(com.kkmsoft.vijay);
var v=new Invoke();
v.main();
Run Code Online (Sandbox Code Playgroud)
甚至我在类中使用了一个函数,并将ssjs的最后一行更改为v.fn().然而同样的问题.
有很多问题,Fredrik提到你应该打开标准的错误页面.
您的第一个代码将无法运行,因为它未正确捕获异常.您还使用main()方法,该方法通常用于执行程序.但你是在没有任何争论的情况下调用它.除非用于执行应用程序,否则请避免使用该方法.
所以改成它:
package com.kkm.vijay;
import java.io.IOException;
public class Invoke {
public void mainCode() {
Runtime r = Runtime.getRuntime();
try {
Process p = r.exec("C://WINDOWS//notepad.exe");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
您应该将该代码放在Designer中的新Java视图中.
接下来你的按钮代码需要改变.
var v=new com.kkm.vijay.Invoke();
v.mainCode();
Run Code Online (Sandbox Code Playgroud)
测试它应该工作正常.接下来的问题是,因为它是SSJS,应用程序将在服务器上执行.这可能存在安全隐患,可能需要您修改java.policy文件才能执行此操作.
相关的许可将是java.io.FilePermission
.
归档时间: |
|
查看次数: |
3879 次 |
最近记录: |