后台使用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 相关文章推荐
关于JS字符串函数String.replace()
Apr 07 Javascript
javascript调试过程中找不到哪里出错的可能原因
Dec 16 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
May 29 Javascript
javascript事件处理模型实例说明
May 31 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
详解vue父子模版嵌套案例
Mar 04 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
May 13 Javascript
JavaScript设计模式之职责链模式应用示例
Aug 07 Javascript
Vue动态获取width的方法
Aug 22 Javascript
解决Layui数据表格的宽高问题
Sep 28 Javascript
详解Vue的options
May 15 Vue.js
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脚本加密专家php解密算法
2020/09/13 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
PHP生成唯一订单号
2015/07/05 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
浅谈node的事件机制
2017/10/09 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
python使用RNN实现文本分类
2018/05/24 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
关于python多重赋值的小问题
2019/04/17 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
python利用faker库批量生成测试数据
2020/10/15 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
PHP开发的一般流程
2013/08/13 面试题
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
配件采购员岗位职责
2013/12/03 职场文书
四年级语文教学反思
2014/02/05 职场文书
研修心得体会
2014/09/04 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书