LotusScript与公式运行Java代理的区别

我在页面上做了两个save按钮。如下图所示:然后在第一个Save按钮用公式运行Java代理。在第二个Save2按钮用LS运行同一个Java代理。Java代理如下:import lotus.domino.*;import javax.swing.JOptionPane;public class JavaAgent extends AgentBase {    public voi...显示全部
我在页面上做了两个save按钮。如下图所示:

QQ截图20150113213416.png


然后在第一个Save按钮用公式运行Java代理。

在第二个Save2按钮用LS运行同一个Java代理。

Java代理如下:
import lotus.domino.*;

import javax.swing.JOptionPane;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();

          // (Your code goes here)
          Document doc = agentContext.getDocumentContext();
          System.out.println("b");
          System.out.println(doc.getUniversalID());
          doc.replaceItemValue("DocID", doc.getUniversalID());
          System.out.println("c");
          } catch(Exception e) {
             e.printStackTrace();
       }
   }
}

结果发现公式调用的代理可以运行成功,可以向DocID域里写值。而LS调用的代理运行不成功,报如下错误:
java.lang.NullPointerException
        at JavaAgent.NotesMain(Unknown Source)
        at lotus.domino.AgentBase.runNotes(Unknown Source)
        at lotus.domino.NotesThread.run(Unknown Source)


请问是什么原因,谢谢指教!收起
参与14

查看其它 8 个回答hufu0125的回答

hufu0125hufu0125软件开发工程师深圳市昭行云科技有限公司
agent.getParameterDocID()是NoteId,不是unid
可设置在一个代理中去运行另一个代理吧
软件开发 · 2015-07-01
浏览1399

回答者

hufu0125
软件开发工程师深圳市昭行云科技有限公司

hufu0125 最近回答过的问题

回答状态

  • 发布时间:2015-07-01
  • 关注会员:2 人
  • 回答浏览:1399
  • X社区推广