收集數據
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;
}