利用URL地址实现页面间传输数据和获取数据

本文介绍了如何通过URL向另一个页面传递数据,包括在HTML的a标签中设置href传递和使用window.location.href进行跳转。同时,文章还详细讲解了如何接收URL上的数据,通过location.search获取查询字符串,并进行字符串处理来提取所需数据。实例展示了在Vue框架中实现这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

        我们常常看到网址后面会有一个问号,后面会带一大堆类似key-value结构的数据。其实这是向另一个网址传值的其中一个方式。下面利用URL地址实现页面间传输数据和获取数据的方法


一、通过URL向另一个页面传递数据

        我们两种方法进行传值:

        1 a标签中设置href在url上存放数据,里面的数据以key-value方式存储

         2 通过window.location.href="url"

       

    注意这里我用到的vue框架,需要在href前加:
1 <a :href="'movieIntro.html?id='+id+''"></a>
整体上双引号中要让一组单引号这样才能使添加的动态数据成功传递    href="'url'"

我们要添加动态数据时数据只需要在添加的变量两边加上单引号和加号  '+变量+'
这起始也是跟拼接字符串类似


2 window.location.href="movieIntro.html?id="+this.id;
    这种就是拼接字符串的方法,可以很简单的设置url并跳转,但需要方法来调用它

下面我们举个栗子

        例如这是我制作的电影如果要点击电影的图片就会进入电影详情页

      

 

        进入详情页后我们可以看到上面网页上?后有个id=3,这就是我们要传递的数据,我们可以出来的数据来显示对应的内容。那么我们怎么接收url上的数据呢?

http://localhost:63342/boottest/static/pages/movieIntro.html?id=3

电影介绍

 

二、接收URL上的数据

   我们可以通过location.search方法

location.search可以获取 包含?和?后的字符串  如?id=3
var url=location.search;

我们可以通过去字符串处理来获得我们想要的数据    
this.movieId=url.split('=')[1];          以等号分割字符串[0]id [1]3             


总结

希望以上的方法能够帮助你们,csdn帮助我解决了很多问题,非常感谢无私奉献的彭友们~

 

### Java Web 应用中 URL 参数传递与 JavaBean 接收 在构建基于Java EE平台的应用程序时,通常会利用现有的Web服务器来处理TCP连接以及HTTP协议解析等工作[^1]。对于通过URL传递参数并在后台使用JavaBean接收的需求,主要涉及两个方面的工作:一是前端如何构造带有查询字符串的URL;二是后端怎样配置Servlet或者Spring MVC控制器以映射请求并将参数绑定至JavaBean。 #### 前端构造带参数的URL 当希望向服务端发送数据而不采用表单提交的方式时,可以通过修改链接中的查询部分来附加键值对形式的数据。例如: ``` http://example.com/app?paramName=paramValue ``` 这里`paramName`即为参数名而`paramValue`则是对应的值。多个参数之需用`&`分隔开。 #### 后台配置 Servlet 或者 Spring 控制器 ##### 使用原生Servlet API 如果项目直接依赖于Servlet技术,则可以在doGet/doPost方法内部获取HttpServletRequest对象,并从中读取GET/POST方式传来的参数。下面是一个简单的例子展示如何创建一个能够接受名为`username`参数的Servlet类: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); } ``` 此时若想进一步简化开发流程,可考虑引入框架支持自动完成从请求到实体之的转换过程。 ##### 利用Spring MVC 实现更优雅的解决方案 相比于传统的Servlet编程模型,借助Spring Framework下的MVC模块可以让开发者更加专注于业务逻辑本身而非繁琐的基础架构细节。具体来说就是定义处理器函数签名时声明形参列表里包含目标类型的实例作为入参之一即可触发内置机制尝试填充该对象属性值的过程——这便是所谓的“命令模式”。 假设存在如下所示的一个POJO(Plain Old Java Object),用于表示用户登录所需的信息结构体: ```java public class UserLoginForm { private String email; public String getEmail() {return this.email;} public void setEmail(String email) {this.email = email;} // ... other getters and setters ... } ``` 那么相应的控制层组件应当如此编码: ```java @Controller @RequestMapping("/login") public class LoginController { @RequestMapping(method = RequestMethod.GET) public ModelAndView showForm(UserLoginForm form){ return new ModelAndView("login", "form", form); } @RequestMapping(method = RequestMethod.POST) public String processSubmit(@ModelAttribute("user") UserLoginForm user, BindingResult result) { if (result.hasErrors()) { return "error"; } // handle valid submission... return "success"; } } ``` 上述代码片段展示了如何让Spring容器负责将来自客户端浏览器地址栏内的输入项赋给`UserLoginForm`实例各字段的操作。值得注意的是,除了基本类型外还允许指定复杂对象作为方法参数的一部分参与进来,只要确保它们遵循一定的命名约定就能顺利达成预期效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值