如何将参数从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标签来params:submit使用s:param标签submit标签。

您还不希望添加hidden字段,因为您已将多个值提交给操作。 这是因为许多隐藏字段使用相同的名称呈现。 在提交表单之前,您只能使用一个字段并更新其值。

可能您使用了错误的标记将参数传递给操作。 您可以使用锚标记并使用param标记对其进行param化。

第二种方法是使用javascript修改action属性。 这样你也可以使用button标签。

建议不要使用第三种方法,因为它需要为每个链接使用多个表单。 通过这种方式,您可以直接向表单操作属性添加参数。

以下是上述选项的代码。

3合1:

  
Hello param 1   Go   
Submit