Butterfly UI 编写方式

Hansky/HBP/Server/rsrc/rsrc/chtml/uiext/udb.uuid/sfo.name/sf.name/  目录下
/show/
     +/sf_show.bsh
     +/${state_name}.bsh
/trshow/
       +/${state_name}-{transition_name}.bsh
       +/submit.bsh ■
 如上所示,需在HBP安装路径下/server/rsrc/chtml/uiext文件夹内找到文件名为需要添加UI的UDB_UUID的文件夹,在该文件夹内找到对应的${SFO_NAME}/${SF_NAME},里面有两个文件夹,show和tr_show,分别对应的状态和转换,在这下面存放需要添加的页面代码,文件名称有严格规定,状态页面文件名为“状态名”或sf_show.bsh(如果是sf_show.bsh则每个状态页均显示),转换页面文件名为“状态名-转换名”或submit.bsh(如果是submit.bsh则对应流程的第一个转换),添加新UI后一般不需要重启服务。 
BO的新建transition 只能写成 submit.bsh 不能写成  “状态名-转换名.bsh" ,其他的如编辑transition则可以。
 
下面是某2个bsh的例子,有知识点。
1.bsh
 
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.hansky.intf.stateflow.*;
import com.hansky.intf.sat.*;
import com.hansky.apps.butterfly.intf.*;
import com.hansky.intf.butterfly.*;
import com.hansky.apps.butterfly.util.*;

 
 sourceRelative("loadData.bsh"); //这个方法作用:引用当前目录下的loadData.bsh 文件内的方法,相当于import方法,属于beanshell的知识点。
 



String sfoUUID = request.getParameter("sfoUUID");

IButterflyContext ctx = (IButterflyContext) request.getAttribute("hs.butterfly.context");

ISession session = ctx.createSession();
List runList = new ArrayList();
List optionList = new ArrayList();
 

try {
	session.txBegin();
	IStateflowObject sfo = ctx.retrieveStateflowObject(session, "pmsfhzgszb", sfoUUID);
	
	runList = getRunList(ctx, session, sfo);
	
	System.out.print("====="+runList.size+"aa======");
	String curOid = ctx.getUser().getOID();
	
 
	 
	
} catch (Exception e) {
	e.printStackTrace();
} finally {
	try {
		session.txClose();
	} catch (PersistenceException e) {
		e.printStackTrace();
	}
}






request.setAttribute("sfo", sfoUUID);
request.setAttribute("runList", runList);
 

 request.getRequestDispatcher("scoreMain.ftl").forward(request, response);

 

 

 

loadData.bsh 内容如下

 

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.hansky.intf.stateflow.*;
import com.hansky.intf.sat.*;
import com.hansky.apps.butterfly.intf.*;
import com.hansky.intf.butterfly.*;
import com.hansky.apps.butterfly.util.*;

public static List getRunList(IButterflyContext ctx, ISession session, IStateflowObject sfo) throws Exception{
	Map mapa = new HashMap();
	List list = new ArrayList();
         
		 mapa.put("name",sfo.getOID());
		 mapa.put("no", sfo.getStringField("hs_serial_no"));
		 
		 
			list.add(mapa);
 
	
	return list;
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值