SpringMVC類型轉換

SpringMVC框架不僅提供了強大的類型轉換和格式化機制,而且開發者還可以方便的開發出自己的類型轉換器和格式化轉換器,完成字符串和各種數據類型之間的轉換。
String,double,int 都可以轉String
以下代碼爲開發者需要自己在servlet中盡心各類型轉換,並對其封裝成值對象。

input.jsp

input.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
       <%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<base href="<%=basePath%>">
</head>
<body>
 <form action="input" method="post">
     商品名稱:<input type="text" name="goodsname"/><br>
     商品價格:<input type="text" name="goodsprice"/><br>
     商品數量:<input type="text" name="goodsnumber"/><br>
     <input type="submit" value="提交"/>
    </form>
</body>
</html>

showgoods.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    您創建的商品信息如下:<br>
  <!-- 使用EL表達式取出model中goods的信息 -->
    商品名爲:${goods.goodsname }, 
    商品價格爲:${goods.goodsprice },
    商品數量爲:${goods.goodsnumber }。
</body>
</html>

控制類
GoodsCongtroller

@Controller
public class GoodsController {
 @RequestMapping("/input")
 public String add(GoodsModel gm,Model model) {
  double total = gm.getGoodsprice()*gm.getGoodsnumber();
  System.out.println(total);
  
  model.addAttribute("goods",gm);
return "showGoods";  
 }
}

頁面收集到的數據提交到addGoods的Servlet(AddGoodsServlet類),該Servlet將這些請求信息封裝成一個Goods類的值對象

public class GoodsModel {
 private String goodsname;
 private double goodsprice;
 private int goodsnumber;
 public String getGoodsname() {
  return goodsname;
 }
 public void setGoodsname(String goodsname) {
  this.goodsname = goodsname;
 }
 public double getGoodsprice() {
  return goodsprice;
 }
 public void setGoodsprice(double goodsprice) {
  this.goodsprice = goodsprice;
 }
 public int getGoodsnumber() {
  return goodsnumber;
 }
 public void setGoodsnumber(int goodsnumber) {
  this.goodsnumber = goodsnumber;
 }
}

對庫SpringMVC框架來說,他必須將請求參數轉換成值對象類裏個屬性對象的數據類型------這就是類型轉換的意義。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章