高校平台 (一) Struts2利用 ActionForm向Action传输数据

时间:2022-09-12 13:21:35
  • 在实践中才能理解
这些天在做高校平台的基础部分,遇到了各种各样的问题,不管大问题还是小问题都会让你调上一两小时,调试程序真是一件需要耐心的事情,如果弄了会弄不出来就不想弄了,思路会越来越来,调试需要我们理清思路、逐步排查一点点测试,建议大家多做单元测试要不问题一多了都不知道哪里出了问题,每写一个类或者一个方法最好测试通过了然后再进行下面的工作。
在亲自做的过程中才感觉到以前只是看看视频好多需要回过头来看看以前的笔记,很多东西在大脑里面知道这个问题可以用什么方法解决,然而,在真正使用过程中不熟练,可能是代码量少的缘故,还有有些东西还是需要自己应用一遍才可以熟练掌握、熟记于心,换句话说“不经过自己思考的东西不是自己的东西”,举个最简单的例子来说,Struts2通过ActionForm从前台传输数据。
public class ActionForm {

private String departmentId;

private String departmentCode;

private String departmentName;

private String levelId;

private String levelName;

private String collegeId;

private String collegeName;
                //省略GET()/SET方法


  • 问题描述
基础系统的专业管理前台有学院信息、层次信息、专业信息等,需要往后台传输,有时候却出现依赖实体比如学院、层次在Action里面注入不进去值,可能是依赖或者懒加载问题导致,为了保证每次都成功可以利用ActionForm从页面传数据,在ActionForm里只加入String类型的属性,例如下列代码:
actionForm代码
  • 需要设置的参数
1.页面中name属性,如专业ID设为actionForm.departmentId;2.actionForm中加入get()、set()方法;
3.Action中声明ActionForm属性,并提供get()、set()方法;                 这样界面中与name对应的属性value值就会自动保存到actionForm中,只需从后台取出数据即可。
   
public class DepartmentAction extends BaseAction {
//专业ID的数组
private String[] ids;
//搜索关键词
private String keywords;
//学院ID
private String collegeId;
//层次ID
private String levelId;
//表单参数
private ActionForm actionForm;