龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

利用 Struts 实现动态控制表格大小(2)

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
一旦表格提供,另一个简单的Struts动作来处理结果: package demo; /** * Copyright 2004, James M. Turner. * All Rights Reserved * * A Struts action that sends the new comments to the console */ import Java.io.IOException; i

  一旦表格提供,另一个简单的Struts动作来处理结果:

  

   package demo;

  

   /**

   * Copyright 2004, James M. Turner.

   * All Rights Reserved

   *

   * A Struts action that sends the new comments to the console

   */

  

   import Java.io.IOException;

   import javax.servlet.ServletException;

   import javax.servlet.http.*;

  

   import org.apache.struts.action.*;

   import org.apache.struts.validator.DynaValidatorForm;

  

   public class ProcessFormAction extends Action {

     public ActionForward execute(ActionMapping mapping,

   ActionForm form,

   HttpServletRequest request,

      HttpServletResponse response)

     throws ServletException, IOException {

  

     DynaValidatorForm df = (DynaValidatorForm) form;

     Person[] p = (Person[]) df.get("people");

  

     for (int i = 0; i < p.length; i++) {

     System.out.println(p[i].getFirstName() + " " + p[i].

   getLastName() + ":" + p[i].getComment());

     }

  

     return mapping.findForward("sUCcess");

     }

   }

  

   在实际的应用中,这就是数据写回到数据库的地方。在这种情况下,他只将数据倒在控制台上所以我们可以看到他是正确收到的。假设我们为每个演员都填充了恰当的值,我们在控制台上会看到下列内容:

  

   Harrison Ford:Indiana Jones

   Carrie Fisher:Postcards from the Edge

   Mark Hamill:Wing Commander

  

   正如我在文章开头提到的一样,还有另一个方法可以解决这个问题,而且它不需要使用会话期范围内的表格。这个方法就是使用HashMaps 来存储行。我们来看看使用HashMaps编写的同一段代码:

   首先,我们添加一个新表格到struts-config.XML:

  

  

     

     

     

  

   现在,我们不使用beans的排列,改为使用HashMap 来存储每个人的数据。另外,我们需要一个新的HashMap 来存储注释,原因我稍后再解释。我们也需要一个新的动作来填充数据:

  

   package demo;

  

   /**

   * Copyright 2004, James M. Turner.

   * All Rights Reserved

   *

   * A Struts action that sets up a DynaForm which is globally scoped

   */

  

   import java.io.IOException;

   import java.util.HashMap;

   import javax.servlet.ServletException;

   import javax.servlet.http.*;

  

   import org.apache.struts.action.*;

   import org.apache.struts.validator.DynaValidatorForm;

  

   public class SetupHashFormAction extends Action {

     public ActionForward execute(ActionMapping mapping,

   ActionForm form, HttpServletRequest request,

      HttpServletResponse response)

  
  

精彩图集

赞助商链接