快速业务通道

Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
g[] row = new String[3]; row[0] = rs.getString(1); row[1] = rs.getString(2); row[2] = rs.getString(3); result.add(row); } rs.close(); conn.close(); return result; } }

在SearchProduct类也使用了ProductForm类,但在SearchProduct中并不会验证ProductForm对象实例中的数据,而只是将ProductForm对象作为传递查询请求信息(实际上只需要产品名称)的工具而已。

Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序(7)

时间:2011-01-10 BlogJava 银河使者

六、实现控制器

在这一节要实现的控制器是基于Struts的Web程序的核心部分之一:控制器实质上也是普通的Java类,但这个Java类一般要从org.apache.struts.action.Action类继承。控制器的主要功能是接受并处理从JSP页面提交的数据、通过模型(Model)和数据库交互以及forward到相应的页面(可以是任何页面,如html、JSP和Servlet等)。在实现控制器之前,需要先实现一个ActionForm类, 这个类的作用是保存JSP页面提交的数据。在<samples工程目录>"src目录中建立一个ProductForm.java文件,代码如下:

package mystruts.actionform;  import org.apache.struts.action.*;  public class ProductForm extends ActionForm  {      private String productID;  // 产品ID      private String productName; // 产品名称      private float price;  // 产品价格      public String getProductID()      {          return productID;      }      public void setProductID(String productID)      {          this.productID = productID;      }      public String getProductName()      {          return productName;      }      public void setProductName(String productName)      {          this.productName = productName;      }      public float getPrice()      {          return price;      }      public void setPrice(float price)      {          this.price = price;      }  }

从上面的代码可以看出,ActionForm类一般从org.apache.struts.action.ActionForm类继承,而且在类中需要按着需要保存的数据表字段添加属性。如产品ID的属性是productName。在MyEclipse中可以只定义三个private变量,然后使用MyEclipse的【Source】 > 【Generate Getters and Setters...】功能自动产生getter和setter方法。但在给这些属性取名时要注意,private变量的名子和数据表的字段名没有直接的关系,但必须和JSP页面中的<html>标签的property属性值一致,如<html:text property="productName" />表示输入产品名称的文本框,其中property属性的值就是ProductForm类中的productName变量。如果不一致,将会抛出异常。其他和ProductForm类的属性对应的<html>标签可以查看上面的代码。

光有ActionForm类还不够,还需要在struts-config.xml中的<struts-config>节点中添加如下的内容:

<form-beans>     <form-bean name="saveProductForm" type=" mystruts.actionform.ProductForm" />     <form-bean name="searchProductForm" type="mystruts.actionform.ProductForm" /></form-beans>

上面的代码所配置的两个ActionForm实际上指的是同一个ProductForm类,但这个ProductForm类在后面要讲的两个动作里都要使用,为了更容易理解,为这个ProductForm起了两个不同的别名(saveProductForm和searchProductForm)。

下面来

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号