信息化 频道

网站管理的背后

    这个Page Flow开始后将走到一个输入页面finderByCompanyNamePage.jsp,让你输入finderByCompanyName需要的数据,获得数据后,将到"finderByCompanyName"action中处理。

    EJB控件myControl的finderByCompanyName()方法返回的是一个EJB对象的引用,我们对其做部分处理,使得它能返回Company中的全部信息("NO"及"COMPANY_NAME"),在PageFlow中传递数据的方法有很多中比如用Request、Session、FormBean等等进行数据的传递,在本例中我们为这个Pageflow增加两个Public的String型变量 "sNO"、"sCompanyName"用来承载"COMPANY"信息。

    关于PageFlow的传值的更多相关信息请读者阅读相关文档: 

    1.dev2dev中文站点的 《数据绑定101》 这篇文档
    2.Workshop联机帮助文档 Developing Web Applications à Guide to Building Page Flows à Using Data Binding in Page Flows部分 (在Workshop中按F1出联机文档,或是直接访问ttp://edocs.bea.com/workshop/docs81/doc/en/core/index.html)
    然后在Pageflow中,双击"finderByCompanyName"节点,进入"Source View"编辑器,更改finderByCompanyName()方法,将myControl.finderByCompanyName()方法的返回的Company NO和Company Name赋值给相应的变量。
public class InvokeEJBPFController extends PageFlowController
{
/**
* This is the control used to generate this pageflow
* @common:control
*/
private TEJB myControl;
public String sNO;
public String sCompanyName;



……….

/**
* @jpf:action
* @jpf:forward name="success" path="showCompanyInfo.jsp"
*/
protected Forward finderByCompanyName(FinderByCompanyNameForm form)
{


SIMPLEEJB.Simple_ex sBean;

try
{
 sBean=myControl.finderByCompanyName("%"+form.getArg0()+"%");
 this.sNO= sBean.getCompanyId();
 this.sCompanyName=sBean.getCompanyName();
}
 catch(Throwable t)
{
 t.printStackTrace();
}

return new Forward( "success" );
}

    "finderByCompanyName"action处理完后我们需要一个页面把这个处理结果显示出来,所以,从"Pallete"面板中拖拽出一个"page"到设计视图中,并命名为"showCompanyInfo.jsp"


0
相关文章