先介绍一下JS中处理URL的方法:
网址示例:http://localhost/test/?id=1
[javascript] view plaincopyprint?
- <mce:script languge=javascript><!--
- alert(); --返回 /test/
- alert(); --返回 ?id=1
- alert(); --返回 http://localhost/test/?id=1
- // --></mce:script>
<mce:script languge=javascript><!-- alert(); --è¿å /test/ alert(); --è¿å ?id=1 alert(); --è¿å http://localhost/test/?id=1 // --></mce:script>
location对象
含有当前URL的信息.
属性
href 整个URL字符串.
protocol 含有URL第一部分的字符串,如http:
host 包含有URL中主机名:端口号部分的字符串.如///server/
hostname 包含URL中主机名的字符串.如/ ;
port 包含URL中可能存在的端口号字符串.
pathname URL中"/"以后的部分.如~list/
hash "#"号(CGI参数)之后的字符串.
search "?"号(CGI参数)之后的字符串.
在HTML中用JS接收参数用到的函数
[javascript] view plaincopyprint?
- function getParameter(param)
- {
- var query = ;
- var iLen = ;
- var iStart = (param);
- if (iStart == -1)
- return "";
- iStart += iLen + 1;
- var iEnd = ("&", iStart);
- if (iEnd == -1)
- return (iStart);
- return (iStart, iEnd);
- }
function getParameter(param) { var query = ; var iLen = ; var iStart = (param); if (iStart == -1) return ""; iStart += iLen + 1; var iEnd = ("&", iStart); if (iEnd == -1) return (iStart); return (iStart, iEnd); }
使用的时候:var temp = getParameter("传过来的参数");
必须得?xx=xx这样用哦。呵呵,,,
HTML静态参数做法(JavaScript接收)---- 2
[javascript] view plaincopyprint?
- /**
- * HTML接收参数
- */
- function request(paramName)
- {
- //获取URL的字符串
- var sSource=String();
- var sName= paramName;
- var sReturn="";
- var sQUS="?";
- var sAMP="&";
- var sEQ="=";
- var iPos;
- //获取sSource中的"?",无则返回 -1
- iPos=(sQUS);
- if(iPos==-1)
- return;
- //汲取参数,从iPos位置到-iPos的位置,
- //若iPos = -1,则:从-1 到 +1
- var strQuery=(iPos,-iPos);
- // alert(strQuery);
- //先全部转换为小写
- var strLCQuery = ();
- var strLCName = ();
- //从子字符串strLCQuery中查找“?”、参数名,以及“=”,即“?参数名=”
- iPos = (sQUS + strLCName + sEQ);
- //alert(iPos);
- //如果不存在
- if(iPos == -1)
- {
- //继续查找可能的后一个参数,即带“&参数名=”
- iPos = (sAMP + strLCName + sEQ);
- }
- //判断是否存在参数
- if(iPos != -1)
- {
- sReturn = (iPos + + 2,-(iPos + + 2));
- var iPosAMP = (sAMP);
- if (iPosAMP == -1)
- {
- return sReturn;
- }
- else
- {
- sReturn = (0,iPosAMP);
- }
- }
- return sReturn;
- }
/** * HTMLæ¥æ¶åæ° */ function request(paramName) { //è·åURLçå符串 var sSource=String(); var sName= paramName; var sReturn=""; var sQUS="?"; var sAMP="&"; var sEQ="="; var iPos; //è·åsSourceä¸ç"?"ï¼æ åè¿å -1 iPos=(sQUS); if(iPos==-1) return; //æ±²ååæ°ï¼ä»iPosä½ç½®å°-iPosçä½ç½®ï¼ //è¥iPos = -1ï¼åï¼ä»-1 å° +1 var strQuery=(iPos,-iPos); // alert(strQuery); //åå¨é¨è½¬æ¢ä¸ºå°å var strLCQuery = (); var strLCName = (); //ä»åå符串strLCQueryä¸æ¥æ¾â?âãåæ°åï¼ä»¥åâ=âï¼å³â?åæ°å=â iPos = (sQUS + strLCName + sEQ); //alert(iPos); //å¦æä¸åå¨ if(iPos == -1) { //继ç»æ¥æ¾å¯è½çåä¸ä¸ªåæ°ï¼å³å¸¦â&åæ°å=â iPos = (sAMP + strLCName + sEQ); } //å¤ææ¯å¦åå¨åæ° if(iPos != -1) { sReturn = (iPos + + 2,-(iPos + + 2)); var iPosAMP = (sAMP); if (iPosAMP == -1) { return sReturn; } else { sReturn = (0,iPosAMP); } } return sReturn; }
比如URL=?a1=中国&a2=美国&日本
参数接收:
[javascript] view plaincopyprint?
- <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>
<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 '>
( 'username ').innerHTML = getcookie( 'username ');
</script>
注意:( 'username ').innerHTML = getcookie( 'username '); 一定要放在所要得到数据DIV 的下面
JSP 接收带中文的参数
<%@ page language="java" import=".*" pageEncoding="UTF-8"%>
<%
String userName = new String(("username").getBytes("iso8859-1"),"UTF-8");
String birthday = new String(("birthday").getBytes("iso8859-1"),"UTF-8");
String myparameter = (String)("another");
%>
用户名:<%=userName %>
用户生日:<%=birthday %>
用户自定义参数:<%=myparameter %>
JSP页面中需要加入:
<%@ page contentType = "text/html; charset=GBk" %>
<%@page pageEncoding= "GBk"%>
<%( "GBk");%>
<%@ page import="" %>