在 Struts 1.2 框架下,如何跳过actionForm将页面的表单数据存到一个MAP当中去?要求:1.页面上的表单名称和表单个数都不确定2.不使用任何actionForm来接收表单数据,而是将表单存到一个MAP里面去。3.这个MAP是一个空的,里面的键是根据不同的表单的名称来自动确定。该功能是用于框架设计。望多加指教。谢谢!

解决方案 »

  1.   

    直接提交到一个特定的servlet去处理不就行了
      

  2.   

    不行,必须要交给一个MAP。交给servlet不合要求。
      

  3.   

    写个拦截器拦截下来 struts2 里面是这样做的。
      

  4.   

    Struts2中确实已经实现了类似的功能了,而且更强大,它是一套框架,请求提交后通过过滤器或某个特殊的Servlet将请求中的Form数据封装到一个容器里(ValueStack),这个容器是线程安全的(通过一个线程变量),这个容器贯穿处理的始终,Form表单元数据可以从这个容器里方便获得,同时数据处理的结果再放入容器(方便表示层回调);当然这只是Struts2框架功能的一部分;具体研究研究Struts2或者XWork;Struts1.2与Struts2有很大的差别,我觉得考虑扩展像Struts2这样的框架结构很难,它是一整套解决方案,如果仅仅只是考虑表示层Form表单数据到服务端的单向封装是可以做些改进的,但是感觉意义不是很大而且值栈的设计确实是个技术含量很高的(当然不考虑各种复杂情况及效率问题则另当别论),看看XWork内的值栈框架源码就知道,绝对是个高手中的高手才能写出来的