如何通过WebSphere Portal Factory将Lotus Forms与数据库进行关联

1. 通过WPF创建一个访问数据库的项目,并为这个项目添加REST支持

 

 

2. 创建项目后, WPF 会自动的为数据库获取到的数据集合生成 schema ,将这个 schema 保存为 xsd 文件。


 

3. 打开 Lotus Forms Designer ,创建一个支持 XForm 的表单,导入上面步骤创建的 xsd 文件。注意,要先清除上一步骤生成的 xsd 文件中的中文。才可以成功导入。


 

4. 根据导入的 schema 生成数据实例


 

5. 直接拖拽 instance 到表单上生成主表的显示控件,通过 table 向导生成子表的显示控件


 

6. 通过简单的程序将数据预填写到表单中,同样可以通过程序将数据写回。这两个过程都是通过程序调用 WPF 生成的 REST API 实现。

 

try {
			XFDL xfdl = IFSSingleton.getXFDL();
			//从输入流中读出提交的Form
			FormNodeP form = xfdl.readForm(arg0.getPortletInputStream(), XFDL.UFL_SERVER_SPEED_FLAGS);
				ByteArrayOutputStream bos = new ByteArrayOutputStream();
				//从表单对象中读出instance数据
				form.extractXFormsInstance("", "instance('instance')", false, true, null, bos);
				String model = new String(bos.toString("UTF-8"));	
				System.out.println("+++++xmlmodel is " + model);
				DBHelper.getInstance().save2db(model);
		} catch (UWIException e) {
			e.printStackTrace();
		}

 

public void save2db(String model) {
		System.out.println("DBHelper.save2db");
		//使用HTTPClient调用REST API
		HttpClient httpClient = new HttpClient();
		 
 //创建GET方法的实例,URL是REST API的URL
 String url = "http://localhost:10000/FormsWithDB/webengine/dbServiceProvider/Action!getMainDBDataRest

";
		PostMethod postMethod = new PostMethod(url);
		// 填入各个表单域的值
		try {
			NameValuePair[] data = { new NameValuePair("strXML", new String(model.getBytes(),"8859-1"))};
			// 将表单的值放入postMethod中
		postMethod.setRequestBody(data);
			// 执行postMethod
			int statusCode = httpClient.executeMethod(postMethod);
			System.out.println("+++++++++http statusCode is "+ statusCode);
		} catch (HttpException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		postMethod.releaseConnection();
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值