科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用JavaBean数据组件集成JSF应用程序与EJB(4)

用JavaBean数据组件集成JSF应用程序与EJB(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:中国IT实验室 来源:中国IT实验室 2007年9月7日

关键字: EJB JSF JavaBean

  • 评论
  • 分享微博
  • 分享邮件
选中 symbol 字段标题,将首字母改为大写。
  
图 31. 选择字段标题

  
 

  此外,在 Attribute 项中,对于每个字段名称 Cell 均选择 Header。
  
图 32. Cell 属性

  
 

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

  
 

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

  
 

  
  操作处理和导航
  结果页面创建之后,我们需要为提交页面创建 Action Handler,以便与 EJB 相交互。这些完成之后,我们需要收集结果以便配置恰当的导航规则。我们可以使用控制的 Quick Edit 项来将 Server Side Actions 添加到应用程序中。
  
  添加一个操作到 accessStock.jsp 页面中。
  打开 accessStock.jsp 页面。
  
图 35. 打开 accessStock.jsp

  
 

  选择 Submit Stock Request 按钮。
  
图 36. JSP 中的 Submit Stock Request 按钮

  
 

  在 Quick Edit 按钮菜单中选择 Command。
  
图 37. Quick Edit 菜单

  
 

  代码提供在下载文件中。将 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 对话框

  
 

  Java 代码会自动添加,打开 accessStock.java 即可确认是否自动添加代码。
  
 

  
图 40. accessStock.java 代码

  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章