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. laravel where orwhere的写法

    orWhere如果不用闭包的形式写很容易写成分开的查询条件 要写成一组查询条件需要这样闭包写(就相当于把这两个条件放在一个小括号里,是一组查询条件“(xxx or xxx)”): if (!empty ...

  2. 利用uniGUI中的TUniPageControl实现多页面

    远行效果: 实现代码: procedure TfrmMain.OpenForm(Caption,FormClassName:string);var  i:integer;  sheet:TUniTab ...

  3. C#汉字转换拼音技术详解(高性能)

    public static class ChineseToPinYin { private static readonly Dictionary<<span class="key ...

  4. leetcode 100. Same Tree、101. Symmetric Tree

    100. Same Tree class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { if(p == NULL &am ...

  5. js __proto__ 和prototype的联系

    1.Javascript中所有的对象都是Object的实例,并继承Object.prototype的属性和方法,也就是说,Object.prototype是所有对象的爸爸.(个人感觉搞清楚这一点很重要 ...

  6. Kafka 可视化工具(Kafka Tool)

    Kafka 可视化工具 使用Kafka的小伙伴,有没有为无法直观地查看 Kafka 的 Topic 里的内容而发过愁呢? 下面推荐给大家一款带有可视化页面Kafka工具:Kafka Tool (目前最 ...

  7. java源码-HashMap类设计

    map(内部interface Entry<K,V>)->abstractMap(定义视图 entrySet抽象方法)->hashMap(静态内部类Node(继承Entry&l ...

  8. Centos 在线安装 nginx

    centos 在线安装 nginx 安装nginx ​ 参考文档: http://nginx.org/en/linux_packages.html 中的RHEL/CentOS章节,按照步骤安装repo ...

  9. ORACLE 11G使用用EXPDP导出时,空表不能导出

    11G中有个新特性,当表无数据时,不分配segment,以节省空间解决方法:1.insert一行,再rollback就产生segment了.该方法是在在空表中插入数据,再删除,则产生segment.导 ...

  10. mybatisplus EntityWrapper 常用方法

    1. #WHERE (issue_type = ?) AND (status = ? OR status = ? OR status = ?) EntityWrapper wrapper=new En ...