@
pojo
新建實體類Product
package pojo;
public class Product {
private int id;
private String name;
private float price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
addProduct.jsp
在web目錄下 (不是在WEB-INF下)增加商品的頁面addProduct.jsp
注意:產品名稱input的name要使用name,而不是 product.name
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*" isELIgnored="false"%>
<form action="addProduct">
產品名稱 :<input type="text" name="name" value=""><br />
產品價格: <input type="text" name="price" value=""><br />
<input type="submit" value="增加商品">
</form>
ProductController
控制器ProductController,准備一個add方法映射/addProduct路徑
為add方法准備一個Product 參數,用於接收注入
最后跳轉到showProduct頁面顯示用戶提交的數據
注: addProduct.jsp 提交的name和price會自動注入到參數 product里
注: 參數product會默認被當做值加入到ModelAndView 中,相當於:
mav.addObject("product",product);
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import pojo.Product;
@Controller
public class ProductController {
@RequestMapping("/addProduct")
public ModelAndView add(Product product) throws Exception {
ModelAndView mav = new ModelAndView("showProduct");
return mav;
}
}
showProduct.jsp
在WEB-INF/page 目錄下創建 showProduct.jsp
用 EL 表達式顯示用戶提交的名稱和價格
測試結果


