Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将参数从JSP传递到Struts 2操作_Javascript_Java_Jsp_Parameters_Struts2 - Fatal编程技术网

Javascript 如何将参数从JSP传递到Struts 2操作

Javascript 如何将参数从JSP传递到Struts 2操作,javascript,java,jsp,parameters,struts2,Javascript,Java,Jsp,Parameters,Struts2,我有一个应用程序,每次按下该项目的按钮时,我都要将项目id传递给操作 我的JSP: 行动: 公共类产品SCPU扩展BaseAction实现可准备的SessionAware{ 私有静态最终长serialVersionUID=2124421844550008773L; 私有列表颜色=新的ArrayList(); 私有列表CPU; 私有字符串id; 公共字符串getId(){ 返回id; } 公共无效集合id(字符串id){ this.id=id; } 当我将id打印到console时,它的值为

我有一个应用程序,每次按下该项目的按钮时,我都要将项目
id
传递给操作

我的JSP:

行动:
公共类产品SCPU扩展BaseAction实现可准备的SessionAware{
私有静态最终长serialVersionUID=2124421844550008773L;
私有列表颜色=新的ArrayList();
私有列表CPU;
私有字符串id;
公共字符串getId(){
返回id;
}
公共无效集合id(字符串id){
this.id=id;
}
当我将id打印到console时,它的值为
null
。有什么问题吗?

应该这样做:

<s:url id="myurl" action="addToCart">
    <s:param name="id" value="%{#cpu.id}" />
</s:url>
<s:submit  value="addToCart" action="%{myurl}"/>

您需要使用表单元素

<form action="passId>
    <s:hidden name="id" value="%{#cpu.id}" />
    <s:submit  value="addToCart" action="addToCart" type="submit"/>
</form>

问题在于,您无法使用
submit
标记的主体中的
param
标记将
s:submit
标记参数化为代码中的标记

您也不想添加
隐藏的
字段,因为有多个值提交给了操作。这是因为许多隐藏字段都是以相同的名称呈现的。在提交表单之前,您只能使用一个字段并更新其值

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

第二种方法是使用javascript修改
操作
属性。这样,您还可以使用
按钮
标记

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

下面是上述选项的代码

三位一体:


您好,参数1开始
提交


为什么不像
那样在隐藏字段中传递参数?如果我使用隐藏标记传递参数,id值由项目的所有id组成,在我的示例中为1,2。我希望它为1或2。我要求执行类似于我所做的
的操作。但最终id包含所有项目id。这是我的提交:我不明白你想通过你的评论说些什么??参数是以1:3传递的,但还有一个参数你应该自己找到。
<form action="passId>
    <s:hidden name="id" value="%{#cpu.id}" />
    <s:submit  value="addToCart" action="addToCart" type="submit"/>
</form>