springmvc返回值、資料寫到頁面、表單提交、ajax、重定向
轉發的方法,轉發到form.jsp實驗是在前一篇文章的專案上做的;
資料寫到頁面
後臺往前臺傳資料
TestController新增頁面接收:index.jsp/** * 方法的返回值採用ModelAndView, new ModelAndView("index", map);, * 相當於把結果資料放到request裡面 * @return * @throws Exception */ @RequestMapping("/toPerson4.do") public ModelAndView toPerson4() throws Exception{ Person person = new Person(); person.setName("jerome"); person.setAge(22); person.setAddress("nanan"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = format.parse("2012-12-21"); person.setBirthday(date); Map<String,Object> map = new HashMap<String, Object>(); map.put("p", person); return new ModelAndView("jsp/index",map); }
<body>
<h5>${p.name }</h5>
<h5>${p.age }</h5>
<h5>${p.address }</h5>
<h5><fmt:formatDate value="${p.birthday }" pattern="yyyy-MM-dd"/></h5>
</body>
在jsp引入fmt標籤庫* 文章包含被禁用的url,無法儲存和釋出。 太坑了,這個連結也遮蔽~ 重啟tomcat訪問:http://localhost:8080/springmvc-2/test/toPerson4.do
輸出資訊正確;
另外一種方式:
重啟tomcat訪問:/** * 直接在方法的引數列表中來定義Map,這個Map即使ModelAndView裡面的Map * 由檢視解析器統一處理,統一走ModelAndView的介面 * 也不建議使用 * @param map * @return * @throws Exception */ @RequestMapping("/toPerson5.do") public String toPerson5(Map<String,Object> map) throws Exception{ Person person = new Person(); person.setName("jerome"); person.setAge(22); person.setAddress("nanan"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = format.parse("2012-12-21"); person.setBirthday(date); map.put("p", person); return "jsp/index"; }
http://localhost:8080/springmvc-2/test/toPerson5.do
輸出正確;
建議使用方式:
/**
*在引數列表中直接定義Model,model.addAttribute("p", person);
*把引數值放到request類裡面去,建議使用
* @param map
* @return
* @throws Exception
*/
@RequestMapping("/toPerson6.do")
public String toPerson6(Model model) throws Exception {
Person person = new Person();
person.setName("jerome");
person.setAge(22);
person.setAddress("nanan");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse("2012-12-21");
person.setBirthday(date);
//把引數值放到request類裡面去
model.addAttribute("p", person);
return "jsp/index";
}
重啟tomcat訪問:
http://localhost:8080/springmvc-2/test/toPerson6.do
輸出正確資料;
不需要頁面跳轉:ajax
後臺方法:在TestController加
/**
* ajax的請求返回值型別應該是void,引數列表裡直接定義HttpServletResponse,
* 獲得ProntWriter的類,最後可把結果寫到頁面
* 不建議使用
* @param name
* @param response
*/
@RequestMapping("/ajax.do")
public void ajax(String name, HttpServletResponse response) {
String result = "hello " + name;
try {
response.getWriter().write(result);
} catch (IOException e) {
e.printStackTrace();
}
}
前臺呼叫 新建ajax.jsp<input id="myButton" type="button" value="click">
Webroot新建js資料夾將jquery拷貝進來;
引進來jquery 和寫js指令碼:
<script type="text/javascript" src="js/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(function(){
$("#myButton").click(function(){
$.ajax({
url:"test/ajax1.do",
type:"post",
dataType:"text",
data:{
name:"zhangsan"
},
success:function(responseText){
alert(responseText);
},
error:function(){
alert("system error");
}
});
});
});
</script>
後臺寫一個轉發:
@RequestMapping("/toAjax.do")
public String toAjax() {
return "jsp/ajax";
}
重啟tomcat 訪問
http://localhost:8080/springmvc-2/test/toAjax.do
Click,彈出hello zhangsan,成功;
以上方法不建議使用,建議使用:
/**
* 直接在引數的列表上定義PrintWriter,out.wrote(result);
* 把結果寫到頁面,建議使用
* @param name
* @param out
*/
@RequestMapping("/ajax1.do")
public void ajax1(String name, PrintWriter out) {
String result="hello1 "+name;
out.write(result);
}
修改ajax.jap頁面的,js指令碼,跳轉的url是url:"test/ajax1.do",
重啟tomcat 訪問
http://localhost:8080/springmvc-2/test/toAjax.do
Click
彈出hello1 zhangsan;
表單:
拷貝一份index,起名form.jsp <body>
<form action="test/toPerson7.do" method="post">
name:<input name="name" type="text"><br/>
age:<input name="age" type="text"><br/>
address:<input name="address" type="text"><br/>
birthday:<input name="birthday" type="text"><br/>
<input type="submit"><br/>
</form>
TestController @RequestMapping("/toPerson7.do")
public String toPerson7(Person person) {
System.out.println(person);
return "jsp/index";
}
轉發的方法,轉發到form.jsp @RequestMapping("/toForm.do")
public String toForm() {
return "jsp/form";
}
重啟tomcat 訪問:http://localhost:8080/springmvc-2/test/toForm.do
提交跳轉到
http://localhost:8080/springmvc-2/test/toPerson7.do
控制檯輸出
Person [name=aa, address=asdf, birthday=Tue Jun 03 00:00:00 CST 2014, age=22]
請求方式的指定:
後臺可以指定提交方法,如果前臺不是用的同一種提交方式 將報錯; /**
* @RequestMapping(value="/toPerson7.do",method=RequestMethod.POST)
* 可以指定請求方式,前臺就必須要以它制定好的方式來訪問,不然會出現405錯誤
* @param person
* @return
*/
@RequestMapping(value="/toPerson7.do",method=RequestMethod.POST)
public String toPerson7(Person person) {
System.out.println(person);
return "jsp/index";
}
Form.jap的method修改為get和post測試;重定向:
同一個 controller
/**
* 重定向:controller內部重定向,redirect:加上同一個controller中
* 的requesMapping的值
* @return
*/
@RequestMapping("/redirectToForm.do")
public String redirectToForm() {
return "redirect:toForm.do";
}
重啟tomcat 訪問:http://localhost:8080/springmvc-2/test/redirectToForm.do
重定向到
http://localhost:8080/springmvc-2/test/toForm.do
Controller之間的重定向:
拷貝一份TestController改成TestController1留這個
@Controller
//用來標註當前類是springmvc的控制層的類
@RequestMapping("/test1")
//controller的唯一標識或者名稱空間
public class TestController1 {
@RequestMapping("/toForm.do")
public String toForm() {
return "jsp/form";
}
}
TestController 新增 /**
* controller之間的重定向:必須要指定好controller的名稱空間再
* 指定requestMapping的值,redirect:後必須要加/,是從根目錄開始,
* 否則就從當天test找了
* @return
*/
@RequestMapping("/redirectToForm1.do")
public String redirectToForm1() {
return "redirect:/test1/toForm.do";
}
重啟tomcat 訪問
重定向到
http://localhost:8080/springmvc-2/test/toForm.do
專案下載:http://pan.baidu.com/s/1pJwix2V這篇文章寫得不錯可以看看:http://elf8848.iteye.com/blog/875830/
相關推薦
提交form表單---修改密碼 ajax、jQuery
改密 func 表單 eset password servlet 驗證 確認密碼 密碼 <form id ="password" method="post"> <table > <tr> <td>原密碼:<
表單提交Post方法、Get方法背後的祕密
表單用來接受使用者的輸入,並將使用者的輸入以“name=value值對”集合的形式提交到伺服器進行處理。那麼表單是怎樣將資料提交到伺服器的?伺服器是怎樣對錶單資料進行處理的?下面我將為大家揭開表單提交背後的祕密 表單用<form></form> 標記定義,表單
表單提交方式get、post
表單的標籤: get用於查詢,post用於提交。 get方法: login頁面: <form>標籤是表單,<table>標籤是表格。裡面紅色部分,如type,name等,是屬性。 還需要新建一個 dologin.jsp 作為login頁面的
表單提交Post方法、Get方法
表單大家都很熟悉,上網的時候經常會遇到表單 表單用來接受使用者的輸入,並將使用者的輸入以“name=value值對”集合的形式提交到伺服器進行處理。那麼表單是怎樣將資料提交到伺服器的?伺服器是怎樣對錶單資料進行處理的?下面我將為大家揭開表單提交背
Action如何接收jsp頁面form表單提交的資料?
struts2中的Action接收表單傳遞過來的引數有3種方法: 如,登陸表單login.jsp: <form action="login" method="post" name="form1"> 使用者名稱:<s:textfield name="us
jsp頁面from表單提交到資料庫亂碼問題
1.jsp頁面設定 ①jsp頁面頂部: 裡面的pageEncoding設為utf-8. 2.連線資料庫設定 ② ?useUnicode=true&characterEncoding=utf-8 這句不要忘了加,很可能就是這個地方導致
JAVA Web頁面F5重新整理重複提交form表單問題(後端Servlet重定向)
寫在前面:學習JAVA WEB,在提交新增表單後F5,form表單會不停的提交,困擾了我很久,也試過網上很多方法,可能是我使用方法不對,一直不成功。 其中程式碼為: int result = sf.add(stuno, pwd, stun
springmvc返回值、資料寫到頁面、表單提交、ajax、重定向
轉發的方法,轉發到form.jsp實驗是在前一篇文章的專案上做的;資料寫到頁面後臺往前臺傳資料TestController新增 /** * 方法的返回值採用ModelAndView, new Mod
SpringMVC的學習(五)——SpringMVC返回值、SpringMVC實現檔案上傳
一、SpringMVC返回值 ①json資料 訪問控制器返回Json型別資料 匯入對應的JSON包 支援: jackson : jackson-databind/jackson-annotations/jack-core gson: gson 注意: jack
jsp form表單提交獲取返回資料(也可用來上傳檔案、圖片)
function fileImport() { var form = $("#表單id"); var options = { url:"表單提交地址", type:'post
Vue.js實現雙向資料繫結(表單自動賦值、表單自動取值)
1、使用Vue.js實現雙向表單資料繫結,例子 <!--html程式碼--> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta
springmvc + freemarker 解決表單提交、頁面顯示亂碼 的問題
其實,網上有很多的解決亂碼的,不過都只能在某些地方起作用,比如給spring增加一個編碼過濾器,能夠解決表單提交(所有以post方式提交的)的亂碼問題,比如給tomcat設定預設的url編碼,能夠解決get請求的亂碼問題,現在我將這兩者結合起來,能夠完美解決所有亂碼問題(至
大型分布式項目項目實戰Springmvc+Spring+Mybatis+Maven+CMS+Redis+Solr+Linux+Nginx+單點登錄、分布式緩存、負載均衡視頻課程
edi mina img solr 技術 性能提升 登錄 rom nginx * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架構師、集群、高可用、高可擴 展、高性能、高
SpringMVC (八)SpringMVC返回值類型之返回Void
控制器 idea click www. bject ucc lang sca gpo SpringMVC的返回值類型有MedelAndView,String,void,Object數值型,集合類型等等 前兩種我們之前寫案例的時候一直在用,現在看一下返回值是void的 返回值
通過form的action屬性提交表單並接收處理返回值的方法(頁面不跳轉)
通過form的action屬性提交表單,這個很容易。但是,由於這種方式是同步提交,所以會導致頁面跳轉,且不好拿到返回值。一般都用ajax代替。 有些情況ajax是不能使用的,嚴格的說是不好使用的。例如檔案上傳功能。 <input type = "file"> 通過fo
JAVA程式設計122——SpringMVC返回值型別控制/跳轉方式/JSON響應
一、目錄結構 二、SpringMVC返回值型別控制/跳轉方式/JSON響應 1.建立UserController.java package com.mollen.controller; import com.mollen.bean.User; import
Ajax(form表單檔案上傳、請求頭之contentType、Ajax傳遞json資料)
form表單檔案上傳 上菜 file_put.html <form action="" method="post" enctype="multipart/form-data"> {# 這裡必須要請求頭格式才能把上傳檔案的物件傳過去 enctype="multipart/form-
cpp指標 引用做返回值的資料研究附圖
#pragma once struct DATA { int num; char name[20]; float chinese; DATA():num(1001),name(" "),chinese(100) { } DATA(int num1,char* name1,float chi
使用form表單提交登陸資料,控制器返回另一個頁面
使用form表單提交登陸資料,在form的action中填寫資料提交的控制器路徑, 如:action="${pageContext.request.contextPath}/LoginController/login.do"; 在控制器中返回新介面的重定向地址,如,在LoginControl
微信小程式學習筆記(三)表單提交、PHP後臺資料互動
【form表單提交】 form.wxml: <form bindsubmit="formSubmit" bindreset="formReset"> <view> 暱稱:<input type="text" name="nic