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})%>
还有很权多...