如何将参数从JSP传递给Struts 2动作
我有一个应用程序,我想每次按下该项目的按钮时将项目id
传递给操作。
我的JSP:
行动:
public class ProductsCPU extends BaseAction implements Preparable, SessionAware { private static final long serialVersionUID = 2124421844550008773L; private List colors = new ArrayList(); private List cpus; private String id; public String getId() { return id; } public void setId(String id) { this.id = id; }
当我将id打印到控制台时,它具有null
值。 问题是什么?
这应该做:
您需要使用表单元素。
问题是你不能使用submit
标签正文中的param
标签来param
化s:submit
使用s:param
标签submit
标签。
您还不希望添加hidden
字段,因为您已将多个值提交给操作。 这是因为许多隐藏字段使用相同的名称呈现。 在提交表单之前,您只能使用一个字段并更新其值。
可能您使用了错误的标记将参数传递给操作。 您可以使用锚标记并使用param
标记对其进行param
化。
第二种方法是使用javascript修改action
属性。 这样你也可以使用button
标签。
建议不要使用第三种方法,因为它需要为每个链接使用多个表单。 通过这种方式,您可以直接向表单操作属性添加参数。
以下是上述选项的代码。
3合1:
Hello param 1 Go
Submit