求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
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目录下保存,就会在控制台提示

相关文章

Java微服务新生代之Nacos
深入理解Java中的容器
Java容器详解
Java代码质量检查工具及使用案例
相关文档

Java性能优化
Spring框架
SSM框架简单简绍
从零开始学java编程经典
相关课程

高性能Java编程与系统性能优化
JavaEE架构、 设计模式及性能调优
Java编程基础到应用开发
JAVA虚拟机原理剖析
 
分享到
 
 


Java 中的中文编码问题
Java基础知识的三十个经典问答
玩转 Java Web 应用开发
使用Spring更好地处理Struts
用Eclipse开发iPhone Web应用
插件系统框架分析
更多...   


Struts+Spring+Hibernate
基于J2EE的Web 2.0应用开发
J2EE设计模式和性能调优
Java EE 5企业级架构设计
Java单元测试方法与技术
Java编程方法与技术


Struts+Spring+Hibernate/EJB+性能优化
华夏基金 ActiveMQ 原理与管理
某民航公司 Java基础编程到应用开发
某风电公司 Java 应用开发平台与迁移
日照港 J2EE应用开发技术框架与实践
某跨国公司 工作流管理JBPM
东方航空公司 高级J2EE及其前沿技术
更多...