Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
在Struts 2中捕获url中的多个参数到单个数组_Url_Parameters_Struts2 - Fatal编程技术网

在Struts 2中捕获url中的多个参数到单个数组

在Struts 2中捕获url中的多个参数到单个数组,url,parameters,struts2,Url,Parameters,Struts2,这是我的struts.xml类: /success.jsp 因此,在我的action类中,我必须创建三个String对象String param1、param2、param3,并添加getter和setter方法来获取param值。我想做的是,不是创建3个不同的字符串对象,而是创建一个字符串数组,并使用setter将参数值存储到字符串数组中 如何在action类中实现这一点?使用查询字符串中的参数在Struts2中填充数组非常简单 在您的操作中,使用相应的setter声明数组 private S

这是我的struts.xml类:

/success.jsp 因此,在我的action类中,我必须创建三个String对象String param1、param2、param3,并添加getter和setter方法来获取param值。我想做的是,不是创建3个不同的字符串对象,而是创建一个字符串数组,并使用setter将参数值存储到字符串数组中


如何在action类中实现这一点?

使用查询字符串中的参数在Struts2中填充数组非常简单

在您的操作中,使用相应的setter声明数组

private String[] fruits;

public void setFruits(String[] fruits) {
    this.fruits = fruits;
}
此请求将填充您的水果数组

/myactionuri?水果=苹果和水果=香蕉和水果=桃子

但对于静态参数,这种机制似乎不以同样的方式工作

我找到了这个解决方案,也许没有那么优雅,但它很有效。 在struts.xml中:


希望这对您有所帮助。

使用查询字符串中的参数在Struts2中填充数组非常简单

在您的操作中,使用相应的setter声明数组

private String[] fruits;

public void setFruits(String[] fruits) {
    this.fruits = fruits;
}
此请求将填充您的水果数组

/myactionuri?水果=苹果和水果=香蕉和水果=桃子

但对于静态参数,这种机制似乎不以同样的方式工作

我找到了这个解决方案,也许没有那么优雅,但它很有效。 在struts.xml中:


希望这会对您有所帮助。

您需要告诉哪些参数将指向数组中的哪个索引

/success.jsp 使用数组的操作:

私有字符串[]参数=新字符串[3]; //接二连三 您可以使用列表而不是数组,这样就不需要在操作中初始化它

使用列表的操作:

私有列表参数; //接二连三 地图也是一个选项

使用Map的操作:

私有映射参数; //接二连三 struts.xml正在使用映射:

/success.jsp
您需要知道哪个参数将转到数组中的哪个索引

/success.jsp 使用数组的操作:

私有字符串[]参数=新字符串[3]; //接二连三 您可以使用列表而不是数组,这样就不需要在操作中初始化它

使用列表的操作:

私有列表参数; //接二连三 地图也是一个选项

使用Map的操作:

私有映射参数; //接二连三 struts.xml正在使用映射:

/success.jsp
你有没有尝试过:使用数组?你能更清楚地解释一下你到底想做什么吗?没有尝试过使用数组。想知道它是否可能。更清楚吗?嗯,我想要一个字符串数组,比如params[],它存储URL中的param1、param2和param3值。您是否尝试过:使用数组?您能更清楚地解释一下您想要做什么吗?没有尝试过使用数组。想知道它是否可能。更清楚吗?嗯,我想要一个字符串数组,比如params[],它存储URL中的param1、param2和param3值。这就是我需要的。谢谢。这正是我所需要的。如果您计划在setter中添加一个简单的外接程序,请注意列表解决方案:具有多个参数调用的拦截器堆栈非常常见,并且列表不可用control@fustaki保持吸音器和塞音器清洁。没有必要将add方法放入setter中。如果您计划在setter中放入一个简单的add,请注意列表解决方案:具有多个参数调用的拦截器堆栈非常常见,并且列表不可用control@fustaki保持吸音器和塞音器清洁。不需要将add方法放入setter中。
private String[] fruits = new String[3]; //need to be initiated

public void setF1(String f1) {
    this.fruits[0] = f1;
}

public void setF2(String f2) {
    this.fruits[1] = f2;
}

public void setF3(String f3) {
    this.fruits[2] = f3;
}