java js获得request_js获取url(request)中的参数

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在浏览器端获取参数值, 也可以是用该方法在服务器端获取参数方法

函数:

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;

}

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

var Request = new Object();

Request = GetRequest();

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

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

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

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

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

以此获取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、

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

ArrayList list = (ArrayList)request.getAttribute("list");

for(int i=0;i

bean Bean = (bean)list.get(i);

%>

var name = '' //这里是从request获取参数,赋值给name这个变量

}

%>

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.

*/

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 = '' ;

2.也可以将这个值放在页面上.再取出来.

" id="aaa"/>

var a = document.getElementById('aaa').value ;

(注):对于对象,我推荐使用第二种方法.这样可以在页面中不IMPORT JAVA类..更符合现在编程

eg:

var stuName = $('stuName').value ; // prototype.js新功能,简写.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值