后台使用freeMarker和前端使用vue的方法

news/2025/2/9 5:48:59

一: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;

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

  },

}

 

转载于:https://www.cnblogs.com/dragonlong-0606/p/11017338.html


http://www.niftyadmin.cn/n/2042146.html

相关文章

基于Andriod的厕所卫生清洁管理app(ssm+uinapp+Mysql)

随着Internet的发展&#xff0c;人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化&#xff0c;网络化和电子化。网上管理&#xff0c;它将是直接管理“厕ce”APP的最新形式。本论文是以构建“厕ce”APP为目标&#xff0c;使用java技术制作&#xff0c;由…

基于asp.net713大学生健康咨询管理系统

健康咨询管理系统是一个基于网络&#xff0c;对学校大学生健康咨询案例数据进行管理及共享的信息系统。高校学生健康咨询案例管理系统的设计与实现&#xff0c;首先需要收集大量的高校健康咨询案例&#xff0c;并对其进行分析和归类&#xff0c;获取用户需求。 该系统的核心模…

Maven相关命令

1. download apache Maven: http://maven.apache.org/download.cgi#Installation 2. 解压缩Maven到本地路径, c:\software\apache-maven-3.3.9 3. 确认JDK已安装&#xff0c;JAVA_HOME已被设置 5. 将bin路径&#xff08;c:\software\apache-maven-3.3.9\bin&#xff09;设置…

第一百五十三节,封装库--JavaScript,表单验证--备注字数验证

封装库--JavaScript&#xff0c;表单验证--备注字数验证 效果图 html <div id"reg"><h2 class"tuo"><img src"img/close.png" alt"" class"close" />会员注册</h2><form name"reg">…

ssm基于Android的电子病历系统APP(ssm+uinapp+Mysql)

网络的广泛应用给生活带来了十分的便利。所以把电子病历管理与现在网络相结合&#xff0c;利用java技术建设电子病历系统&#xff0c;实现电子病历的信息化。则对于进一步提高电子病历管理发展&#xff0c;丰富电子病历管理经验能起到不少的促进作用。 电子病历系统能够通过互联…

基于asp.net712多功能点歌系统

本文通过设计一个多功能点歌系统&#xff0c;以帮助歌厅去人工化电脑管理。在系统功能设计方面&#xff0c;本系统致力于提高用户的唱歌体验和歌厅服务质量。除此之外也能用其较强的管理功能为经营者带来数据管理上的便利。 该点歌系统运用了C#语言进行开发&#xff0c;采用C/…

ssm基于Android的签到系统APP(ssm+uinapp+Mysql)

随着Internet的发展&#xff0c;人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化&#xff0c;网络化和电子化。网上管理&#xff0c;它将是直接管理签到系统app的最新形式。本论文是以构建签到系统app为目标&#xff0c;使用java技术制作&#xff0c;由…

maven部署应用到tomcat

安装配置tomcat 1. 下载tomcat7到本地并安装 2. 在C:\software\apache-maven-3.3.9\lyrepo\下创建一个web app mvn archetype:generate -DgroupIdcom.mycompany.webapp -DartifactIdmy-webapp -DarchetypeArtifactIdmaven-archetype-webapp -DinteractiveModefalse 3. 配…