使用springmvc 注解的形式实现
在这里就不说springmvc框架的搭建了 上篇文章已经写了springmvc的框架是如何搭建的
在这里写一个小例子 比喻登录(登录成功跳到一个Controller,登录失败跳到一个jsp页面)
以下是关键的代码
一:Login类的代码
@Controller
@RequestMapping("/admin/login.do")
public class AdminLogin extends BaseAction{
//使用了@Autowired就不用生成get set方法了
@Autowired
private IAdminServlet adminServlet;
public String login(String adminname,String password){
Admin admin=new Admin(adminname, password);
List<Admin> adminslisList=adminServlet.getNameByPwd(admin);
if (adminslisList.size()!=0) {
//将对象保存到session中
super.getSession().setAttribute("admin", adminslisList.get(0));
System.out.println("登录成功");
//使用关键字redirect重定向 重定向到Select_MerchantAction类中
return "redirect:/merchant/seelct.do?method=cc";
}else {
System.out.println("登录失败");
//打印出错误信息
super.getRequest().setAttribute("ErrorMsg", "用户名或者密码错误!");
return "index";
}
}
二:登录成功之后要重定向的Controller类
@Controller
@RequestMapping("/merchant/seelct.do")
public class Select_MerchantAction extends BaseAction {
@Autowired
private IMerchantServlet merchantServlet;
//查询全部的
@RequestMapping(params = "method=cc")
public String selectAll(){
List<Merchant> listMerchants=merchantServlet.getByname(null);
//将数据保存到Request中
super.getRequest().setAttribute("listMerchants", listMerchants);
//转发到merchant_list.jsp页面
return "merchant_list";
}
}
三:merchant_list.jsp页面的核心代码
在merchant_list.jsp页面遍历保存在request中的数据
<c:forEach items="${requestScope.listMerchants}" var="Merchant">
<tr>
<td>${Merchant.merchantTypeName}</td>
<td>${Merchant.areaName}</td>
<td>${Merchant.merchantName}</td>
<td>${Merchant.merchantPhone}</td>
<td>${Merchant.merchantAddress}</td>
</tr>
</c:forEach>