时间:2021-05-25
一:freeMarker的使用
1:java后台使用freeMarker是通过Model,将值传给前端:
如:
@Controllerpublic class MobileNewsFreeMarkerController { @RequestMapping("page/test") public String Test(Model model,HttpServletRequest request){ //获取项目路径 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+""+request.getContextPath()+"/"; //将页面路径通过model传给前台 model.addAttribute("basePath", basePath); //通过HttpServletRequest 获取url中的值,如code值 String code = request.getParameter("code"); //将获取的code参数传给前台 model.addAttribute("code ", code ); //页面跳转 return "page/test"; }}2:前端页面获取后台传输的值(freeMarker传输的值只能在html页面获取)
注:这里是结合vue
第一步:在js中定义vue的相关参数:
var vm = new Vue({ el: '#rrapp', data: { basePath:"", //项目路径 code : "", // code参数 },..........(vue后面内容省略)第二步:再在页面接收后台传输的值
<head> <script type="text/javascript"> $(document).ready(function() { <#if basePath??> vm.basePath="${basePath}"; </#if> <#if userId??> vm.code ="${code }"; </#if> }); </script></head>二:使用中主要遇到的问题
1:Vue存在调用的先后顺序,虽然html页面将后台传输的值付给vue的data中的参数,但是在mounted中是无法使用的时候获取的还是创建的vue的时候data中赋的值,并不会使用html赋的值:
如:
var vm = new Vue({ el: '#rrapp', data: { basePath: "", code :"", },mounted: function () {var _this = this;console.log(_this.basePath);//输出的还是:"",并不会输出html赋的值,所有在这里无法使用}2:但是在vue中methods内的方法是可以直接使用的;初始化如果需要html中传输的参数,可以使用以下方法:
总结
以上所述是小编给大家介绍的后台使用freeMarker和前端使用vue的方法及遇到的问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
总结一下我遇到的一个纠结很久的问题。在项目中需要用到后台的数据对前端渲染,使用到了vue整合的axios,使用vue中的钩子函数在页面组件挂载完成之后向后台发送
一、前言在使用springboot做后台系统,vue做前端系统,给客户开发一套系统时候,其中用到了图片上传和显示的功能。二、环境前端:vue前端组件:tinym
前后端分离,使用nginx解决跨域问题前端:vue.js+nodejs+webpack后台:SpringBoot反向代理服务器:nginx思想:将前端代码打包,
在前端与后台的撕逼中,很大一部分是因为数据的问题。使用angular会遇到这样的问题,后台返回的数据不是自己想要的纯字符串,而是带有html标签及属性的,那么我
在用vue做前端开发的时候,因为一般跑vue使用的webpack自带的node服务,而我们实际要使用的数据确是后台服务器上的,所以这就涉及到服务器请求跨域的问题