簡體   English   中英

XPages-調用Java方法

[英]XPages - Calling Java methods

此Java代碼有什么問題? 我無法在XPage中調用它。

我正在嘗試創建一個JSON字符串,以便可以在Javascript變量中對其進行引用以進行客戶端排序。

/**
 * 
 */
package com.company.apse.AccReq;

/**
 * @author Arun
 *
 */

import java.io.*;

import lotus.domino.*;
import com.ibm.domino.services.util.JsonWriter;
import com.ibm.xsp.extlib.util.ExtLibUtil; 

public class AccReqJson {

    /**
     * @param args
     */
    public static String mainly(String[] args) {
        // TODO Auto-generated method stub
        try{
            System.out.println("calling mainly");
            Database database = ExtLibUtil.getCurrentDatabase();
            View view = database.getView("(All_AccessRequests_SingleEntry)");

            //get access request document
            Document document = view.getFirstDocument();
            StringWriter sw = new StringWriter();
            JsonWriter g = new JsonWriter(sw,true);
            //we need to loop through all the documents
            while (document != null){

                int j = 0;  
                //now loop through all the 80 fields for user name/email/access
                for (j=1;j<=80;j++){
                    //System.out.println(document.getItemValueString((String) ("UserName_"+j)));
                    if (!document.getItemValueString((String) ("UserName_"+j)).equalsIgnoreCase("")){
                        //now begin writing JSON

                        g.startArrayItem();             
                        g.startObject();

                        //finally add unid of document
                        g.startProperty("UNID");
                        g.outStringLiteral(document.getUniversalID());
                        g.endProperty();

                        //finally add unid of document
                        g.startProperty("J");
                        g.outStringLiteral((String)(""+ j));
                        g.endProperty();

                        //Get Access Type Type (Existing HCL, New HCL, New Client, Change Access)
                        g.startProperty("AccessRequestFor");
                        if (j<=40){
                            g.outStringLiteral("Existing HCL"); 
                        }
                        else if(j<=50){
                            g.outStringLiteral("New Client");
                        }
                        else if(j<=60){
                            g.outStringLiteral("New HCL");
                        }
                        else{
                            g.outStringLiteral("Change Access");
                        }

                        g.endProperty();

                        //get APSE Name
                        g.startProperty("APSE");
                        g.outStringLiteral(document.getItemValueString("APSEName"));
                        g.endProperty();

                        //get User Name
                        g.startProperty("UserName");
                        g.outStringLiteral(document.getItemValueString((String) ("UserName_"+j)));
                        g.endProperty();

                        //get Email
                        g.startProperty("UserEmail");
                        g.outStringLiteral(document.getItemValueString((String) ("Email_"+j)));
                        g.endProperty();

                        //get Access Type
                        String tmpAccess=""; 
                        String tmpExtraAccess="";
                        tmpAccess = document.getItemValueString((String) ("UserAccess_"+j));
                        if (tmpAccess.indexOf("<br />")!=-1)
                        {
                            if (tmpAccess.lastIndexOf("<br />")!= tmpAccess.indexOf("<br />")){
                                tmpExtraAccess = tmpAccess.substring(tmpAccess.indexOf("<br />")+6, tmpAccess.length()-1);  
                            }
                            tmpAccess = tmpAccess.substring(0, tmpAccess.indexOf("<br />"));
                        }

                        g.startProperty("UserAccess");
                        g.outStringLiteral(tmpAccess);
                        g.endProperty();

                        g.startProperty("UserExtraAccess");
                        g.outStringLiteral(tmpExtraAccess.replaceAll("<br />",", "));
                        g.endProperty();

                        //Raised Date
                        g.startProperty("AccessRequestDate");
                        g.outStringLiteral(document.getItemValueDateTimeArray("ACCESSREQUESTEDDATE").firstElement().toString());
                        g.endProperty();

                        //Raised By
                        g.startProperty("AccessRequestor");
                        g.outStringLiteral(document.getItemValueString("ACCESSREQUESTER"));
                        g.endProperty();

                        //Remedy Ticket Number
                        g.startProperty("RemedyRef");
                        g.outStringLiteral(document.getItemValueString("MagicRef"));
                        g.endProperty();



                        g.endObject();        
                        g.endArrayItem();   
                    }
                }
            //get next document
            document = view.getNextDocument(document);  
            }
            System.out.println(sw.toString());
            return sw.toString();
        }

        catch(Exception ex) {
            // tbd: handle exception
            System.out.println(ex.getStackTrace().toString());
            return "An Error occured. Check with IT team.";
        }
    }
}

您是否嘗試從對象調用靜態函數? 您是否嘗試過沒有關鍵字static的嘗試?
您可以刪除“ String [] args”...。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM