我有一个具有单个复选框的表单,用户需要选择一些选项并选择提供的按钮之一。其中两个按钮应将所选选项返回到触发页面的同一操作(第一个操作),另一个按钮需要将选项发送到另一个操作(下一个操作)。
由于我无法为单个复选框定义两个单独的表单,因此目前我将所有按钮重定向到第一个操作并尝试从那里重定向到下一个操作。因此,我使用 param 标签来传递所需的变量,但我无法在第二个操作中访问它。
目标是为单个复选框提供三个单独的提交按钮。
我已经将我的代码与此进行了比较,尽管它们似乎相同,但我的却不起作用。
形式
<form name="FirstActionFrom" method="POST" action="doActions">
Check box goes here
<input id="ThisBtn1" type="submit" name="req" value="This1"/> 
<input id="ThisBtn2" type="submit" name="req" value="This2"/>
<input id="NextBtn" type="submit" name="req" value="Next"/>
</form>
第一个动作:
.....
private List<Long> selectedOptions;
{
System.err.println("size of options:" + this.selectedOptions.size());
if req is equal to Next then
return "NextAction"
else do whatever is required
}
getter and setter go here
}
Struts.xml
<result name="NextAction" type="redirectAction">
<param name="actionName">NextAction</param>
<param name="namespace">/Users/Next</param>
<param name="selectedOptions">${selectedOptions}</param>
</result>
下一步行动
.....
private List<Long> selectedOptions;
... {
System.err.println("size of options:" + this.selectedOptions.size()); <<Always shows Zero
return "showThis"
}
getter and setter go here
}
选择单个选项后的结果
SEVERE : size of options:1
SEVERE : size of options:0