关于 ActionForm 的设计问题
记得以前刚刚用 JSP 的时候, 在 JSP ,Servlet 中光光是的参数是传递就折磨了够呛,还好, 自从用了Struts 以后,很少在这方面担忧了,但是新的问题又随之而来了,对应一些功能比较多,复杂的界面,你的ActiomForm怎么设计: 就比如下面这张截图
注意这里是分页显示的, 所以图中版主是在一个循环里面输出的,还要主要每一个版主后面有一个"设置生效"submit,好的,就这种情况,怎么设置ActionForm ? 刚刚开始想以整个table 为一个ActionForm ,然后用他的List,Map属性来接受,接着想到了,不对! 对于每一个独立的版主,你对他管理的资源进行权限分配了以后, 点击Sumbit提交了,就会把其他的,不属于该版主的(其他版主)信息也提交上去,别说你在Action中处理时将其他的版主置之不理,就说你如何分辨出哪些是你设置的版主的信息都很难!
况且还提交了一些无用的数据.
当然还可以以一行为一个ActionForm,但是由于是分页显示,数据是循环输出的, 如果你的<html:form ...></html:form>是在循环内的, 那么出来的这些<form />是同名的, 虽然写的时候可以通过id 的递增来给Form命名, 但是我发现,Struts中<html:form />标签生成的form始终跟struts-config.xml 中的action-mappings 元素中的 name属性或是attribute属性(优先)同名,已经写死了,可见不能生成递增的,不同的form.
就退一步来讲, 即使能在页面生成连续几个不同的form,型如:
<form name="form1" action=".." />
<form name="form2" action=".." />
<form name="form n" action=".." />
你的ActionForm 又如何设计? 总不能这样有相应的ActionForm1,ActionForm2,ActionForm3......吧...
..直到现在也不知道怎么设计上面这个ActionForm了,,,
象这样的问题一直都困扰我很久, 不知道大家有什么好的思路.