如何把controller的数据保存到view

一、使用ModelAndView对象可以保存数据

注意:方法的返回类型必须是ModelAndView

@RequestMapping("/hello2")
public ModelAndView  hello2(User user){
    System.out.println(user+"=========");
    ModelAndView  mv=new ModelAndView("hello");
    mv.addObject("user",user);//使用ModelAndView保存数据
    return mv;//springmvc使用的是请求转发模式
}

二、使用Model对象保存数据

@RequestMapping("hello3")
public String hello3(User user,Model model){//如果方法的返回值是字符串类型,则会把返回的字符串作为对象
    System.out.println(user+"=======");
    model.addObject("user","张三");
    return "hello3";//作为视图名解析了
}

一和二这两种方式保存数据的范围都是在request范围

三、如果跳转的路径不想经过实体解析器

@RequestMapping("hello5")
public String hello5(){
    return "redirect:/hello4";//告诉服务器不经过视图解析器
}
@RequestMapping("hello6")
public String  hello6(Model model){
    model.addObject("age",12);
    return "forward:/hello4";//redirect:告诉服务器不经过视图解析器 forward:转发到指定的路径,不经过视图解析器
}

四、controller返回json数据

①引入Jackson数据

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.11.4</version>
</dependency>

②在返回json的方法上加入一个注解@ResponseBody

@RequestMapping("index")
@ResponseBody//把java对象转换为json对象
public User  index(){
    User user=new User();
    user.setUsername("张三");
    user.setPassword("110");
    user.setRealname("灰灰");
    user.setSex("女");//从数据库中获取的数据
    user.setBirthday(new Date());
    return user;
}

问题是:日期格式变成了时间戳了

 解决办法:在实体类

@Data
@NoArgsController
@AllArgsController
public class User{
    private String username;
    private String password;
    private String realname;
    private String sex;
    @DateTimeFormat(pattern="yyyy-MM-dd")//把前端传递的参数转为该格式
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    //把java对象转换为json对象时的时间格式变为指定的格式,pattern:json的时间格式  timezone:指定时区
    private Date birthday;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MVC(Model-View-Controller)是一种软件架构模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。 模型(Model):模型表示数据和业务逻辑。它与数据库交互,从数据库中检索和保存数据,执行验证和业务逻辑等操作。模型是应用程序的核心部分,包含了应用程序的业务逻辑。 视图(View):视图是用户界面,它负责呈现数据给用户并处理用户输入。视图通常由HTML、CSS和JavaScript编写,可以是Web页面、桌面应用程序或移动应用程序。 控制器(Controller):控制器负责将用户输入转发给模型或视图。它接收用户输入并调用模型进行操作,然后将结果呈现给视图。控制器还可以处理业务逻辑、验证数据等操作。 MVC架构模式的优点包括:分离关注点(Separation of Concerns)、可扩展性、可维护性、可测试性等。它可以使应用程序的代码更加模块化,提高开发效率和代码质量。 ### 回答2: MVC(Model-View-Controller)是一种软件架构模式,用于将应用程序的不同组成部分分离,并在这些组件之间建立交互。 MVC架构主要由三个组件组成: 1. 模型(Model):模型代表应用程序的数据和业务逻辑。它负责处理数据的读取、存储和更新,并提供数据的接口给其他组件使用。模型通常是应用程序的核心,它独立于用户界面和控制逻辑。 2. 视图(View):视图是用户界面的表现形式,用于显示模型的数据和状态。它负责展示用户所见的内容,并接收用户的输入。视图并不关心模型的具体实现,它只需要获取模型的数据,并将其显示给用户。 3. 控制器(Controller):控制器负责协调模型和视图之间的交互。它接收用户的输入,并根据输入更新模型的状态或调用相应的业务逻辑。控制器还可以更新视图,以反映模型的变化。控制器充当了模型和视图之间的中介者,确保它们之间的同步和一致性。 使用MVC架构的好处包括: 1. 分离关注点:MVC架构使开发人员可以分别关注数据处理、用户界面和业务逻辑。这样,不同的团队成员可以专注于不同的任务,提高开发效率。 2. 可维护性:由于模型、视图和控制器之间的松耦合,开发人员可以更容易修改或替换其中的一个组件,而不会影响到其他组件。 3. 可扩展性:MVC架构允许灵活地添加新的功能或模块,而不会对现有的代码造成重大影响。 4. 可测试性:每个组件都可以独立进行测试,这样可以更轻松地编写单元测试和集成测试,以确保应用程序的质量和稳定性。 总的来说,MVC架构提供了一种有组织、可维护和可扩展的方式来开发应用程序。通过将功能分离到不同的组件中,MVC架构使得代码更易于理解、修改和维护。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值