收集数据
1.用属性收集
实体类
public class User {
private Integer uid;
private String uname;
private String pass;
//构造方法,tostring方法,setget方法
}
控制器中
UserController
@Controller
public class UserController {
//删除的方法
@RequestMapping("/deleteUser")
public String deleteUser(int uid){//获取页面的uid,页面的名字和控制器中的名字要一样
System.out.println(uid);
befer();
UserMapper mapper=session.getMapper(UserMapper.class);
int i = mapper.deleteUser(uid);
System.out.println(i);
after();
return "redirect:/TestAll.action?pageNum=1&pageSize=3";
}
public void befer(){
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(getClass().getClassLoader().getResourceAsStream("mybatis-config.xml"));
session = factory.openSession();
}
public void after(){
session.commit();
session.close();
}
}
2.用对象收集
@RequestMapping("updateUser")
public String updateUser(User user){//传对象,页面上就直接对象里面的属性名 比如<input type="text" name="uname"/>
befer();
UserMapper mapper=session.getMapper(UserMapper.class);
int i = mapper.updateUser(user);
System.out.println(i);
after();
return "redirect:/TestAll.action";//重定向
}
将数据转发到页面
第一种方式 request的方式
@RequestMapping("TestUser")
public String TestUser(HttpServletRequest request){
User u=new User("小明","123456");
request.setAttribute("user",u);
return "index";
}
第二种方式 解耦合的方式
@RequestMapping("TestUser")
public String TestUser(Map map){
User u=new User("小明","123456");
map.put("user",u);
return "index";
}
页面上
<c:foreach items="${user}" var="u">
${u.uid}+${u.uname}+${u.password}
</c:foreach>
第三种方式 使用ModelAndView对象向页面响应数据
public ModelAndView show(){
//创建模型视图对象
ModelAndView model=new ModelAndView();
model.addObject("uname","tome");
//设置跳转的视图名称
model.setViewModel("success");
return model;
}
页面就直接获取uname
响应json数据给浏览器
第一种方式
导入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.61</version>
</dependency>
控制器中
@RequestMapping("testJson1")
public String testJson1(HttpServletResponse response){
List<User> list=new ArrayList<>();
list.add(new User("admin","123456"));
list.add(new User("admin1","123456"));
JSONObject object=new JSONObject();
object.put("rows",list);
System.out.println(object.toJSONString());
try {
response.setContentType("text/html;charset=utf-8");
response.getWriter().print(object.toJSONString());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
第二种springmvc的方式
导入依赖
<!-- jackson数据绑定 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
<!-- jackson转换json数据的核心 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
<!-- 注解 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.8</version>
</dependency>
控制器中
@ResponseBody
@RequestMapping("getJson1")
public Map<String,List> getJson1(){
Map<String,List> map=new HashMap<>();
List<User> list=new ArrayList<>();
list.add(new User("admin","123456"));
list.add(new User("admin1","123456"));
map.put("rows",list);
return map;
}