博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java代理程序实现web方式管理邮件组成员
阅读量:6422 次
发布时间:2019-06-23

本文共 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,如需转载请自行联系原作者

你可能感兴趣的文章
学习笔记 124: 预备知识总结
查看>>
windows server之AD(1)
查看>>
如何升级PowerShell
查看>>
oracle kill所有plsql developer进程
查看>>
python实现登录查询(可以模糊查询)
查看>>
LAMP架构(apache用户认证,域名重定向,apache访问日志)
查看>>
PHP设计模式:原型模式
查看>>
struts2.0的json操作
查看>>
SQL注入神器——sqlmap
查看>>
Unity导航 (寻路系统Nav Mesh Agent)
查看>>
SaltStack配置语法-YAML和Jinja
查看>>
运用免费OA让你有意想不到的效果
查看>>
一些软件设计软则
查看>>
Linux运维基础命令
查看>>
使用PowerShell配置IP地址
查看>>
第十一章 MySQL运算符
查看>>
JAVA常见算法题(十七)
查看>>
GUI鼠标相关设置
查看>>
使用 <Iframe>实现跨域通信
查看>>
闭包--循序学习
查看>>