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