后台使用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 相关文章推荐
Mootools 1.2教程 正则表达式
Sep 15 Javascript
JQuery的Ajax跨域请求原理概述及实例
Apr 26 Javascript
JS记录用户登录次数实现代码
Jan 15 Javascript
浅谈document.write()输出样式
May 07 Javascript
js实现固定显示区域内自动缩放图片的方法
Jul 18 Javascript
jQuery实现的placeholder效果完整实例
Aug 02 Javascript
AngularJS表达式讲解及示例代码
Aug 16 Javascript
jQuery命名空间与闭包用法示例
Jan 12 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 Javascript
pageGroup.js实现分页功能
Jul 27 Javascript
Vue实现多标签选择器
Nov 28 Javascript
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
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
jQuery DOM操作小结与实例
2010/01/07 Javascript
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
使用python 获取进程pid号的方法
2014/03/10 Python
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
python文件写入write()的操作
2019/05/14 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
pandas中ix的使用详细讲解
2020/03/09 Python
虚拟机下载python是否需要联网
2020/07/27 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
餐饮食品安全责任书
2015/01/29 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
高中优秀作文(范文)
2019/08/15 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript