在HTML中用Javascript和接收参数和JSP接受参数

先介绍一下JS中处理URL的方法:
网址示例:http://localhost/test/test.htm?id=1

 

[javascript] view plaincopyprint?

  1. <mce:script languge=javascript><!--  
  2.      
  3. alert(window.location.pathname);   --返回   /test/test.htm      
  4. alert(window.location.search);     --返回   ?id=1     
  5. alert(window.location.href);       --返回   http://localhost/test/test.htm?id=1     
  6. // --></mce:script>    

<mce:script languge=javascript><!-- alert(window.location.pathname); --è¿å /test/test.htm alert(window.location.search); --è¿å ?id=1 alert(window.location.href); --è¿å http://localhost/test/test.htm?id=1 // --></mce:script>

 

 

 

location对象
含有当前URL的信息.
属性
href 整个URL字符串. 
protocol 含有URL第一部分的字符串,如http: 
host 包含有URL中主机名:端口号部分的字符串.如//www.zzcn.net/server/ 
hostname 包含URL中主机名的字符串.如http://www.zzcn.net/ ;
port 包含URL中可能存在的端口号字符串. 
pathname URL中"/"以后的部分.如~list/index.htm 
hash "#"号(CGI参数)之后的字符串. 
search "?"号(CGI参数)之后的字符串.
在HTML中用JS接收参数用到的函数

 

[javascript] view plaincopyprint?

  1. function getParameter(param)  
  2. {  
  3.     var query = window.location.search;  
  4.     var iLen = param.length;  
  5.     var iStart = query.indexOf(param);  
  6.     if (iStart == -1)  
  7.        return "";  
  8.     iStart += iLen + 1;  
  9.     var iEnd = query.indexOf("&", iStart);  
  10.     if (iEnd == -1)  
  11.        return query.substring(iStart);  
  12.     return query.substring(iStart, iEnd);  
  13. }  

function getParameter(param) { var query = window.location.search; var iLen = param.length; var iStart = query.indexOf(param); if (iStart == -1) return ""; iStart += iLen + 1; var iEnd = query.indexOf("&", iStart); if (iEnd == -1) return query.substring(iStart); return query.substring(iStart, iEnd); }

 

 

 

使用的时候:var temp = getParameter("传过来的参数");
必须得xx.htm?xx=xx这样用哦。呵呵,,,
HTML静态参数做法(JavaScript接收)----  2

 

[javascript] view plaincopyprint?

  1. /** 
  2. * HTML接收参数 
  3. */  
  4. function   request(paramName)  
  5. {  
  6.     //获取URL的字符串  
  7.     var sSource=String(window.document.location);  
  8.     var sName= paramName;    
  9.     var sReturn="";     
  10.     var sQUS="?";     
  11.     var sAMP="&";     
  12.     var sEQ="=";     
  13.     var iPos;  
  14.   
  15.     //获取sSource中的"?",无则返回 -1  
  16.     iPos=sSource.indexOf(sQUS);  
  17.     if(iPos==-1)   
  18.         return;   
  19.       
  20.     //汲取参数,从iPos位置到sSource.length-iPos的位置,  
  21.     //若iPos = -1,则:从-1 到 sSource.length+1  
  22.     var strQuery=sSource.substr(iPos,sSource.length-iPos);   
  23.   
  24.     // alert(strQuery);   
  25.     //先全部转换为小写  
  26.     var   strLCQuery = strQuery.toLowerCase();     
  27.     var   strLCName  = sName.toLowerCase();   
  28.   
  29.     //从子字符串strLCQuery中查找“?”、参数名,以及“=”,即“?参数名=”  
  30.     iPos   = strLCQuery.indexOf(sQUS + strLCName + sEQ);  
  31.     //alert(iPos);  
  32.     //如果不存在   
  33.     if(iPos == -1)     
  34.     {     
  35.         //继续查找可能的后一个参数,即带“&参数名=”  
  36.         iPos = strLCQuery.indexOf(sAMP + strLCName + sEQ);     
  37.     }  
  38.   
  39.     //判断是否存在参数  
  40.     if(iPos != -1)  
  41.     {      
  42.         sReturn = strQuery.substr(iPos + sName.length + 2,strQuery.length-(iPos + sName.length + 2));     
  43.         var iPosAMP = sReturn.indexOf(sAMP);     
  44.         if (iPosAMP == -1)  
  45.         {  
  46.             return   sReturn;     
  47.         }  
  48.         else  
  49.         {     
  50.             sReturn = sReturn.substr(0,iPosAMP);     
  51.         }     
  52.     }  
  53.     return   sReturn;   
  54. }  

/** * HTMLæ¥æ¶åæ° */ function request(paramName) { //è·åURLçå­ç¬¦ä¸² var sSource=String(window.document.location); var sName= paramName; var sReturn=""; var sQUS="?"; var sAMP="&"; var sEQ="="; var iPos; //è·åsSource中ç"?"ï¼æ åè¿å -1 iPos=sSource.indexOf(sQUS); if(iPos==-1) return; //æ±²ååæ°ï¼ä»iPosä½ç½®å°sSource.length-iPosçä½ç½®ï¼ //è¥iPos = -1ï¼åï¼ä»-1 å° sSource.length+1 var strQuery=sSource.substr(iPos,sSource.length-iPos); // alert(strQuery); //åå¨é¨è½¬æ¢ä¸ºå°å var strLCQuery = strQuery.toLowerCase(); var strLCName = sName.toLowerCase(); //ä»å­å­ç¬¦ä¸²strLCQueryä¸­æ¥æ¾â?âãåæ°åï¼ä»¥åâ=âï¼å³â?åæ°å=â iPos = strLCQuery.indexOf(sQUS + strLCName + sEQ); //alert(iPos); //妿ä¸å­å¨ if(iPos == -1) { //ç»§ç»­æ¥æ¾å¯è½çåä¸ä¸ªåæ°ï¼å³å¸¦â&åæ°å=â iPos = strLCQuery.indexOf(sAMP + strLCName + sEQ); } //夿­æ¯å¦å­å¨åæ° if(iPos != -1) { sReturn = strQuery.substr(iPos + sName.length + 2,strQuery.length-(iPos + sName.length + 2)); var iPosAMP = sReturn.indexOf(sAMP); if (iPosAMP == -1) { return sReturn; } else { sReturn = sReturn.substr(0,iPosAMP); } } return sReturn; }

 

 

 

比如URL=www.123.com?a1=中国&a2=美国&日本
参数接收:

 

[javascript] view plaincopyprint?

  1. <mce:script language="javascript"><!--  
  2.     var a1=request("a1");  
  3.     var a2=request("a2");  
  4.     var a3=request("a3");  
  5.     alert("a1="+a1+",a2="+a2+",a3="+a3);  
  6. // --></mce:script>    

<mce:script language="javascript"><!-- var a1=request("a1"); var a2=request("a2"); var a3=request("a3"); alert("a1="+a1+",a2="+a2+",a3="+a3); // --></mce:script>

 

 

 

<div   id= 'username '> </div> 

<script   language= 'javascript '> 
document.getElementById( 'username ').innerHTML   =   getcookie( 'username '); 
</script>


注意:document.getElementById( 'username ').innerHTML = getcookie( 'username '); 一定要放在所要得到数据DIV 的下面

 

 

JSP 接收带中文的参数

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 

<%

	String userName = new String(request.getParameter("username").getBytes("iso8859-1"),"UTF-8");

	String birthday = new String(request.getParameter("birthday").getBytes("iso8859-1"),"UTF-8");

	String myparameter = (String)request.getAttribute("another");

%>

用户名:<%=userName %>

用户生日:<%=birthday %>

用户自定义参数:<%=myparameter %>
JSP页面中需要加入:
<%@ page contentType = "text/html; charset=GBk" %>
<%@page   pageEncoding= "GBk"%>
<%request.setCharacterEncoding( "GBk");%>
<%@ page import="java.net.URLEncoder" %>



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值