<%@ page import="javax.naming.*, javax.rmi.PortableRemoteObject,
foo.AccountHome, foo.Account" %>
<%!
//declare a "global" reference to an instance of the home interface of the session bean
AccountHome accHome=null;
public void jspInit() {
//obtain an instance of the home interface
InitialContext cntxt = new InitialContext( );
Object ref= cntxt.lookup("java:comp/env/ejb/AccountEJB");
accHome = (AccountHome)PortableRemoteObject.narrow(ref,AccountHome.class);
}
%>
<%
//instantiate the session bean
Account acct = accHome.create();
//invoke the remote methods
acct.doWhatever(...);
// etc etc...
%>
在JSP中java代碼應該越少越好。
在以上例子中,JSP設計者不得不處理和理解存取EJB的機理。 代替 在一個Mediator中對EJB機制的壓縮以及將EJB方法作為Mediator的方法,
可以在jsp中使用 Mediator。Mediator通常由EJB設計者編寫。Mediator可以提供附加的值如attribute caching等.