后台使用freeMarker和前端使用vue的方法及遇到的问题


Posted in Javascript onJune 13, 2019

一:freeMarker的使用

1:java后台使用freeMarker是通过Model,将值传给前端:

如:

@Controller
public 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中传输的参数,可以使用以下方法:

$(function () {
vm.getData(vm.basePath,vm.code);
});
var vm = new Vue({

el: '#rrapp',

data: {


basePath: "",


code :"",

},
methods: {

getData: function (baseUrlFlag,codeFlag) {


var _this=this;


_this.basePath= baseUrlFlag;


_this.code =codeFlag;


//进行初始化业务操作!

},
}

总结

以上所述是小编给大家介绍的后台使用freeMarker和前端使用vue的方法及遇到的问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
May 14 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
May 28 Javascript
React-Native中props具体使用详解
Sep 04 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
Nov 03 Javascript
Vue实现搜索 和新闻列表功能简单范例
Mar 16 Javascript
vue webpack打包后图片路径错误的完美解决方法
Dec 07 Javascript
详解如何更好的使用module vuex
Mar 27 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
Jul 19 Javascript
关于layui flow loading占位图的实现方法
Sep 21 Javascript
jQuery带控制按钮轮播图插件
Jul 31 jQuery
vue路由插件之vue-route
Jun 13 #Javascript
在JavaScript中使用严格模式(Strict Mode)
Jun 13 #Javascript
详解vuex之store源码简单解析
Jun 13 #Javascript
vue store之状态管理模式的详细介绍
Jun 13 #Javascript
微信小程序页面间跳转传参方式总结
Jun 13 #Javascript
微信小程序位置授权处理方法
Jun 13 #Javascript
json数据格式常见操作示例
Jun 13 #Javascript
You might like
PHP PDO函数库详解
2010/04/27 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
jquery插件star-rating.js实现星级评分特效
2015/04/15 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
python opencv之SURF算法示例
2018/02/24 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Python函数调用追踪实现代码
2020/11/27 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
C# .NET面试题
2015/11/28 面试题
公司清洁工岗位职责
2013/12/14 职场文书
进步之星获奖感言
2014/02/22 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
python Polars库的使用简介
2021/04/21 Python
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
Redis实战高并发之扣减库存项目
2022/04/14 Redis
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers