Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序 - 编程入门网
实现saveProduct动作的代码。Struts Action类必须一般从org.apache.struts.action.Action类继承。一般在Struts Action类需要覆盖Action类的execute方法。这个方法有每次客户端访问Struts Action时调用。我们可以在方法中处理客户端提交的数据,访问数据库等工作。这个方法返回一个ActionForward类型的值,表明在执行完execute后,要forward到的页面。描述saveProduct动作的类叫SaveProductAction。代码如下:
package mystruts.action; import javax.servlet.http.*; import org.apache.struts.action.*; import mystruts.actionform.*; import mystruts.model.*; public class SaveProductAction extends Action { // 在客户端访问saveProduct动作时执行该方法 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ProductForm saveProductForm = (ProductForm) form; try { Product product = new Product(saveProductForm); product.save(); // 保存产品信息 request.setAttribute("info", "保存成功!"); } catch (Exception e) { request.setAttribute("info", e.getMessage()); } return mapping.findForward("save"); } } Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序(8)时间:2011-01-10 BlogJava 银河使者在SaveProductAction类中使用了模型类Product验证并保存产品信息。并将操作结果信息保存在request的属性中,key为“info”。在execute的最后,使用了ActionMapping类的findForward方法在struts-config.xml中寻找一个叫“save”的forward。这个forward是一个JSP页,用于显示是否将产品信息保存成功的信息。为了可以在struts-config.xml中查找这个forward,需要在struts-config.xml的<action-mappings>节点中加入如下的内容。 <action name="saveProductForm" path="/saveProduct"scope="request" type=" mystruts.action.SaveProductAction"> <forward name="save" path="/mystruts/save.jsp" /></action> 从上面的代码可以看出,那个用于显示保存状态信息的JSP页面叫save.jsp。在<samples工程目录>"mystruts目录中建立一个save.jsp文件,代码如下: <%@ page pageEncoding="GBK"%> ${requestScope.info} 在IE中输入如下的URL: http://localhost:8080/samples/mystruts/newProduct.jsp 在文本框中输入相应的信息后,点“保存”按钮,如果输入的数据是合法的,就会将数据保存在t_products中,否则会显示出错的原因。searchProduct动作的实现和saveProduct差不多,也会为三步:实现动作类(SearchProductAction)、在struts-config.xml中添加配置信息和实现用于显示查询结果的JSP文件。下面的代码分别显示了这三步所要编写的代码。 SearchProductAction.java package mystruts.action; import javax.servlet.http.*; import org.apache.struts.action.*; import mystruts.actionform.*; import mystruts.model.*; import java.util.*; public class SearchProductAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |