在struts2框架中接收参数的方式主要有属性驱动获取参数、对象驱动获取参数、模型驱动获取参数以及集合封装获取参数这四种,而集合封装获取参数主要是有List集合、Map集合这两种方式的,集合封装获取参数操作方式较为简便,本章节主要学习的是List集合封装获取参数的操作方式,详细如下;
1、List集合封装获取参数
第一步:创建Action类
DemoApi7.java
// struts2使用集合类型封装获得参数
public class DemoApi7 extends ActionSupport {
private List<String> list;
public String action_name() throws Exception {
System.out.println("list:"+list);
return SUCCESS;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
}
在此action类中的list集合是作为一个属性,因此需要此属性进行get/set;
第二步:Jsp表单
form4.jsp
<form action="${pageContext.request.contextPath}/api/DemoApi7" method="post">
<label>list1:<input type="text" name="list" ></label><br/>
<label>list3:<input type="number" min="18" max="90" name="list[2]" ></label><br/>
<input type="submit" value="OK">
</form>
List集合封装获取参数的方法比较强大的一点就是可以给表单中传递的参数在list集合中进行定位,其定位方法就是在list对象名后边加上[x]索引即可,比如例子中的list3输入框中的参数要放在此list集合列表中的第3位,那就设置其name的属性值配置为“list[2]”即可,中间的数据如果没有直接就略过,保存为null类型的;
第三步:Struts.xml文件配置
struts.xml
<!-- 集合封装获取参数 -->
<action name="DemoApi7" class="com.java.Demo.api.DemoApi7" method="action_name">
<result name="success" type="dispatcher">/form4.jsp</result>
</action>
第四步:Demo测试
运行demo输入数据:
点击OK — 控制台输出:
成功~
pass:这些参数获取的原理和过程都不算太难,很容易就能看明白,所以叙述的比较少。。。
struts2中几种参数传递获取方式如下:
属性驱动方式获得参数:https://blog.csdn.net/qq_40762011/article/details/84975163
对象驱动方式获得参数:https://blog.csdn.net/qq_40762011/article/details/84975677
模型驱动方式获得参数:https://blog.csdn.net/qq_40762011/article/details/84976004
List集合封装传递获取参数:https://blog.csdn.net/qq_40762011/article/details/84976453
Map集合封装传递获取参数:https://blog.csdn.net/qq_40762011/article/details/84988210