服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用javabean数据组件集成jsf应用程序与ejb(4)


  选中 symbol 字段标题,将首字母改为大写。
  
图 31. 选择字段标题

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图一)

  此外,在 attribute 项中,对于每个字段名称 cell 均选择 header。
  
图 32. cell 属性

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图二)


  header 必须为粗体。
  
图 33. header 字段

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图三)

  修改所有其他的标题元素,如图 34 所示。
  
图 34. 其余的标题元素

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图四)

  
  操作处理和导航
  结果页面创建之后,我们需要为提交页面创建 action handler,以便与 ejb 相交互。这些完成之后,我们需要收集结果以便配置恰当的导航规则。我们可以使用控制的 quick edit 项来将 server side actions 添加到应用程序中。
  
  添加一个操作到 accessstock.jsp 页面中。
  打开 accessstock.jsp 页面。
  
图 35. 打开 accessstock.jsp

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图五)

  选择 submit stock request 按钮。
  
图 36. jsp 中的 submit stock request 按钮

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图六)

  在 quick edit 按钮菜单中选择 command。
  
图 37. quick edit 菜单

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图七)

  代码提供在下载文件中。将 c:/jsfarticleseries/part4/codesnippet1.txt 中的代码复制到 quick edit 窗口的编辑区中。主要的代码段是在 try 块中,但也包含了一些异常捕获和错误处理的代码:
  try 块得到 delegate 的一个实例,并调用 business 方法(该方法也依次调用 stockfacadeejb)。结果返回 accessstockquotevo。我们将返回结果存储在 stockdata 名称下的请求作用域中。viewstockdata.jsp 就是通过该名称期待获得这一结果的。(符号输入是从请示作用域中获得的。)
  try
  {
  com.deploybook.stock.delegate.accessquotedelegate
   accessquote = com.deploybook.stock.delegate.accessquotedelegate.getaccessquotedelegate();
  com.deploybook.stock.vo.accessstockquotevo
   accessquoteform = accessquote.getcurrentstockdata((string)requestscope.get("symbol"));
  requestscope.put("stockdata",accessquoteform);
  }
  
  如果我们捕获到一个异常,我们就在按钮组件中添加一个错误方法。codebehind 对象根据属性中配置的名称实例化页面中的每个组件。然后返回 failure。如果没有对失败返回值配置导航的话,它就会返回到同一个页面。我们可以添加一个链接到按钮控制的错误组件。
  catch (com.deploybook.stock.exceptions.stockexception e)
  {
  e.printstacktrace(system.err);
  context.addmessage(buttonex1,
   new javax.faces.application.messageimpl(
   javax.faces.application.message.severity_error,
   "stock not found",
   "symbol not found or invalid"
   ));
  return "failure";
  } catch (com.deploybook.stock.exceptions.symbolnotfoundexception e) {
  e.printstacktrace(system.err);
  context.addmessage(buttonex1,
   new javax.faces.application.messageimpl(
   javax.faces.application.message.severity_error,
   "stock not found",
  "symbol not found or invalid"
  ));
  return "failure";
  } catch (com.deploybook.trade.exception.invalidsymbolexception e) {
  e.printstacktrace(system.err);
  context.addmessage(buttonex1,
   new javax.faces.application.messageimpl(
   javax.faces.application.message.severity_error,
   "stock not found",
   "symbol not found or invalid"
   ));
  return "failure";
  }
  
  如果所有的执行都成功完成,那么我们返回 success。然后再来配置导航。
  return "success";
  
  quick edit 应该包含这些代码,如图 38 所示。
  
图 38. 包含代码的 quick edit 对话框

  
 用javabean数据组件集成jsf应用程序与ejb(4)(图八)

  java 代码会自动添加,打开 accessstock.java 即可确认是否自动添加代码。
  
 用javabean数据组件集成jsf应用程序与ejb(4)(图九)

  
图 40. accessstock.java 代码

  
用javabean数据组件集成jsf应用程序与ejb(4)(图十)

扫描关注微信公众号