原文地址:spring boot 之如何在两个页面之间传递值

问题:页面之间的跳转,通常带有值的传输,但是,在现在比较流行的SPRING MVC WEB 
开发模型中,设计机制导致页面之间的直接接跳转和传值不被支持(网上看到的,没有深究), 
但是如果我么要实现两个页面之间传值怎么实现呢?

值的传递: 
 
将值name从A.html传给controller,让后读取这个值,增加到model里,然后,B.html从model中读取处理

A. html 如何将name值传过去 
方法一:使用传统的方法,如下,

<a href=”/controller_link?staff_name=?>

数据不重要并且数据不多时候,可以用,代码如下:

'</td><td><a href ="/attendance/calendar?staff_name='+ data.content[key].name +'"> ' + typeStyle(examine) + " </a> </td></tr>"

上面的格式不需要看,只是这是我的代码,这是一个例子,在这里使用javascript来构建table,如果需要看,则结合上下文来看,详细请看我的博文:JAVASCRIPT构建TABLE。

方法二:使用ajax,使用点击动作,点击后,调用ajax 函数,将函数传给controller,ajax使用普通的发送和接收数据格式:代码如下

 var staff_name2=$("#staff_name2").val();
alert(staff_name2);
$.ajax({
type : 'get',
url : "./getdatasrcInser",
async : true,
dataType : 'json',
error: "重新请求",
data:{
'staff_name_new':staff_name2
},
Success:function(){},
Error:function(){}
});

url 是controller 中的一个Requestmapping链接。 
下面是controller中代码,将获得到的参数,添加到controller要转到的B.html。

@RequestMapping("/calendar")
public String Calendar( Model model,@RequestParam(value = "staff_name", required = false, defaultValue = "") String staff_name) { /*List<CalendarTa> lists=calendarTaRepository.findAllByName("aa");
model.addAttribute("lists", lists);*/
model.addAttribute("staff_name", staff_name);
return "B.html"
}

@直到staff_name代码部分表示获取传来的参数的部分,value表示传来的id,其他的一样就行(什么意思,现在也不知道),String staff_name 表示在这里被定义出来的形参。值和staff_name的值一样。

那么我们如何在B.html中获取staff_name属性的值呢? 
两个方法: 
方法一(最通用的方法) 
思路:在HTML body中定义一个属性,或者标签什么都可以,给定id,或者属性什么都可以,按时要JAVASCRIPT 可以找的到。代码如下:

<input type="hidden" th:value="${staff_name}" id="staff_name2"/>

${staff_name} javascript,读取staff_name的值,然后在javascript中读取出id为staff_name2的值,其代码如下:

var staff_name2=$("#staff_name2").val();

剩下就可以使用staff_name了。 
方法二:涉及到Thymeleaf 的使用,上面的th:value 也使用到了thymeleaf,普通的只要value就可以了。 
代码如下,不要设计属性,可以直接引用下面的代码就可以了

<script th:inline="javascript">
/*<![CDATA[*/
var staff_name = /*[[${staff_name}]]*/;
/*]]>*/
</script>

只需改变staff_name到你定义的属性名称就可以,当然前提是得知道如何使用thymele

spring boot 之如何在两个页面之间传递值(转)的更多相关文章

  1. ASP.NET页面之间传递值的几种方式(转载)

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  2. ASP中页面之间传递值的几种方式

    ASP.NET页面之间传递值的几种方式 页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryS ...

  3. ASP.NET页面之间传递值的几种方式

    目录 QueryString Session Cookie Application 一.QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中. ...

  4. [转]ASP.NET页面之间传递值的几种方式

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  5. [转载]ASP.NET页面之间传递值的几种方式

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  6. ASP.NET 页面之间传递值的几种方式

    1.使用QueryString,  如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer4.Applicatio ...

  7. ASP.NET 弹出对话框和页面之间传递值的经验总结

    今天碰到一个弹出对话框(PopUp dialog)的问题, 因该是个傻瓜问题, 但是还是让我研究了半天, 总结了一些前人经验, 拿出来跟大家分享一下! 在ASP.Net中页面之间的传值方法有很多,但是 ...

  8. 微信小程序之页面之间传递值

    页面之间传值有三种方式 1.url传值 2.本地存储传值 3.全局变量传值 1.url传值: 通过url传值的需要通过option来获取参数值. 更多详情可以访问小程序-navigateTo章节. A ...

  9. 微信小程序——页面之间传递值

    小程序页面传值的方式: 1.正向传值:上一页面 -->  下一页面 url传值 本地储存 全局的app对象 2.反向传值:下一页面 -->  上一页面 本地储存 全局的app对象 先说一下 ...

随机推荐

  1. C++中set的用法

    set的特性是,所有元素都会根据元素的键值自动排序,set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值.set不允许两个元素有相同的键值. ...

  2. Execl矩阵如何转化成Pajek的net文件

    在科研中我们有时会把把execl矩阵利用Ucinet.Pajek等可视化软件进行画图,而想要把execl矩阵转化为 Pajek可识别的文件-->net文件令很多初学者头疼不已,本文将做详细介绍. ...

  3. Mysql 删除重复数据只保留id最小的

    DELETE FROM 表 WHERE id NOT IN ( SELECT id FROM ( SELECT min(b.id) AS id FROM 表 b GROUP BY b.重复字段 ) b ...

  4. win10 安装Oracle 11g release 2

    参考资料: Oracle Database 11g Release 2 安装详解 - WIN 10 系统 准备工作: 安装 Oracle 11g 之前,要确保在此操作系统上未安装过 Oracle,或者 ...

  5. Codeforces 242 E. XOR on Segment

    题目链接:http://codeforces.com/problemset/problem/242/E 线段树要求支持区间求和,区间内每一个数字异或上一个值. 既然是异或,考虑每一个节点维护一个长度为 ...

  6. 自动化测试基础-断言(Assert)使用方法

    junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类.1.assertTrue/False([String message,]boolean condi ...

  7. 06-python-生成器、循环器

    生成器 生成器(generator)的主要目的是构成一个用户自定义的循环对象. 生成器的编写方法和函数定义类似,只是在return的地方改为yield.生成器中可以有多个yield.当生成器遇到一个y ...

  8. 单调队列 Monotonic Queue / 单调栈 Monotonic Stack

    2018-11-16 22:45:48 一.单调队列 Monotone Queue 239. Sliding Window Maximum 问题描述: 问题求解: 本题是一个经典的可以使用双端队列或者 ...

  9. c# DLL封装并调用

    1.封装自己的dll: a.打开visual studio - 文件 - 新建 - 项目- 类库 - 名称MyTestDll: b.右键Class1.cs - 修改为 TestDll.cs; c.在里 ...

  10. (转)c# String与StringBuilder

    阅读目录 1.什么时候用String?什么时候用StringBuilder? 2.String与StringBuilder的区别 总结   1.什么时候用String?什么时候用StringBuild ...