Openmeetings获取另外项目jsp中的用户名密码
建立PO,Member类,有username,userpassword属性。
public class PO { private String username; private String userpassword; getter..... setter..... }
然后写一个login.jsp,里面就是简单的用户名密码,一个提交按钮
然后一个登录后的jsp页面HaveLogin.jsp。
在HaveLogin.jsp页面中处理,加入代码:
<% Member mem=null; mem=(Member)session.getAttribute("member"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); //建立通过此对象建立所需的Document对象 DocumentBuilder db = dbf.newDocumentBuilder(); DOMImplementation domi = db.getDOMImplementation(); //由Document取得Element对象,代表所要建构的XML文件 Document d = domi.createDocument(null, "users", null); Element e = d.getDocumentElement(); //建立XML数据节点的程序片段,其中分别指定了数据元素的名称:customer、customerid、customername、tel及email Element e_customer = d.createElementNS(null, "person"); Element e_customerid = d.createElementNS(null, "userName"); Element e_customername = d.createElementNS(null, "userpassword"); //建立各元素节点的数据内容 Node n_customerid = d.createTextNode(mem.getMname()) ; Node n_customername = d.createTextNode("admins"); //将建立的Node对象依序加入稍早所建立的元素中 e_customerid.appendChild(n_customerid); e_customername.appendChild(n_customername); //依序将包含数据节点的元素加到顶层元素中,来完成XML内容结构 e_customer.appendChild(e_customerid); e_customer.appendChild(e_customername); e.appendChild(e_customer); //建立用以输出XML内容的Transformer对象 TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(); //指定输出过程以UTF-8进行编码,以避免所产生的XML文件出现乱码 t.setOutputProperty(OutputKeys.ENCODING, "utf-8"); //以Document为参数,建立产生XML文件所需的数据来源DOMSource对象,其中包含了这个范例中加入的所有元素及节点与内容 DOMSource doms = new DOMSource(d); File file = new File(request.getRealPath("/jsp/test.xml")); file.createNewFile(); //XML文件最终输出的目的地 StreamResult sr = new StreamResult(file); //建立XML文件 t.transform(doms, sr); out.println("XML文件建立完成!"); %>
这样就能产生用户名和密码的xml,放在jsp目录下,这个目录在一下的lzx文件中引用。
因为Openmeetings可以很容易的取出xml的文件,所以可以在登录框/src/base/auth/checkLoginData.lzx加一数据源:
<dataset name="dset" request="true" type="http" src="http://127.0.0.1:8888/611/jsp/test.xml"/>
连接到项目611中,其中的test.xml文件即为通过jsp产生的xml文件
然后在登录框内加入:
<customEdittext name="username" y="24" x="120" width="330" datapath="dset:/users[1]/person[1]/userName[1]/text()">
这样就能通过xml的节点取出相应的username的值,密码同理,这样Openmeetings就能获得参数,进而可以实现自动登录了。
今天到此。有空继续