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

来源:互联网 发布:卡夫亨氏的管培生 知乎 编辑:程序博客网 时间:2024/06/09 20:57

先介绍一下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>    

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. }  

使用的时候: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. }  

比如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>    

<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" %>



 

 

原创粉丝点击