|
|
Java代理程序实现web方式管理邮件组成员 |
|
火龙果软件
发布于 2014-06-03 |
|
说到java大家并不陌生,java对于开发人员来说基础最早的开发语言之一,也是应用最多的,同时我们也知道,domino跟java是完美结合,domino可以根据自己的需求能优化很多功能级应用,同时我们介绍一下,通过B/S方式管理邮件组成员,添加程序后,如果添加的人员不在domino目录下,在保存的时候会在控制台输出,方便查找邮件投递故障。具体见下:
1.我们首先创建用户
创建邮件组,并且在邮件组内添加人员。
我们将user01、user02添加到group-01组内。
编辑好代理程序后,我们需要创建表单
然后
确认完以上信息后,接下来我们创建代理程序,在此我们通过java程序来实现。
为了保证不影响应用系统,建议创新新的数据库来新建表单及代理程序。
然后用desinger打开该数据库
编辑代理程序
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定义文本及文本框的大小
文本需要换行来输入信息,可根据自己的需求来定义
定义搜索键的参数
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"); |
function createXMLHttpRequest(){ //var h=new ActiveXObject("Msxml2.XMLHTTP"); var h = new XMLHttpRequest(); return h; } |
Document forms[0].submit();
接下来我们访问
接下来我们添加用户,然后如果添加的用户不在domino目录下保存,就会在控制台提示
|
|
|