• 热门专题

Java代理程序实现web方式管理邮件组成员

作者:高文龙  发布日期:2014-04-24 08:55:16
Tag标签:web方式  
  • Java代理程序实现web方式管理邮件组成员

    说到java大家并不陌生,java对于开发人员来说基础最早的开发语言之一,也是应用最多的,同时我们也知道,domino跟java是完美结合,domino可以根据自己的需求能优化很多功能级应用,同时我们介绍一下,通过B/S方式管理邮件组成员,添加程序后,如果添加的人员不在domino目录下,在保存的时候会在控制台输出,方便查找邮件投递故障。具体见下:

    1.我们首先创建用户

    clip_image002

    创建邮件组,并且在邮件组内添加人员。

    clip_image004

    我们将user01、user02添加到group-01组内。

    clip_image006

     

    编辑好代理程序后,我们需要创建表单

    clip_image008

     

    然后

    clip_image010

    确认完以上信息后,接下来我们创建代理程序,在此我们通过java程序来实现。

    为了保证不影响应用系统,建议创新新的数据库来新建表单及代理程序。

    然后用desinger打开该数据库

    clip_image012

    编辑代理程序

    clip_image014

    import lotus.domino.*;
    import java.io.PrintWriter;
    import java.util.Vector;
    import java.lang.StringBuffer;
    public class JavaAgent extends AgentBase {
    public void NotesMain() {
    try {
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    Document note=agentContext.getDocumentContext();
    String querystring=note.getItemValueString("query_string");
    String[] queryArray=querystring.split("&");
    querystring=queryArray[1].split("=")[1];
    System.out.println("请求内容是:"+querystring);
    Database db=session.getDatabase(agentContext.getCurrentDatabase().getServer(), "names.nsf");
    if(db.isOpen()){
    }
    View personview=db.getView("_People");
    View groupview=db.getView("Groups");
    Document doc=groupview.getFirstDocument();
    Document tempdoc=null;
    Document persondoc=null;
    StringBuffer sb=new StringBuffer();
    while(doc!=null){
    tempdoc=doc;
    if(doc.getItemValueString("ListName").equals(querystring)){
    doc.appendItemValue("CN=Gavin/O=gavi000");
    doc.save();
    Vector v=session.evaluate("@name([ABBREVIATE];members)",doc);
    /*
    for(int i=0;i<v.size();i++){
    persondoc=personview.getDocumentByKey(v.get(i),true);
    if(persondoc==null){
    //MsgBox tempdoc.ListName(0) &"组下的"& key2(1) &"不在domino列表里!"
    System.out.println(doc.getItemValueString("ListName")+"组下的"+v.get(i)+"不在domino列表里!");
    }else{
    }
    }*/
    if(v.size()>0){
    for(int i=0;i<v.size()-1;i++){
    sb.append(v.get(i)+",");
    }
    sb.append(v.get(v.size()-1));
    }
    break;
    }
    doc=groupview.getNextDocument(doc);
    tempdoc.recycle();
    }
    PrintWriter pw = getAgentOutput();
    pw.println("Content-Type:text/plain;charset=gbk");
    pw.println(sb.toString());
    // (Your code goes here)
    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }

    首先我们要通过web去访问的话,先要创建表单及内部自定义的信息

    新建名称为web_group的表单

    定义显示主题,因为我们主题需要在页面居中,所以应用到了center参数,

    <center>显示内容</center>

    编辑好,显示内容将在也面的中间显示;

    接着定义需要搜索的的邮件组输入框---域值,然后显示邮件组成员的maillist,及搜索键、保存键盘

    clip_image016

    Maillist定义文本及文本框的大小

    clip_image018

    文本需要换行来输入信息,可根据自己的需求来定义

    clip_image020

    定义搜索键的参数

    clip_image022

     

    xmlhttp=createXMLHttpRequest();
    if(xmlhttp){
    xmlhttp.open("GET","javajson?openagent&query="+document.forms[0].Mailgroup.value+"&t="+Math.random(),true);
    xmlhttp.onreadystatechange=function(){
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
    document.forms[0].Maillist.value=xmlhttp.responseText.replace(/,/g,"\r\n");
    }
    }
    xmlhttp.send();
    }else
    alert("xmlhttp no found");

     

    clip_image024

     

    function createXMLHttpRequest(){
    //var h=new ActiveXObject("Msxml2.XMLHTTP");
    var h = new XMLHttpRequest();
    return h;
    }

    clip_image026

    Document forms[0].submit();

    接下来我们访问

    clip_image028

     

    clip_image030

     

    clip_image032

     

    clip_image034

    接下来我们添加用户,然后如果添加的用户不在domino目录下保存,就会在控制台提示

    clip_image036

    clip_image038

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规