index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&......

静态html文件js读取url参数,根据获取html的参数值控制html页面输出。

一、字符串分割分析法。

这里是一个获取URL带REQUESTRING参数的JAVASCRIPT客户端解决方案。

相当于asp的request.querystring,PHP的$_GET,jsp的request.getParameter

//var USERCODE="<%=request.getParameter("USERCODE")%>";

//以上是用request.getParameter在浏览器端获取参数值, 也可以是用该方法在服务器端获取参数方法

函数:

<Script language="javascript">

function GetRequest() {

var url = location.search; //获取url中含"?"符后的字串

var theRequest = new Object();

if (url.indexOf("?") != -1) {

var str = url.substr(1);

strs = str.split("&");

for(var i = 0; i < strs.length; i ++) {

theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);

}

}

return theRequest;

}

</Script>

然后我们通过调用此函数获取对应参数值:

<Script language="javascript">

var Request = new Object();

Request = GetRequest();

var 参数1,参数2,参数3,参数N;

参数1 = Request['参数1'];

参数2 = Request['参数2'];

参数3 = Request['参数3'];

参数N = Request['参数N'];

</Script>

以此获取url串中所带的同名参数

二、正则分析法。

function GetQueryString(name) {

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");

var r = window.location.search.substr(1).match(reg);

if (r!=null) return unescape(r[2]); return null;

}

alert(GetQueryString("参数名1"));

alert(GetQueryString("参数名2"));

alert(GetQueryString("参数名3"));

三、java举例如下:

1、
<%@ page language="java" import="java.util.*,com.servlet.bean" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    <script type="text/javascript">         
       <%
        ArrayList list = (ArrayList)request.getAttribute("list");
        for(int i=0;i<list.size();i++){
            bean Bean = (bean)list.get(i);
     %>
          var name = '<%=Bean.getName()%>' //这里是从request获取参数,赋值给name这个变量
     <%     
        }
     %>
    </script>
  </body>
</html>
2、在servlet服务端的代码如下:
package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class servlet extends HttpServlet {
    public servlet() {
        super();
    }

/**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        bean Bean = new bean();
        Bean.setName("liubin");
        Bean.setPwd("123");
        
        bean Bean2 = new bean();
        Bean2.setName("aaa");
        Bean2.setPwd("456");
        
        bean Bean3 = new bean();
        Bean3.setName("bbb");
        Bean3.setPwd("789");
        
        ArrayList list = new ArrayList();
        list.add(Bean);
        list.add(Bean2);
        list.add(Bean3);
        
        request.setAttribute("list", list);
        
        request.getRequestDispatcher("../index.jsp").forward(request, response);
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request ,response);
    }
    public void init() throws ServletException {
        // Put your code here
    }
}

四、

javascript可以通过window.navigator来进行判断。不同的浏览器navigator对象里的名称是不同的:
window.navigator.userAgent  记录浏览器信息以及操作系统信息。

1.取变量值
    var a = '<%=request.getAttribute("aaa");%>' ;
2.也可以将这个值放在页面上.再取出来.
    <input type="hidden" value="<%=request.getAttribute("aaa");%>" id="aaa"/>
    var a = document.getElementById('aaa').value ;

(注):对于对象,我推荐使用第二种方法.这样可以在页面中不IMPORT JAVA类..更符合现在编程
    eg:
    <input type="hidden" value="${student.name}" id="stuName"/>
    var stuName = $('stuName').value ; // prototype.js新功能,简写.

js获取url(request)中的参数的更多相关文章

  1. 使用JavaScript获取url(request)中的参数

    这次是使用JavaScript来获取url(request)中的参数 在日常页面编写的过程中为了方便操作在<script>中通过使用window.location.href="要 ...

  2. js获取URL地址栏中的参数

    function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)( ...

  3. js获取url地址中的参数

    <script type="text/javascript"> function GetQueryString(name) { var reg = new RegExp ...

  4. 获取url路径中的参数

    简介 运用js的时候,我们有时可能会有这样的需求,就是想要获取浏览器地址栏指定的一项参数,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413& ...

  5. js获取url制定的某个参数

    <script>function getURLParam(strParamName, url) {    var strReturn = "";    var strH ...

  6. JS动态获取项目名以及获取URL地址中的参数

    在项目当中我们可能会遇到例如改变的项目名称之后,相对应的地址就需要改变,为了减少工作量,将地址当中的项目名这一块写成动态获取的,那么最关键一点就是我要先获取它,再进行操作: 知识点整理,话不多说,直接 ...

  7. Js获取url传递过来的参数

    原理跟取cookie值一样的 function getParamer(paramer){ var url=window.location.href.split("?")[1];/* ...

  8. 通过JS获取URL链接带的参数

    1 /** 2 * 获取URL参数的方法 3 */ 4 $.extend({ //以便于通过$引用该方法 5 getUrlVars : function() { //获取多个参数数组 6 var va ...

  9. 使用js获取url里的指定参数

    String.prototype.getQuery = function(name){     var reg = new RegExp("(^|&)"+ name +&q ...

随机推荐

  1. window 下要运行php,需要编辑php环境变量

    参考:https://blog.csdn.net/zhezhebie/article/details/72765262

  2. 访问H2数据库的SpringBoot工程

    JDK:1.8.0_212 IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE) 工程下载:https://files.cnblogs.com/file ...

  3. APT软件包管理-在线安装

    APT (Advanced Packaging Tool高级软件包工具) 是一个强大的包管理系统,而那些图形化程序如 添加/删除 应用程序 都是建立 在它的基础之上的.有了dpkg后,Debian再次 ...

  4. 注册 Ironic 裸金属节点并部署裸金属实例

    目录 文章目录 目录 前文列表 注册(Enrollment)裸机 创建裸金属实例的 Flavor 部署裸金属实例 日志分析 问题:Failed to create neutron ports for ...

  5. 阶段3 3.SpringMVC·_07.SSM整合案例_07.ssm整合之编写MyBatis框架测试保存的方法

    再写一个测试的方法,测试save保存的方法 需要提交事务才能保存到数据库

  6. JMeter使用plugins插件进行服务器性能监控

    JMeter使用plugins插件进行服务器性能监控 性能测试时,我们的关注点有两部分 1 服务本身:并发响应时间 QPS 2 服务器的资源使用情况:cpu memory I/O disk等 JMet ...

  7. [转] Maven 从命令行获取项目的版本号

    [From]https://blog.soebes.de/blog/2018/06/09/help-plugin/ I bet you have been faced with the situati ...

  8. Ajax操作的四个步骤

    Ajax操作的四个步骤: 创建Ajax对象 连接服务器 发送请求 接收返回信息 <!DOCTYPE html> <html> <head lang="en&qu ...

  9. SqlServer:SqlServer(sql,游标,定时作业,行转列,列转行,公用表达式递归,merge合并)

    1.加载驱动: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); DriverManager.getCo ...

  10. Linux 学习路径

    Linux learning path Mind Map graph LR A[Linux学习路径]-->b[计算机概论与硬件相关知识] A -->c[Linux 初级] A --> ...