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框架來說,他必須將請求參數轉換成值對象類裏個屬性對象的數據類型------這就是類型轉換的意義。