EAServer 普通jsp網頁中調用組件

咱們都知道,在pb的4GL頁面中,要想訪問EAServer上的pb組件是很方便,也是很簡單的,只要在頁面屬性的EAServer屬性頁上,定義個組件變量便可。java

但若是咱們是用普通的jsp頁面,或則咱們在寫beans,又或則咱們在寫Servlet,怎麼辦呢?jsp

下面就看看如何作吧。函數

一、正確建立組件,並生成Java stub! 

二、建立一個jsp文件,注意,該文件必需要導入以下java包: 

<%@ page import="org.omg.CORBA.ORB" %> 
<%@ page import="org.omg.CosNaming.NamingContext" %> 
<%@ page import="org.omg.CosNaming.NamingContextHelper" %> 
<%@ page import="org.omg.CosNaming.NameComponent" %> 
<%@ page import="org.omg.CORBA.ORB" %> 
<%@ page import="you_pkg.*" %>  it

<!--上面的那個import,實際是導入你的組件包下的全部組件,因此you_pkg應該是你的組件所在的包名稱--> 
<@ page import=「CTS.PBUserException「%> 
<% 
String s1; 
String s2; 
n_you_com nvo; //你的組件類型的變量 
java.util.Properties props = new java.util.Properties(); 
props.put(「org.omg.CORBA.ORBClass「, 「com.sybase.CORBA.ORB「); 
props.put(「com.sybase.CORBA.NameServiceURL「, 「iiop://localhost:9000「); 
ORB orb = ORB.init((String[]) null, props); 
try 

NamingContext context = NamingContextHelper.narro(orb.resolve_initial_references(「NameService「)); 
NameComponent[] name = { new NameComponent(「you_pkg/n_you_com「, "")}; 
SessionManager.Factory factory = SessionManager.FactoryHelper.narrow(context.resolve(name)); 
nvo = n_youcomHelper.narrow(factory.create(「jagadmin「, 「「)); 
//登陸EAServer的用戶名和密碼 

catch (org.omg.CORBA.ORBPackage.InvalidName aException){} 
catch(org.omg.CosNaming.NamingContextPackage.NotFound aException){} 
catch(org.omg.CosNaming.NamingContextPackage.CannotProceed aExceptiont){} 
catch(org.omg.ConNaming.NamingContextPackage.InvalidName aException){} 
try 

int rt = 0; //根據你的須要定義組件函數的返回值變量 
rt = nvo.of_you_function(s1, s2); //你的組件函數 
//有一點須要注意,若是你的組件函數參數中有Integer類型的變量,在這裏調用的時候 
//必需要用short強制類型轉換,或則就定義一個short類型的變量傳遞參數 

catch (CTS.PBUserException e){} 
%> 
好了,是否是很簡單呢!io

相關文章
相關標籤/搜索