1、MVC中有什麼辦法可以將數據傳遞到另一個頁面
如果需要從 ViewA 把數據傳遞到 PageB
那麼ViewA提交數據的時候 ,先到達Control.ActionA,然後再ActionA可以內把ModelA的數據提取出來。容
用viewData,viewBag之類的存儲方式,存儲數據,甚至賦值給ModelB,然後再轉給ViewB,
在ViewB中把ViewData取出來。
2、asp mvc中action跳到另一個action怎麼傳遞參數
在ASP.NET MVC框架的ControllerBase中存在一個叫做TempData的Property。
它的類型為TempDataDictionary,顧名思義是一個字典類。
TempData在ASP.NET MVC中的作回用是:可用於在Action執行答過程之間傳值。
簡單的說,可以在執行某個Action的時候,將數據存放在TempData中。
那麼在下一次Action執行過程中可以使用TempData中的數據。
如:
1 public ActionResult Index()
2 {
3 this.TempData["MyNane"] = "XiaoMing";
4 return View();
5 }
6 public ActionResult Index2()
7 {
8 string MyName=this.TempData["MyNane"] as string;
9 return View();
3、SpringMVC中分頁怎麼給傳入的一個參數賦個默認值
SpringMVC中分頁怎麼給傳入的一個參數賦個默認值
@ResponseBody @RequestMapping("/select") public PageBean list(@RequestParam(value="page", defaultValue="1") int pageNo, @RequestParam(value="rows", defaultValue="10") int pageSize , User user) { PageBean page=new PageBean(); in...
SpringMVC中分頁怎麼給傳入的一個參數賦個默認值
If more lines of text exist in the file, print another page. namespace DesignPattern.Create.Component { abstract class Component { protected string name; public Component(string name) { this.name = name; }
SpringMVC下使用如何在前台接收後台的特定...
我直接訪問後台的地址(帶兩個參數),得到的是:{"msgValue":"0","msgT...
表格?easyui有個datagrid控制項可以干這個事情 如果你從後台返回一個json對象,datagrid的url可以讀取這個地址返回的json對象,注意,它會自動讀取這個json對象第一層的rows屬性,你要把表格數據放到json對象的rows裡面... 或者ajax得到json對象...
SpringMVC中分頁怎麼給傳入的一個參數賦個默認值
If more lines of text exist in the file, print another page. namespace DesignPattern.Create.Component { abstract class Component { protected string name; public Component(string name) { this.name = name; }
4、struts1在mvc框架中,有哪些核心類與其對應
在MVC體系中,模型通常被稱為"業務邏輯",是真正完成任務的代碼,視圖就是使用界面,反映數據的變化。
在MVC中,表示層和邏輯層分離,各部分可相互獨立進行開發,便於開發和維護,提高了開發效率。Struts framework是一種基於java的技術,Web應用程序開發人員通過struts framework即可充分利用面向對象設計、代碼重用以及"編寫一次、到處運行"的優點。Struts提供了一種創建Web應用程序的框架,其中對應用程序的顯示、表示和數據的後端代碼進行了抽象。Struts採用jsp作為MVC的視圖,由ActionServlet具體指定的action動作類作為控制器即MVC中的C,負責視圖與模型之間的交互。控制器的每個入口點都由名為struts-config.xml的配置文件設置。該文件把來自視圖的請求映射為特定的JAVA類以進行相應的處理,控制器還指定下一個視圖的位置。
Struts中的模型主要指的就是javabean,它是模型的代表,主要封裝數據和業務邏輯。Struts的處理流程:
1. 控制器進行初始化工作,讀取配置文件,為不同的Struts模塊初始化相應的MolConfig對象。
2. 控制器接收Http請求,並從ActionConfig中找出對應於該請求的Action子類,如果沒有對應的Action,
3. 控制器直接將請求轉發給JSP或者靜態頁面,否則控制器將請求分發至具體的Action類進行處理。
4. l在控制器調用具體的Action的Execute方法之前,ActionForm對象將利用Http請求中的參數來填充自已。還可以在ActionForm類中調用Validate方法來檢查請求參數的合法性,並且可以返回一個包含所有錯誤信息的ActionErrors對象。
5. 執行具體的的Execute的方法,它負責執行相應的業務邏輯。執行完後,返回一個ActionForward對象,
6.?控制器通過該ActionForward對象來進行轉發工作。也可以把Action要處理的業務邏輯封裝在JavaBean中,
5、MVC中如何打開一個指定大小的頁面
public ContentResult ds()
{
string s = "<script>window.open('../top.htm');</script>";
return Content(s);
}
window.open() 方法
語法:window.open(pageurl,name,parameters);
window對象的open()方法用於創建一個新的窗口實例,新創建的窗口的外觀由參數:parameters指定。新窗口中打開的文檔由參數: pageurl指定。系統能夠根據參數:name確定的名稱訪問該窗口
下表為parameters參數表:
參數 衩始值 說明
alwaysLowered yes/no 指定窗口隱藏在所有窗口之下。
alwaysRaised yes/no 指定窗口浮在所有窗口之上。
dependent yes/no 指定打開的窗口為父窗口的一個了窗口。並隨父窗口的關閉而關閉。
directions yes/no 指定Navigator 2和3的目錄欄是否在新窗口中可見。
height pixel value 設定新窗口的像素高度。
hotkeys yes/no 在沒有菜單欄的新窗口設置安全退出熱鍵。
innerHeight pixel value 設置新窗口中文檔的像素高度。
innerWidth pixel value 設置新窗口中文檔的像素寬度。
location yes/ no 指明位置欄在新窗口中是否可見。
menubar yes /no 指明菜單欄在新窗口中是否可見。
outerHeight pixel value 設定窗口(包括裝飾邊框)的像素高度。
outerWidth pixel value 設定窗口(包括裝飾邊框)的像素寬度。
resizable yes /no 指明新窗口是否可以調整。
screenX pixel value 設定新窗口離屏幕邊界的像素長度。
screenY pixel value 設定新窗口離屏幕上邊界的像素長度。
scrollbars yes /no 指明滾動欄在新窗口中是否可見。
titlebar yes /no 指明菜單題目欄在新窗口是否可見。
toolbar yes /no 指明工具欄在新窗口中是否可見。
Width pixel value 設定窗口的像素寬度。
z-look yes /no 在文檔中包含各個 <pplet>標簽的數組。
fullscreen yes / no 打開的窗體是否進行全屏顯示
left pixel value 設定新窗口距屏幕左方的距離
top pixel value 設定新窗口距屏幕上方的距離
6、SPRING MVC架構 URL都被默認加了一級如:頁面寫的是a/a,變成了loginaction/a/a,導致找不到ACTION
1.URL路徑映射
1.1.對一個action配置多個URL映射:
我們把上一篇中的HelloWorldController的index() action方法的@RequestMapping更改為@RequestMapping(value={"/index", "/hello"}, method = {RequestMethod.GET}),這表示對該action配置了/index和/hello兩個映射。運行測試,如下:
可以看到/helloworld/hello請求也成功匹配。
1.2.URL請求參數映射:
這在查詢的時候經常用到,比如我們根據id或編號來獲取某一條記錄。
在HelloWorldController添加一個getDetail的action,代碼如下:
@RequestMapping(value="/detail/244307", method = {RequestMethod.GET})
public ModelAndView getDetail(@PathVariable(value="id") Integer id){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("id", id);
modelAndView.setViewName("detail");
return modelAndView;
}
其中value="/detail/244307",中的244307為佔位符表示可以映射請求為/detail/xxxx 的URL如:/detail/123等。
方法的參數@PathVariable(value="id") Integer id 用於將URL中佔位符所對應變數映射到參數id上,@PathVariable(value="id") 中value的值要和佔位符/244307大括弧中的值一致。
在views中添加detail.jsp視圖,用於將獲取到的id值展示出來。視圖內容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
$244307
</body>
</html>
運行測試,請求URL地址 http://localhost:8080/SpringMVCLesson/helloworld/detail/123 ,結果如下:
可以看到已經正確的顯示了我們請求的id。
1.3.URL通配符映射:
我們還可以通過通配符對URL映射進行配置,通配符有「?」和「*」兩個字元。其中「?」表示1個字元,「*」表示匹配多個字元,「**」表示匹配0個或多個路徑。
例如:
「/helloworld/index?」可以匹配「/helloworld/indexA」、「/helloworld/indexB」,但不能匹配「/helloworld/index」也不能匹配「/helloworld/indexAA」;
「/helloworld/index*」可以匹配「/helloworld/index」、「/helloworld/indexA」、「/helloworld/indexAA」但不能匹配「/helloworld/index/A」;
「/helloworld/index/*」可以匹配「/helloworld/index/」、「/helloworld/index/A」、「/helloworld/index/AA」、「/helloworld/index/AB」但不能匹配 「/helloworld/index」、「/helloworld/index/A/B」;
「/helloworld/index/**」可以匹配「/helloworld/index/」下的多有子路徑,比如:「/helloworld/index/A/B/C/D」;
如果現在有「/helloworld/index」和「/helloworld/*」,如果請求地址為「/helloworld/index」那麼將如何匹配?Spring MVC會按照最長匹配優先原則(即和映射配置中哪個匹配的最多)來匹配,所以會匹配「/helloworld/index」,下面來做測試:
在HelloWorldController添加一個urlTest的action,內容如下:
@RequestMapping(value="/*", method = {RequestMethod.GET})
public ModelAndView urlTest(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("urltest");
return modelAndView;
}
在views文件夾中新加一個視圖urltest.jsp,為了和index.jsp做區別urltest.jsp的內容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
urlTest!
</body>
</html>
請求http://localhost:8080/SpringMVCLesson/helloworld/index查看結果:
可以看出映射的是index對應的action。
請求http://localhost:8080/SpringMVCLesson/helloworld/AAA查看結果:
可以看出映射的是urlTest對應的action。
1.4.URL正則表達式映射:
Spring MVC還支持正則表達式方式的映射配置,我們通過一個測試來展示:
在HelloWorldController添加一個regUrlTest的action,內容如下:
@RequestMapping(value="/reg/{name:\\w+}-{age:\\d+}", method = {RequestMethod.GET})
public ModelAndView regUrlTest(@PathVariable(value="name") String name, @PathVariable(value="age") Integer age){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("name", name);
modelAndView.addObject("age", age);
modelAndView.setViewName("regurltest");
return modelAndView;
}
在views文件夾中新加一個視圖regurltest.jsp內容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
${name}-${age}
</body>
</html>
請求http://localhost:8080/SpringMVCLesson/helloworld/reg/Hanmeimei-18查看結果:
請求http://localhost:8080/SpringMVCLesson/helloworld/reg/Hanmeimei-Lilei查看結果(會發現找不到對應的action返回404):
2.限制action所接受的請求方式(get或post):
之前我們在HelloWorldController的index() action方法上配置的為@RequestMapping(value="/*", method = {RequestMethod.GET})我們把它改為@RequestMapping(value="/*", method = {RequestMethod.POST})再次請求http://localhost:8080/SpringMVCLesson/helloworld/index試一下:
這里可以看到結果映射到了urlTest這個action,這是因為我們在urlTest上配置的為@RequestMapping(value="/*", method = {RequestMethod.GET}),當index這個action映射不在符合時便映射到了urlTest。
我們也可以這樣配置@RequestMapping(value="/*", method = {RequestMethod.GET, RequestMethod.POST})表示該action可以接受get或post請求,不過更簡單的是不對method做配置則默認支持所有請求方式。
3.限制action所接受請求的參數:
我們可以為某個action指定映射的請求中必須包含某參數,或必須不包含某參數,或者某參數必須等於某個值,或者某參數必須不等於某個值這些限制。
3.1.指定映射請求必須包含某參數:
在HelloWorldController添加一個paramsTest的action,內容如下:
@RequestMapping(value="/paramstest", params="example", method = {RequestMethod.GET})
public ModelAndView paramsTest(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("paramstest");
return modelAndView;
}
在views文件夾中新加一個視圖paramstest.jsp內容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
paramstest!
</body>
</html>
請求http://localhost:8080/SpringMVCLesson/helloworld/paramstest查看結果:
這里可以看到沒有找到paramsTest這個action結果還是映射到了urlTest這個action。
7、在MVC設計模式中,Model1與Model2之間的關系?
Model 1
Model 1的基礎是JSP文件,它由一些相互獨立的JSP文件,和其他一些Java Class組成(不是必須的)。這回些JSP從HTTP Request中獲答得所需要的數據,處理業務邏輯,然後將結果通過Response返回前端瀏覽器。
Model 2
採用面向對象技術實現MVC模式從而擴展JSP/Servlet的模式被成為是Model 2模式。Apache Jakarta項目中Struts是一個實現Model 2的很好的框架,它通過一些Custom Tag Lib處理表現層,用ActionFrom Bean表示數據,用自己提供的一個ActionServlet作為控制器實現頁面的流轉的控制功能。
說的直白一些,model1即為單純的jsp+java,沒有框架參與,通過response和request對象傳送值域,而model2,則使用較為流行的struts框架
8、SpringMVC 今天剛剛接觸傳參 只想問一個問題 超鏈接怎麼傳值(超鏈接怎麼把id=1傳到controller )
參數中來的id和mapping中的244307對應源,超鏈接中的1001和244307 "位置對應"
eq:
頁面端:
Controller:
9、Java框架的意思? 請大家一定幫我解答 200分! 1.MVC是框架? 2.SSH也是框架?
java框架就是一些類和介面的集合,通過這些類和介面協調來完成一系列的程序實專現。JAVA框架可以分屬為三層:表示層,業務層和物理層。框架又叫做開發中的半成品,它不能提供整個WEB應用程序的所有東西,但是有了框架,我們就可以集中精力進行業務邏輯的開發而不用去關心它的技術實現以及一些輔助的業務邏輯。大家熟知的Structs和Spring就是表示層和業務層框架的強力代表。
所以:
MVC是一種軟體開發模式(即表示層,業務層和物理層);
SSH也是框架,有spring、Struts和hibernate組成;
邏輯業務層、資料庫訪問層DAL和視圖顯示層,是MVC開發模式的不同組成部分。
10、mvc中怎麼帶參數跳轉頁面啊 帶了一個id參數
有很多方法:
1.控制器中跳轉:
return RedirectToAction("Testing_view", new { papeid = papelis.Test_paper_id, name = names, idcards = idcard, question_sums = papelis.mutil_questions_sum, limit_time = papelis.Test_paper_spend_time });
2.頁面跳轉:
<%:Html.ActionLink("詳細版", "Test_query_view",new {papeid=item.Test_paper_id,name=item.resume_info.Person_name,idcard=item.resume_info.Person_idcard,used_time=item.used_time})%>
還有很權多...