spring boot 之如何在两个页面之间传递值(转)

news/2024/7/4 14:57:18

原文地址: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


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

相关文章

【C# 大写金额转阿拉伯数字】大写金额转数值

public string DealNum(string num){string ReturnNum "";switch (num){case "零":ReturnNum "0";break;case "壹":ReturnNum "1";break;case "贰":ReturnNum "2";break;case "叁":Retur…

mysql分组后为0也显示_MySQL8.0功能详解——资源组管理

以下文章来源于MySQL解决方案工程师&#xff0c;作者徐轶韬MySQL8.0里包括一款功能——CPU资源分组管理。它实现的目的是将CPU资源分组&#xff0c;并且赋予运行不同类型的查询。通过它可以解决DBA的一些痛点&#xff0c;例如&#xff1a;夜间进行的批处理、大型报表非常耗费资…

国外、国内各大OJ

下面是几个比较大的在线提交系统&#xff08;Online Judge&#xff09;里面有大量历年的竞赛题目&#xff0c;注册一个ID&#xff0c;然后用自己熟悉的语言&#xff08;一般有Pascal/C/C/Java&#xff09;写好源代码提交即可&#xff0c;会实时返 回信息告诉你是否正确。采用黑…

python提取邮件里面的发件人

import reimport fileinput pat re.compile(From: (.*) <.*?>$)for line in fileinput.input("ab.txt"):m pat.match(line)if m:print(m.group(1))转载于:https://blog.51cto.com/victor2016/2108261

开发步骤_课程设计与开发七大步骤

课程设计与开发是每一位职业培训师都必须会的技能&#xff0c;今天我们就来分享一下课程都是如何开发的。课程开发可以分为以下七个步骤&#xff1a;步骤一&#xff1a;选定主题&#xff0c;考虑针对组织和学员的需求问题&#xff0c;最后以最紧迫&#xff0c;最需要&#xff0…

该好好学习英语了

发音&#xff0c;这个应该算是学习英语的头等大事&#xff0c;如果没有机会和条件练好发音&#xff0c;也可以先将就着&#xff0c;不过后面你就会感觉到你说的人家可能会听不懂&#xff0c;我自己也曾经深受其害。基本常用单词积累&#xff08;大概2000~4000左右的词汇量就可以…

Vue 字面量语法 vs 动态语法

初学者常犯的一个错误是使用字面量语法传递数值&#xff1a; <!-- 传递了一个字符串 "1" --> <comp some-prop"1"></comp> 因为它是一个字面量 prop&#xff0c;它的值是字符串 "1" 而不是一个数值。如果想传递一个真正的 Jav…

安徽省2018工程计价电子版_二级造价工程师多少分及格

二级造价工程师的及格分数是各省市自定的&#xff0c;各省市的分数都不太一样&#xff0c;具体以人事考试中心发布的及格分数为准。二级造价师合格标准二级造价师全国统一标准是总分的60%&#xff0c;但是二级造价工程师跟二级建造师一样&#xff0c;由各地划线&#xff0c;具体…