我正在处理一个使用struts 1.2的旧应用程序。出于某种原因,我们使用纯html表单提交struts动作。例如:
对于testAction.do的内容输出,我尝试提交给自己。
第1项 第2项然后我将表单bean TestForm与testAction相关联。
我不确定如何在表单中指定属性,以便在用户点击“提交”后获取myitem1中的值
我试图添加 getMyitem1(),setMyitem1(String [] items),getSelectedMyitem1(),setSelectedMyitem1(String [] items)
只有在加载页面时才会调用这些set方法。
我想我对struts 1.x中的ActionForm的理解一定是错的。
请指教,谢谢。
答案 0 :(得分:6)
首先,让我们澄清一下Struts如何管理表单提交:
现在,绑定是根据名称完成的; 与格式的属性名称匹配的请求参数的名称。请求参数的名称当然是您提交的HTML表单中输入字段的名称。
例如,如果您提交名为test
的输入,则您的操作表单类中应具有以下访问者(尊重名为test
的属性的JavaBeans约定):
public void setTest(String val) { ... }
public String getTest() { ... }
如果您有一个附加到test
参数的值列表(我假设您提到复选框列表就是这种情况),访问者将更改为数组类型:
public void setTest(String[] val) { ... }
public String[] getTest() { ... }
但是再次该名称用于匹配,始终是名称。
不确定您要对项目1项目2执行的操作。这些是为您的输入提交的值(相当于test
)吗?