JavaWeb框架复习笔记-Struts2(获取表单数据)

Action获取表单数据的三种方式

1.使用ActionContext类

查看源码可以知道该类的该方法可以得到一个ActionContext对象,并且它是静态的可以直接调用,它的作用是获得当前线程的ActionContext对象。
在这里插入图片描述
我们写个测试类来测试ActionContext如何获取表单数据
在这里插入图片描述
现在去struts.xml文件配置一下这个Action
在这里插入图片描述
然后去写一个最简单的表单(${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%>,这样提交的表单才能通过我们action处理 )
在这里插入图片描述
现在启动服务器测试一下
在这里插入图片描述
提交然后取后台控制台看一下
在这里插入图片描述
可以看出确实获得表单的数据内容

2.使用ServletActionContext类获取(这个更加清晰)
源码查看发现该方法可以返回一个HttpServletRequest对象,且是静态方法
在这里插入图片描述
同理我们再写一个测试类,
在这里插入图片描述
这里会出现一个缺少jar包的情况(IDEA下),此时我们去我们的tomcat安装目录下找到这两个包导入就可以使用HttpServletRequest了
在这里插入图片描述
同理配置一下struts.xml
在这里插入图片描述
记得jsp页面也要有相应的修改
在这里插入图片描述
直接测试结果看看
在这里插入图片描述
在这里插入图片描述
可以看出这种方式也同样能获取到表单的数据

3.使用接口注入的方式(这个比较麻烦要实现一个ServletRequestAware接口)
同理创建一个测试类
在这里插入图片描述
完成各种配置然后运行查看结果
在这里插入图片描述
在这里插入图片描述

总结如下,三种方式中官方推荐第一种,比较清晰的是第二种,第三种不建议比较麻烦

猜你喜欢

转载自blog.csdn.net/weixin_42341232/article/details/94318399
今日推荐