springMVC后台的值无法通过ModelAndView的addObject传到前台

我将studentList放入request作用域中jsp可以访问,为什么通过ModelAndView的addObject方法放入后,前台就无法访问。

后台方法:
@RequestMapping("/studentList")
public ModelAndView studentList(HttpServletRequest request) throws Exception{
ModelAndView mav = new ModelAndView("studentList");
// List studentList = iStudentService.queryAllStudent();
// System.out.println(studentList.size());
// request.setAttribute("studentList", studentList);
mav.addObject("studentList", iStudentService.queryAllStudent());
mav.addObject("xx", "xx");
// mav.addObject("studentList",studentList);
return mav;
}
前台代码

${xx}












/c:forEach
id name birthday creatTime
${student.id} ${student.name} ${student.birthday} ${student.createTime}

1个回答

按照标准用法的话应该是没问题
内部其实把model 通过request.setAttribute(modelName, modelValue); 放入的
[code="java"] protected void exposeModelAsRequestAttributes(Map model, HttpServletRequest request) throws Exception {
for (Map.Entry entry : model.entrySet()) {
String modelName = entry.getKey();
Object modelValue = entry.getValue();
if (modelValue != null) {
request.setAttribute(modelName, modelValue);
if (logger.isDebugEnabled()) {
logger.debug("Added model object '" + modelName + "' of type [" + modelValue.getClass().getName() +
"] to request in view with name '" + getBeanName() + "'");
}
}
else {
request.removeAttribute(modelName);
if (logger.isDebugEnabled()) {
logger.debug("Removed model object '" + modelName +
"' from request in view with name '" + getBeanName() + "'");
}
}
}
}[/code]

一个可能是你实现了HandlerInterceptor并实现了:
void postHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object o, org.springframework.web.servlet.ModelAndView modelAndView) throws java.lang.Exception;

在此处修改了modelAndView

如果方便可以贴全代码,或者把代码站内信我

weixin_42502696
cpf2333 thanks....
7 年多之前 回复
jinnianshilongnian
jinnianshilongnian import org.springframework.web.portlet.ModelAndView; 倒错包了。。 是servlet
7 年多之前 回复
jinnianshilongnian
jinnianshilongnian 我本机测试没问题,你看看是不是jar包问题 我把jar包发你了
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何在前端页面使用js解析后台传过来的ModelAndView数据?

我使用springMVC 开发 然后controller处理返回ModelAndView类型的数据,前端如何使用js来解析?

SpringMvc ModelAndView传值失败,该怎么解决

``` @RequestMapping("/goodsTable") public ModelAndView goodsTable() { ModelAndView m=new ModelAndView("redirect:/goods_table.jsp"); List<Goods> list=new GoodsDao().findGoods(); for(Goods s:list) { System.out.println(s.getGoods_id()+s.getGoods_name()+s.getImg()+s.getIntro()+s.getPrice()); } m.addObject("goods_list", list); return m; } ``` 得到了 12123.png1 2电脑123.pngnull5999 3平板456.pngnull3999 4游戏机678.pngnull1999 5电视机336.png2599 说明传入的时候不是空的 添加了<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 并且导包了 ``` <c:forEach items="${goods_list}" var="s"> 55555<c:out value="${s.goods_id}"></c:out> </c:forEach> ``` 传出的时候什么都没输出,说明这儿的goods_list是空的,这是怎么回事

html页面如何获取ModelAndView里返回的数据

我想做点击一个按钮 跳转页面 并且携带数据可以在js里可以获取 页面是html的 用modelandView可以跳转页面 请问怎么可以获取携带的数据, 写的代码格式是什么样的 ``` public ModelAndView sjDesigner() { ModelAndView modelAndView = new ModelAndView(); ArrayList<SjDesigner> list = new ArrayList<>(); SjDesigner sjDesigner = new SjDesigner(); sjDesigner.setId(3); sjDesigner.setProductCode("123dd"); sjDesigner.setDesignerName("小米"); list.add(sjDesigner); modelAndView.addObject("list", list); modelAndView.setViewName(_HTML_SJ_DESIGNER_); return modelAndView; } ``` 请问怎么在html的 JS 中获取modelAndView里的 "list"

SpringMVC 进入页面Ajax自动提交,但是为什么modelAndView返回该页的时候,在页面取不到后台的值呢?

# 前台Ajax ``` <script type="text/javascript"> $(function(){ alert("查询信息"); var para ={userName:'lxw'}; var url = root + "/lxwempAjax/lxwOptionalStock"; $.ajax({ type:"POST", url:url, data:para, datatype:'json', success:function(result){ alert('提交成功'+para.userName); }, error:function(result){ alert('提交失败'+para.userName); } }); alert("执行完成"); }) </script> ``` <label>${resquestScope.res[0].StockName }44444444</label> ``` ``` # 后台: ``` @RequestMapping(value="/lxwOptionalStock") public ModelAndView getOptionalStock(Page page){ ModelAndView mv=new ModelAndView(); PageData pd = new PageData(); List<PageData> res = new ArrayList<PageData>(); boolean result = false; try { pd=this.getPageData(); System.out.println(pd.toString()+"c"); res = this.lxwstockexchangefacade.selectOptionalStock(pd); result = true; } catch (Exception e) { // TODO: handle exception logger.error(e); e.printStackTrace(); } mv.addObject("res", res); System.out.println(res.toString()); mv.addObject("result", result); mv.setViewName("lxw/personCenter"); return mv; } ``` <label>${res[0].StockName }44444444</label>页面里面只有4444 困扰了好长时间了,求解!! 新更: .. ``` <label>${res[0].StockName }</label> ${requestScope.name } ${result } <div class="Top_div"> <a class="top_a1" >个人中心</a> <a class="top_a2" href="../lxl/login">退出</a> </div> ``` 就是这样 在F12浏览器调试那里 respon里面可以值出来,但是就是没法在页面显示

spring mvc为何不推荐使用addObject方法?

我用的spring mvc开发的值钱项目使用的ModelAndView的方式返回的参数,和映射地址! 现在开发使用了spring 2.5用上了批注!返回值的传递用ModelMap。 为何原来的ModelAndView 支持addObject,但是ModelMap的这个方法就花了个横杠? 我知道是过期的意思,但是我想知道处于何目的! (以后要是遇到同样问题如何去找,答案,希望深入了解下!) [b]问题补充:[/b] 确实有,希望有人能解答一下!

ModelAndView mv = new ModelAndView是什么意思

@RequestMapping("/index") public ModelAndView index() { ModelAndView mv = new ModelAndView(); mv.setViewName("user/index2"); return mv; }

请问spring MVC 的ModelAndView的数据是在session还是request里面?

如题 请问spring MVC 的ModelAndView的数据是在session还是request里面?

初学SpringMVC,请教一个问题

有两张表,一张分类表和一张商品表,商品表关联分类表 然后添加商品的时候需要在数据库中获得分类信息,为什么我这样写获取不到,请问该怎样写, 后台打印分类信息可以获取 ``` @RequestMapping(value = "/getAllBook") public ModelAndView getAllBook(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("Books",bookService.getAllBook()); modelAndView.addObject("Categorys",categoryService.getAll()); modelAndView.setViewName("book_list"); modelAndView.setViewName("add_book"); return modelAndView; } ``` add_book.jsp ``` <select name="categoryId" class="col-sm-2 form-control" style="width: auto"> <!-- 此处数据需要从数据库中读取 --> <c:forEach items="${Categorys}" var="cate"> <option id="${cate.id}" value="${cate.id}">${cate.name}</option> </c:forEach> </select> ```

ModelAndView的疑问

初学springmvc,关于modelAndView看到别人写的东西有疑问特来请教 ModelAndView 方法: addObject(Object modelObject) addObject(String modelName, Object modelObject) addAllObjects(Map modelMap) ModelAndView mav = new ModelAndView("hello");//实例化一个VIew的ModelAndView实例 mav.addObject("message", "Hello World!"); --------------addObject里面添加的不是对象的吗?为什么看到别人都是这么写的mav.addObject("message", "Hello World!");这添加的不是字符串吗?为什么没问题呢?不懂 ,求解?

springmvc查询,同一页面显示查询结果

查询页面,刚开始显示所有记录,点击查询然后同一页面显示查询结果,已经查询到结果但是不显示在页面 刚开始页面uploadWithPage ![图片说明](https://img-ask.csdn.net/upload/201510/21/1445421803_31266.png) 点击查询后 ![图片说明](https://img-ask.csdn.net/upload/201510/21/1445421833_121217.png) 查询代码: ``` @RequestMapping(value="/searchByFileName",method=RequestMethod.GET) public ModelAndView searchByFilename(@RequestParam String filename) { ModelAndView modelAndView=new ModelAndView("user/uploadWithPage"); Page<Upload> upload=uploadService.findUploadByFileName(filename,0,10); List<Upload> u = upload.getContent(); modelAndView.addObject("upload",u); return modelAndView; } ```

spring mvc使用逻辑路径跳转jsp不成功?

今天在学习spring mvc的路径路径的时候,遇到这样一个问题,如果写真实路径是跳转成功的,但是换成逻辑路径则跳转不成功。 运行的结果是构造方法能运行,并且能打印到"app03",好像就是 modelAndView.setViewName("success");这一块出问题,但是没找出来哪里有问题。 我的Action代码和xml配置文件如下: ``` public class HelloAction2 implements Controller { public HelloAction2() { System.out.println("HelloAction03:" + hashCode()); } /* * .业务方法 */ @Override public ModelAndView handleRequest( HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("HelloAction03:::::handleRequest::app03"); /* * ModelAndView对象表示向视图封装的数据和路径。 * */ ModelAndView modelAndView = new ModelAndView(); // 保存到request对象中,并设置键和值。 modelAndView.addObject("message","这是我的第二个spring mvc程序"); System.out.println("app03"); // "/":根目录。 // 原来封装视图的真实路径 // modelAndView.setViewName("/jsp/success.jsp"); // 现在封装视图的逻辑路径 modelAndView.setViewName("success"); return modelAndView; } } spring.xml: <bean name="/hello2.action" class="cn.itcast.javaee.springmvc.app03.HelloAction2"> </bean> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/" /> <property name="suffix" value=".jsp" /> </bean> ```

SpringMVC 能用表单提交查询条件 可以获得返回的值 并显示 ,但是用Ajax就不行了 ,为什么??

1. SpringMVC 能用表单提交查询条件 可以获得返回的值 并显示 ,但是用Ajax就不行了 ,为什么?? ``` # 后台 @ResponseBody @RequestMapping(value = "/getstockprice") public ModelAndView selectStockPriceByID() { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); boolean result = false; double stockPrice = 0; try { pd = this.getPageData(); String stockNum = (String) pd.get("stockNum"); stockPrice = (double) this.lxwstockexchangefacade.selectStockPriceByID(stockNum).get("StockPrice"); result=true; } catch (Exception e) { logger.error(e); e.printStackTrace(); } mv.addObject("result", result); mv.addObject("stockPrice", stockPrice); mv.setViewName("lxw/ExchangeDistrict"); return mv; } # Ajax <script type="text/javascript"> $(function(){ alert("查询信息"); var para ={userName:'lxl',stockNum:'000725'}; var url = root + "/lxwempAjax/lxwOptionalStock"; $.ajax({ type:"POST", url:url, data:para, datatype:'json', success:function(result){ alert('提交成功'+para.stockNum+para.userName); }, error:function(result){ alert('提交失败'+para.stockNum+para.userName); } }); alert('${res.get(0).get("StockName")}'); alert("执行完成"); }) </script> # ```表单 ![图片说明](https://img-ask.csdn.net/upload/201905/10/1557420188_781229.png) ```

SpringMVC + Thymeleaf 如何实现让页面公共部分的数据都加载,减少冗余,不是局部刷新

比如,网站后台,有很多公共的部分,页首,页尾,侧边栏 这些每个页面都有。 而这很多数据,比如网站名称,侧边栏列表,这些都是从数据库里取出的,像下面这样传到到前台。 ``` @ModelAttribute public ModelAndView index() { ModelAndView modelAndView = new ModelAndView("admin/index"); List<Menu> list = new ArrayList<>(); list.add(new Menu("fa fa-dashboard", "仪表盘", contextPath+"/dashboard")); list.add(new Menu("fa fa-pencil", "帖子管理", contextPath+"/posts")); list.add(new Menu("fa fa-book", "分类管理", contextPath+"/categories")); list.add(new Menu("fa fa-comment", "回复管理", contextPath+"/replies")); list.add(new Menu("fa fa-users", "用户管理", contextPath+"/users")); modelAndView.addObject("menuList", list); return modelAndView; } ``` 现在的困惑是,如果让每个页面都能显示上面的数据 每个页面都要在对应的方法里都要写上上面这一段代码,将网站信息装到 Model 里吗? 有什么办法,能减少代码冗余吗? 我这里有几种备选方法,以前用过,感觉很 low,不知道正常的解决办法是什么。 1、使用 @ModelAttribute 注解,在所有方法前都加载该该方法 ``` /** * 公共加载部分 * @param model */ @ModelAttribute public void loadCommon(Model model) { List<Menu> list = new ArrayList<>(); list.add(new Menu("fa fa-dashboard", "仪表盘", contextPath+"/dashboard")); list.add(new Menu("fa fa-pencil", "帖子管理", contextPath+"/posts")); list.add(new Menu("fa fa-book", "分类管理", contextPath+"/categories")); list.add(new Menu("fa fa-comment", "回复管理", contextPath+"/replies")); list.add(new Menu("fa fa-users", "用户管理", contextPath+"/users")); model.addAttribute("menuList", list); } /** * 获取后台管理主页面 * * @return */ @GetMapping public String index() { return "admin/index"; } ``` 感觉上面的方法还是很冗余,每个控制器里都要写,每个方法加载都执行,很不好。 2、在过滤器或者拦截器里将网站数据加载进去 跟上面效果差不多,每个方法都要执行 3、ajax 加载内容部分,共有部分不变 这个方法挺好的,但是我我还是希望页面刷新比较好 这里求 SpringMVC 如何将共有的数据加载到前台,减少冗余 补充: 这里再提两个问题 1、如何是网站前台呢?也使用 iframe 吗,不可能吧? 2、比如网站名称,网站关键字,网站描述,网站备案号,网站等待信息,这种键值对的,数据表怎么设计呢?

springmvc 参数传递问题

输入查询条件查询能够显示第一页查询结果,但是点击翻页出错, Required String parameter 'filename' is not present 参数无法获取,不知什么原因,求大神 jsp页面代码 ``` <script language="javascript" type="text/javascript" src="<%=request.getContextPath() %>/My97DatePicker/WdatePicker.js"></script> <% HttpSession s = request.getSession(); %> <%String s1=s.getAttribute("pagenum").toString(); String s2=s.getAttribute("pagesize").toString(); String s3=s.getAttribute("pagenow").toString(); String s4=s.getAttribute("num").toString(); int pagenum=Integer.parseInt(s1); int pagesize=Integer.parseInt(s2); int pagenow=Integer.parseInt(s3); int pagenow2=Integer.parseInt(s3)+1; int listnum=Integer.parseInt(s4); int liststep=5;//显示页码数 if (pagenum < pagenow) { pagenow = pagenum;//如果分页变量大总页数,则将分页变量设计为总页数 } if (pagenow <=0) { pagenow = 1;//如果分页变量小于1,则将分页变量设为1 } else if (pagenow >0) { pagenow = pagenow+1;//如果分页变量小于1,则将分页变量设为1 } int listbegin = (pagenow - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息 if (listbegin < 1) { //当前页-(总显示的页列表数/2) listbegin = 1; } int listend = (pagenow + liststep / 2)-1;//分页信息显示到第几页//当前页+(总显示的页列表数/2) if (listend > pagenum) { listend = pagenum + 1; } if(listnum<=10) { listend=1;} if(listend-listbegin+1>pagenum) { listend=pagenum;} if(listend>pagenum) { listend=pagenum;} %> <h4 align="center">上传任务管理</h4> ${pageaction} <form action="upload/searchByFileName2/<%=0 %>" method="post"> <table border="1" cellspacing="0" align="center"> <tr> <td colspan="2" align="center">查询</td> </tr> <tr> <td width="450px" align="center">文件名称:<input type="text" name="filename" value=${filename} ></td> <td width="450px" align="center"> 文件类型:<select name="filetype" > <option value="txt">txt</option> <option value="jpg">jpg</option> </select> </td> </tr> <tr> <td align="center" > 上传时间从:<input name="start" type="text" style="width: 180px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})"> </td> <td align="center"> 至:<input name="stop" type="text" style="width:180px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" /> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="查询" style="width:150px;height: 25px" />&nbsp;&nbsp; <input type="reset" value="重置" style="width:150px;height: 25px" > </td> </tr> </table> <font color="red"> ${errormessage}</font> <br> <table border="1px" cellpadding="0" cellspacing="0" align="center"> <tr> <th ><input type="checkbox" name="all" value="ds"/></th> <th >id</th> <th >文件名</th> <th >文件大小</th> <th >文件类型</th> <th >上传时间</th> <th >文件描述</th> <th >执行时间</th> <th >运行结果</th> <th >操作</th> </tr> <c:forEach var="upload" items="${upload}"> <tr> <td width="45px"><input type="checkbox" value="${upload.id}" name="single"/></td> <td width="45px">${upload.id}</td> <td width="235px">${upload.filename}</td> <td>${upload.filesize}</td> <td>${upload.filetype}</td> <td>${upload.uploaddate}</td> <td>${upload.des}</td> <td>${upload.runtime}</td> <td>${upload.result}</td> <td> <a href="">编辑</a> <a href="">删除</a><br /> </td> </tr> </c:forEach> <tr> <td align="right" colspan="10"> 当前第:<%=pagenow%>页/共<%=pagenum %>页 显示<%=pagesize %>条/共<%=listnum %>条 </td> </tr> <tr> <td align="center" colspan="10"> <% if (pagenow > 1) { %> <a href="${pageContext.request.contextPath}/${pageaction}/<%=pagenow-2 %>.html" style="text-decoration:none"> <% out.println("上一页"); }%> </a> <%for(int i=listbegin;i<=listend;i++) { pagenow=i; %> <a href="${pageContext.request.contextPath}/${pageaction}/<%=pagenow-1%>.html" style="text-decoration:none" > <% if(i==pagenow2) out.println("<font color='red'>["+i+"]</font>&nbsp;"); else out.println("["+i+"]&nbsp;"); } %> </a> <% if (pagenow !=pagenum) { %> <a href="${pageContext.request.contextPath}/${pageaction}/<%=pagenow2 %>.html" style="text-decoration:none"> <% if(listnum!=0) out.println("下一页"); }%> </a> </td> </tr> </table> </form> </body> </html> ``` jsp页面 ![图片说明](https://img-ask.csdn.net/upload/201511/11/1447217989_777414.png) controller代码 ``` @RequestMapping(value="/searchByFileName2/{pagenow}") public ModelAndView searchByFilename(HttpServletRequest request,@RequestParam String filename,@RequestParam String filetype,@RequestParam String start,@RequestParam String stop, ModelMap mod) throws ParseException { WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext(); ServletContext application = webApplicationContext.getServletContext(); String n=(String) application.getAttribute("name"); System.out.println("sssssssssss "+n); System.out.println("***************filename"+filename); System.out.println("***************start"+start); System.out.println("***************stop"+stop); System.out.println("***************filetype"+filetype); ModelAndView modelAndView=new ModelAndView("user/uploadWithPage"); if(start.equals("")&!stop.equals("")) { mod.addAttribute("errormessage", "上传日期不能为空"); return modelAndView; } if(!start.equals("")&stop.equals("")) { mod.addAttribute("errormessage", "上传日期不能为空"); return modelAndView; } Page<Upload> uploa=null; if(filename.equals("")&start.equals("")&stop.equals("")) { uploa=uploadService.findUploadByUsernameAndFiletype(n, filetype, 0, pagesize); } else if(start.equals("")&stop.equals("")) { uploa=uploadService.findUploadByUsernameAndFilenameAndFiletype(n, filename, filetype, 0, pagesize); } else if(filename.equals("")&!start.equals("")&!stop.equals("")) { uploa=uploadService.findUploadByUsernameAndFileTypeAndUploaddate(n, filetype, start, stop, 0, pagesize); } else if(!filename.equals("")&!start.equals("")&!stop.equals("")) { uploa=uploadService.findUploadByAll(n, filename, filetype, start, stop, 0, pagesize); } else { mod.addAttribute("errormessage", "上传日期不能为空"); } //当前页查询的记录数 pageitems=uploa.getNumberOfElements(); //查询出的总记录数 itemsnum=(int)uploa.getTotalElements(); //总页数 pagenum=uploa.getTotalPages(); HttpSession session = getSession(); session.setAttribute("pagenum", pagenum); session.setAttribute("pagesize", pagesize); session.setAttribute("num", itemsnum); session.setAttribute("pagenow", pagenow); session.setAttribute("filename", filename); session.setAttribute("filetype", filetype); session.setAttribute("start", start); session.setAttribute("stop", stop); mod.addAttribute("filename", filename); List<Upload> u = uploa.getContent(); if(u.size()==0) { mod.addAttribute("errormessage", "该文件不存在"); return modelAndView; } mod.addAttribute("pageaction", "upload/searchByFileName2"); modelAndView.addObject("upload",u); return modelAndView; } ```

springMvc 项目运行问题 代码来自 汪云飞的《sping boot 实战》项目highlight_springmvc4

问题:项目运行,部署问题 ##highlight_springmvc4 这项目怎么跑起来 , 用的sts,开始是自己在pom.xml加上tomcat的插件 ![图片说明](https://img-ask.csdn.net/upload/201910/08/1570535149_824978.jpg) * 贴上代码 ```java package com.wisely.highlight_springmvc4.advice; import org.springframework.ui.Model; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.context.request.WebRequest; import org.springframework.web.servlet.ModelAndView; @ControllerAdvice //1 public class ExceptionHandlerAdvice { @ExceptionHandler(value = Exception.class)//2 public ModelAndView exception(Exception exception, WebRequest request) { ModelAndView modelAndView = new ModelAndView("error");// error页面 modelAndView.addObject("errorMessage", exception.getMessage()); return modelAndView; } @ModelAttribute //3 public void addAttributes(Model model) { model.addAttribute("msg", "额外信息"); //3 } @InitBinder //4 public void initBinder(WebDataBinder webDataBinder) { webDataBinder.setDisallowedFields("id"); //5 } } ``` * 相关的配置 ```java package com.wisely.highlight_springmvc4; import java.util.List; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.multipart.MultipartResolver; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; import com.wisely.highlight_springmvc4.interceptor.DemoInterceptor; import com.wisely.highlight_springmvc4.messageconverter.MyMessageConverter; @Configuration @EnableWebMvc// 1 @EnableScheduling @ComponentScan("com.wisely.highlight_springmvc4") public class MyMvcConfig extends WebMvcConfigurerAdapter {// 2 @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/classes/views/"); viewResolver.setSuffix(".jsp"); viewResolver.setViewClass(JstlView.class); return viewResolver; } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/assets/**").addResourceLocations( "classpath:/assets/");// 3 } @Bean // 1 public DemoInterceptor demoInterceptor() { return new DemoInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) {// 2 registry.addInterceptor(demoInterceptor()); } @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/index").setViewName("/index"); registry.addViewController("/toUpload").setViewName("/upload"); registry.addViewController("/converter").setViewName("/converter"); registry.addViewController("/sse").setViewName("/sse"); registry.addViewController("/async").setViewName("/async"); } @Override public void configurePathMatch(PathMatchConfigurer configurer) { configurer.setUseSuffixPatternMatch(false); } @Bean public MultipartResolver multipartResolver() { CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(); multipartResolver.setMaxUploadSize(1000000); return multipartResolver; } @Override public void extendMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(converter()); } @Bean public MyMessageConverter converter(){ return new MyMessageConverter(); } } ``` * 运行 ![图片说明](https://img-ask.csdn.net/upload/201910/08/1570535574_511217.jpg) * 探索问题 **配置是这样** ![图片说明](https://img-ask.csdn.net/upload/201910/08/1570535626_70258.jpg) **目录是这样** ![图片说明](https://img-ask.csdn.net/upload/201910/08/1570535672_662725.jpg)![图片说明](https://img-ask.csdn.net/upload/201910/08/1570535682_755896.jpg) ###这个要怎么改动才能正确运行呢?困扰许久,期望相助,不胜感谢!!

SpringMVC利用Model返回数据在Ubuntu下JSP无法获取

大家好!我的项目使用的是SpringMVC,在Controller中,利用ModelAndView的addObject添加对象返回数据;在Windows环境下能正确获取到对象值,但是当应用部署到Ubuntu后,在JSP页面却无法正确获取对象值了,得到的结果是undefined。有人知道这是为什么吗? Controller代码片段 ``` @RequestMapping(value = ViewResource.DEFAULT, method = RequestMethod.GET) public ModelAndView defaultHandler(HttpServletRequest request, ModelMap model) { ModelAndView returnValue = new ModelAndView(ViewResource.Question.INDEX); try { Collection<Scene> scenes = sceneService.getList(); Collection<Game> games = gameService.getList(); Collection<Characters> characterses = charactersService.getList(); model.addAttribute("scenes", scenes); model.addAttribute("games", games); model.addAttribute("characters", characterses); //returnValue.addObject("scenes", scenes); //returnValue.addObject("games", games); //returnValue.addObject("characters", characterses); } catch (Exception ex) { ex.printStackTrace(); } return returnValue; } ``` JSP代码片段 ``` function initScenes() { console.log("init scenes"); console.log("${scenes}"); <c:forEach var="scene" items="${scenes}"> //console.log('${scene.sceneName}'); scenes['${scene.id}'] = { 'sceneName':'${scene.sceneName}', }; </c:forEach> } function initGames() { <c:forEach var="game" items="${games}"> games['${game.gameId}'] = '${game.gameName}'; </c:forEach> } function initCharacters() { <c:forEach var="character" items="${characters}"> characters['${character.id}'] = { "chineseName":'${character.chineseName}', "englishName":'${character.englishName}', }; </c:forEach> } ```

关于用域名访问和ip访问两种方式访问系统结果不同的问题

今天在做项目的时候遇到这样的问题 用ip访问系统,登录成功后进入index页面,系统内所有的菜单都可以访问,没有问题 但是用域名访问系统的时候,可以进入登录页面,点击登录后也可以进入登录页面,但是index页面左边的菜单栏显示,右边的页面变成登录页面。 其中左边的iframe是通过ajax后台获取数据拼成菜单,右边iframe也是ajax获取数据显示报表 系统用的是springmvc+shiro+mybitis实现的 用到了单点登录 我的思路: 1.shiro登录权限问题,但是用ip可以正常访问啊,用域名就不行,而且sit环境是好的,uat环境就不行 2是不是springmvc或者服务器对域名访问方式做了限制? 3.ajax在请求的时候对域名访问这种方式有限制么? 网上找了半天没有解决,跪求大神帮忙,谢了 部分代码如下: //单点登录成功以后执行下面的代码 Subject user = SecurityUtils.getSubject(); //登录 UsernamePasswordToken token = new UsernamePasswordToken(username,MD5Util.md5(password).toCharArray()); //设置为记住密码 //token.setRememberMe(true); //shiro验证登录失败 UsernamePasswordToken 会抛出异常。 try { //进行用户 身份认证 user.login(token); //获取用户信息 User users = getCurrentUser(); //得到用户隶属的机构 //List<OrgRole> orgRoleList=users.getOrgRole(); List<UserOrg> orgList = orgService.getUserOrgListByUserID(users.getUserID()); if(orgList!=null&&orgList.size()>0){ //首次登陆给个默认机构 UserOrg currentOrgInfo = orgList.get(0); //将当前机构放在session里 request.getSession().setAttribute("currentOrg", currentOrgInfo); modelAndView.addObject(users); modelAndView.addObject("orgList",orgList); modelAndView.addObject("userName",users.getUserName()); modelAndView.addObject("flag", currentOrgInfo.getOrgId()); modelAndView.setViewName("index"); } else{ modelAndView.addObject("errorInfo","无查看权限,请联系管理员!"); modelAndView.setViewName("login"); } return modelAndView; }

spring mvc 后台java 查询数据库的数据时候报错

![![![图片说明](https://img-ask.csdn.net/upload/201805/04/1525364125_2454.jpg)图片说明](https://img-ask.csdn.net/upload/201805/04/1525364119_484515.png)图片说明](https://img-ask.csdn.net/upload/201805/04/1525364113_896015.png) ``` @RequestMapping(value="/liuyan") public ModelAndView liuyan(@RequestParam(value="liuyan", required=false) String liuyan, HttpSession httpSession){ System.out.println(liuyan); String sql = "select * from story where sname = '"+liuyan+"'"; System.out.println(sql); String viewname=""; final int[] isExist = new int[1]; isExist[0] = 0; jt.query(sql, new RowCallbackHandler(){ public void processRow(ResultSet rs) throws SQLException { if (rs.isFirst()) { isExist[0]=1; } } }); if(isExist[0]==1) { String sql1 ="select * from '"+liuyan+"' limit 0,1000"; System.out.println(sql1); viewname = "liuyan"; final List<liuyan>liuyans = new ArrayList<liuyan>(); jt.query(sql1, new RowCallbackHandler(){ public void processRow(ResultSet rs1) throws SQLException { System.out.println(rs1.getFetchSize()); while (!rs1.isAfterLast()) { liuyan liuyanss = new liuyan(rs1.getString(1), rs1.getInt(2), rs1.getString(3), rs1.getString(4)); liuyans.add(liuyanss); System.out.println(liuyans); rs1.next(); } } }); httpSession.setAttribute("liuyan", liuyan); System.out.println(liuyans.size()); ModelAndView mv = new ModelAndView(viewname); mv.addObject("liuyans", liuyans); return mv; } else { httpSession.setAttribute("liuyan", liuyan); viewname = "chaxun_failed"; ModelAndView mv = new ModelAndView(viewname); mv.addObject("liuyan", liuyan); return mv; } } ```

Eclipse 测试了一个springMVC小用例

``` package controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class IndexController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav = new ModelAndView("index.jsp"); mav.addObject("message", "Hello Spring MVC"); return mav; } } <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%> 111 <h1>${message}111</h1> ``` 新手学习过程中测试了一个用例,发现。。message参数的值显示不出来 各位帮忙看看

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Vue + Spring Boot 项目实战(十九):Web 项目优化解决方案

快来一起探索如何打脸我们的破项目,兄弟姐妹们把害怕打在公屏上!

你连存活到JDK8中著名的Bug都不知道,我怎么敢给你加薪

CopyOnWriteArrayList.java和ArrayList.java,这2个类的构造函数,注释中有一句话 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public ArrayList(Collection&lt;? ...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

一个HashMap跟面试官扯了半个小时

一个HashMap能跟面试官扯上半个小时 关注 安琪拉的博客 1.回复面试领取面试资料 2.回复书籍领取技术电子书 3.回复交流领取技术电子书 前言 HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。 开场 面试官: 你先自我介绍一下吧! 安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

程序员是做全栈工程师好?还是专注一个领域好?

昨天,有位大一的同学私信我,说他要做全栈工程师。 我一听,这不害了孩子么,必须制止啊。 谁知,讲到最后,更确定了他做全栈程序员的梦想。 但凡做全栈工程师的,要么很惨,要么很牛! 但凡很牛的,绝不是一开始就是做全栈的! 全栈工程师听起来好听,但绝没有你想象的那么简单。 今天听我来给你唠,记得帮我点赞哦。 一、全栈工程师的职责 如果你学习编程的目的只是玩玩,那随意,想怎么学怎么学。...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

工作两年简历写成这样,谁要你呀!

作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 最近有伙伴问小傅哥,我的简历怎么投递了都没有反应,心里慌的很呀。 工作两年了目前的公司没有什么大项目,整天的维护别人的代码,有坑也不让重构,都烦死了。荒废我一身技能无处施展,投递的简历也没人看。我是不动物园里的猩猩,狒狒了! 我要加班,我要996,我要疯狂编码,求给我个机会… ...

相关热词 c# 开发接口 c# 中方法上面的限制 c# java 时间戳 c#单元测试入门 c# 数组转化成文本 c#实体类主外键关系设置 c# 子函数 局部 c#窗口位置设置 c# list 查询 c# 事件 执行顺序
立即提问
相关内容推荐