1.09 Spring的常见应用之数据回写、配置全局变量名、异常处理

1.数据回写-普通实现方式

1.1 通过Model的addAttribue方式

1.1.1控制层

@RequestMapping("/doLogin")
    public String doLogin(String userName,String password,Model model){
        System.out.println(userName+":"+password);
        model.addAttribute("userName",userName);
        model.addAttribute("password",password);
        return "forward:/login.jsp";
    }

在这里插入图片描述

1.1.2 前端页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<html>
<head>
    <title>Login页面</title>
</head>
<body>
    全局配置信息:${as}<br>
    <form action="/user/doLogin2" method="post">
        用户名:<input type="text" name="userName" value="${userName}">
        密码:<input type="text" name="password" value="${password}">
        <input type="submit" value="提交">
    </form>
</body>
</html>

在这里插入图片描述

2.数据回写-通过Model方式实现

如果使用对象去接受客户端传递的参数,那么对象默认会被自动放到Model中(Request作用域中),在前端页面可以直接使用对象的数据。这样开发效率更快

2.1 Controller

/**
* 如果我们用对象去接收请求传递的参数。
* 那么该对象默认会被保存到Model对象中
* model.addAttribute("userBean",user)
* @param user
* @return
*/
@RequestMapping("/addUser")
public String addUser(UserBean user){
	System.out.println(user);
	return "/user.jsp";
}

2.2 前端页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
	<html>
	<head>
		<title>Title</title>
	</head>
	<body>
		<form action="/user/addUser" method="post" >
			<label>编号:</label>
			<input type="text" name="id" value="${userBean.id}">
			<br>
			<label>用户名:</label>
			<input type="text" name="userName" value="${userBean.userName}">
			<br>
			<input type="submit" value="添加">
		</form>
	</body>
</html

3.数据回写-@ModelAttribute注解的实现

3.1 修改参数回写变量名

在这里插入图片描述
在这里插入图片描述

4.配置全局变量名

    /**
     * 配置全局的信息
     *  该类中的其他方法在处理请求后都会绑定本方法的返回信息
     * @return
     */
    @ModelAttribute("as")
    public List<String> getAllAddress(){
        System.out.println(Arrays.asList("长沙","中国","云南"));
        return Arrays.asList("长沙","中国","云南");
    }

在这里插入图片描述

5.异常处理

如果我们队系统没有做统一处理,那么当系统抛出异常信息的时候会给客户很不好的体验。
例如:
在这里插入图片描述
全局异常处理器处理

@Component
public class MyExceptionResolver implements HandlerExceptionResolver {
    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        System.out.println(e.getMessage());
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.setViewName("/500.jsp");
        return modelAndView;
    }
}

在这里插入图片描述
要记得扫描包
在这里插入图片描述

测试
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值