本文共 3131 字,大约阅读时间需要 10 分钟。
说到java大家并不陌生,java对于开发人员来说基础最早的开发语言之一,也是应用最多的,同时我们也知道,domino跟java是完美结合,domino可以根据自己的需求能优化很多功能级应用,同时我们介绍一下,通过B/S方式管理邮件组成员,添加程序后,如果添加的人员不在domino目录下,在保存的时候会在控制台输出,方便查找邮件投递故障。具体见下:
1.我们首先创建用户
创建邮件组,并且在邮件组内添加人员。
我们将user01、user02添加到group-01组内。
编辑好代理程序后,我们需要创建表单
然后
确认完以上信息后,接下来我们创建代理程序,在此我们通过java程序来实现。
为了保证不影响应用系统,建议创新新的数据库来新建表单及代理程序。
然后用desinger打开该数据库
编辑代理程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 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,及搜索键、保存键盘
Maillist定义文本及文本框的大小
文本需要换行来输入信息,可根据自己的需求来定义
定义搜索键的参数
1 2 3 4 5 6 7 8 9 10 11 | 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" ); |
1 2 3 4 5 | function createXMLHttpRequest(){ //var h=new ActiveXObject("Msxml2.XMLHTTP"); var h = new XMLHttpRequest(); return h; } |
Document forms[0].submit();
接下来我们访问
接下来我们添加用户,然后如果添加的用户不在domino目录下保存,就会在控制台提示
本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1401225,如需转载请自行联系原作者