Struts2学习-jsp中超链接传参问题
今天在学习过程中对struts2中超链接的传参问题产生了一些疑惑,不明白jsp中的超链接如何将参数传到Action方法中去的。
<s:iterator value="categorys" var="p"> <tr> <td>${p.id}</td> <td>${p.name}</td> <td><a href="listProduct?category.id=${p.id}">products</a></td> <td><a href="editCategory?category.id=${p.id}">edit</a></td> <td><a href="deleteCategory?category.id=${p.id}">delete</a></td> </tr> </s:iterator>
ProductDAO pdao = new ProductDAO(); CategoryDAO cdao = new CategoryDAO(); Product product; List<Product> products; List<Category> categorys; Category category; public String list() { categorys = cdao.listCategory(); if (null != category) { category = cdao.get(category.getId()); products = new ArrayList(category.getProducts()); return "listJsp"; } else { products = pdao.listProduct(); return "listJsp"; } }
在下面一段java代码中,我并未实例化category,但所给代码中却有判断对象为空的语句,我不禁疑惑category对象是什么时候实例化的。
后查阅了相关问题,依旧没有找到原因,只能大胆猜测在超链接中需要先将所用到的对象设置出来,这样就免去了实例化的过程,将当前product的id通过超链接传入,然后调用CategoryAction中的get与set将id设置给category对象,便于通过某一商品的id查到该id所属类别下的所有商品信息。