快速业务通道

JBuilder 2005 Struts深度体验之新增 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
有重叠的,Struts 以后的版本将逐渐往JSF靠近,JSF的标签可能将最终取代Struts自己的标签,以实现天下大统。

创建BookInsertAction

下面,我们来创建BookInsertAction,在该Action中将图书记录添加到T_BOOK表中。如果操作成功定向到insertSuccess.htm操作成功页面,如果在进行数据库操作时发现SQLException,则转向sqlFail.htm页面。我们需要事先创建这两个HTML页面,为了简单,仅在其中写入报告操作成功和失败的信息即可。

按3.2相似的方式创建BookInsertAction,用book-struts-config.xml记录配置信息,在向导的第2步,将FormBean name指定为bookActionForm,Scope为request,将input JSP指定为/bookAdd.jsp,如图 23所示:

JBuilder 2005 Struts深度体验之新增 - 编程入门网

图 23 指出BookInsertAction的配置信息

按Finish直接创建BookInsertAction,JBuilder将打开Struts Config Editor显示/bookInsertAction的流程,如图 24所示:

JBuilder 2005 Struts深度体验之新增 - 编程入门网

图 24 bookInsertAction流程

JBuilder 2005 Struts深度体验之新增(6)

时间:2010-04-15 天极

添加1个出口,名为success,路径为/insertSuccess.htm。最终的/bookInsertAction的流程如图 5所示。

代码清单 12是BookInsertAction的代码,它完成图书添加,出口控制的操作:

代码清单 12 BookInsertAction.java

1. package bookstore; 2. 3. import javax.servlet.http.*; 4. import org.apache.struts.action.*; 5. import java.sql.*; 6. 7. public class BookInsertAction 8. extends Action { 9.  public ActionForward execute(ActionMapping actionMapping, 10.  ActionForm actionForm, 11.  HttpServletRequest servletRequest, 12.  HttpServletResponse servletResponse) 13.  throws Exception 14.  { 15.   BookActionForm bookActionForm = (BookActionForm) actionForm; 16.   Connection conn = null; 17.   conn = DBConnection.getConnection(); 18.   PreparedStatement pStat = conn.prepareStatement( 19.    " insert into T_BOOK1(BOOK_ID,ISBN,BOOK_NAME,AUTHOR,"+ 20.    "CREATE_DATE) values(?,?,?,?,?)"); 21.   pStat.setString(1, bookActionForm.getBookId()); 22.   pStat.setString(2, bookActionForm.getIsbn()); 23.   pStat.setString(3, bookActionForm.getBookName()); 24.   pStat.setString(4, bookActionForm.getAuthor()); 25.   pStat.setString(5, bookActionForm.getCreateDate()); 26.   pStat.executeUpdate(); 27.   return actionMapping.findForward("success"); 28. 29.  } 30. }

BookInsertAction将bookActionForm的数据通过JDBC添加到T_BOOK表中,添加成功则转向insertSuccess.htm页面。有些观察细致的读者也许已经注意到BookInsertAction的execute()方法并未直接对SQLException进行处理,而是将异常抛出,如第13行所示。这里,我们要用到Struts1.1的新功能:通过配置方式处理异常。

在工程窗格的webModule/Deployment descriptors/<Struts 1.1>下找到并双击book-struts-config.xml文件,调出的Struts Config Editor配置编辑器,切换到Global Exceptions标签页,如图 25所示:

JBuilder 2005 Struts深度体验之新增 - 编程入门网

图 25 异常处理配置

点击Add...定义一个名为sqlexception的异常处理配置项,处理java.sql.SQLException异常,定义完这个配置项后,选中这个配置项,点击Edit...切换到这个配置项的详细设置页面,如图 26所示:

JBuilder 2005 Struts深度体验之新增 - 编程入门网

图 26 异常处理配置窗口

JBuilder 2005 Struts深度体验之新增(7)

时间:2010-04-15 天极

在窗口下部切换到Source视图页中,这个异常配置项的配置信息如代码清单 13所示:

代码清单 13 SQLExce

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号