之前有稍微講過有關 Spring MVC
此篇概述入門,如果有錯誤歡迎留言
| @Controllel | 將此 Controller 註冊到 Spring MVC 內 |
| @RequestMapping | 指定處理哪些 URL 請求 |
| @RequestBody | 可讀取 Request 數據 |
| @ResponeseBody | 可返回 ResponeseBody 參數 |
| @ModelAttribute | 讀取模型化數據 |
| @RequestParam | 讀取請求參數的變數 |
| @PathVariable | |
| @ExceptionHandler | |
| @ControllerAdvice |
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
"key1=value1&key2=value2......"
中間分隔用 & 串接$.ajax({
type : "post",
url : "http://localhost:8080/MyProject/query",
data: "id=1969&name=John", // 資料是用 & 做串接
success : function(response) {
alert('Success');
},
error : function() {
alert('fail');
}
});
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@RequestMapping(value = "/query") // 對應的連結
@ResponseBody // 有回應
public String query(@RequestParam(value="id") Integer id,
@RequestParam(value="name") String name) {
// 上方欄位說明
// RequestParam 代表回應的參數
// value 代表對應的 Key
// 最後宣告參數型別
System.out.println("query");
System.out.println("" + id);
System.out.println("" + name);
return "searchUser";
}
}
int a = 70;
int b = 3;
System.out.println("int 兩數相除 : " + a/b);
long d = 70;
long e = 3;
System.out.println("long 兩數相除 : " + d/e);
float g = 70;
float h = 3;
System.out.println("float 兩數相除 : " + g/h);
System.out.println("int/float 兩數相除 : " + a/h);
System.out.println("float/int 兩數相除 : " + g/b);
-------------------------------------------------
int 兩數相除 : 23
long 兩數相除 : 23
float 兩數相除 : 23.333334
int/float 兩數相除 : 23.333334
float/int 兩數相除 : 23.333334
int a = 70;
int b = 3;
System.out.println("int 兩數相除後轉 float : " + (float)a/b);
------------------------------------------------------------
int 兩數相除後轉 float : 23.333334
int a = 70;
int b = 3;
// 官方網站 : https://docs.oracle.com/javase/7/docs/api/java/math/RoundingMode.html
double j = new BigDecimal((double)a/b).setScale(2, RoundingMode.HALF_UP).doubleValue();
System.out.println("BigDecimal 四捨五入後取小數第二位 : " + j);
DecimalFormat decimalFormat =new DecimalFormat("#.00");
System.out.println("將參數直接轉換格式 : " + decimalFormat.format(j));
---------------------------------------------------------------------
BigDecimal 四捨五入後取小數第二位 : 23.33 // 可轉二捨五入
將參數直接轉換格式 : 23.33
上方的 BitDecimal 官方文件 : 連結import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/HelloEveryone")
public class HelloEveryone extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 字串
String strData = "這是字串資料第一筆";
// List
List<String> listData = new ArrayList<String>();
listData.add("這是List第一筆數");
listData.add("這是List第二筆數");
listData.add("這是List第三筆數");
// Map
Map<String, String> mapData = new HashMap<String, String>();
mapData.put("First", "這是Map第一筆");
mapData.put("Second", "這是Map第二筆");
request.setAttribute("Date_1", strData);
request.setAttribute("Date_2", listData);
request.setAttribute("Date_3", mapData);
String uri = "/jsp/HelloEveryone.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(uri);
dispatcher.forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse respone)
throws ServletException, IOException {
super.doPost(request, respone);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!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>
</head>
<body>
<!-- 字串資料 -->
<c:out value="${requestScope.Date_1}"></c:out>
<br>
<br>
<!-- List 資料 items是對應的資料來源,var是來源內的參數 -->
<c:forEach items="${requestScope.Date_2}" var="listData_2">
<c:out value="${listData_2}"></c:out><br>
</c:forEach>
<br>
<br>
<!-- Map 資料 -->
<c:forEach items="${requestScope.Date_3}" var="mapData_3">
<c:out value="${mapData_3.key}"></c:out> : <c:out value="${mapData_3.value}"></c:out><br>
</c:forEach>
</body>
</html>