当前位置:文档之家› JSP页面间传递参数方法介绍txt

JSP页面间传递参数方法介绍txt

JSP页面间传递参数方法介绍txt
JSP页面间传递参数方法介绍txt

JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数。下面介绍一下实现的方法。

(1)直接在URL请求后添加

如:直接传递参数< /a>

特别的在使用response.sendRedirect做页面转向的时候,也可以用如下代码:

response.sendRedirect("thexuan.jsp?action=transparams&detail=directe") ,可用request.getParameter(name)取得参数

(2)jsp:param

它可以实现主页面向包含页面传递参数,如下:

还可以实现在使用jsp:forward动作做页面跳转时传递参数,如下:

< jsp:forward page="Relative URL"> < jsp:param name="paramname" value="paramvalue" /> < /jsp:forward> 通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数

(3)设置session和request

通过显示的把参数放置到session和request中,以达到传递参数的目的

session.setAttribute(name,value);

request.setAttribute(name,value)

取参数:

value=(value className)session.getAttribute(name);

value=(value className)request.getAttribute(name);

大家肯定已经注意到了,在取参数的时候,做了类型转换,这是因为放置在session和request 中的对象的属性被看作https://www.doczj.com/doc/0214190330.html,ng.Object类型的了,如果不转换,在将直付给value时会报classcastexception异常。

在多个JSP页面之间传递参数

1. 怎么在多个JSP页面之间进行参数传递?需要使用JSP的内置作用域对象session。利用它的两个方法setAttribute(),getAttribute()

2. 下面的这个实例实现了把第一个JSP页面的参数传递给第三个页面的功能

3.代码如下:1.jsp

< html>

< form method=get action=2.jsp>

what's your name< input type=text name=username>

< input type=submit value=submit>

< /form>

< /html>

2.jsp

< html>

< form method=post action="3.jsp?pass=11">

<% String name=request.getParameter("username");

session.setAttribute("username",name); %>

Your name is:<%=request.getParameter("username")%>

< br>

what's your hobby< input type=text name=hobby>

< input type=submit value=submit>

< /form>

< /html>

5. 3.jsp

< html>

your name is:< %=session.getAttribute("username")%>

< br>

your hobby is:< %=request.getParameter("hobby")%>

< br>

your password is:< %=request.getParameter("pass")%>

< br>

< /form>

< /html>

再看一下例子

<%@ page language="java" import="java.util.*" %>

<%@ page info="houwen" session="true"%>

JSP DATE EXAMPLE

----------------------------------------------------------------

<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>

<%@ page import = "java.sql.*,java.util.* ,com.bean.*"%>

欢迎留言

<%

out.print(request.getParameter("a"));

%>

例B(session传值):

1.两个页面之间传值:

<%@ page session="true" %>

<%

Integer num = new Integer(100);

session.setAttribute("num",num);

url = response.encodeURL("exa4_2_2.jsp");

%>

exa4_2_2.jsp

----------------------------------------------------------------

exa4_2_2.jsp文件如下:

<%@ page session="true" %>

<%

Integer i=(Integer)session.getAttribute("num");

out.println("Num value in session is "+ i.intValue());

%>

2.三个页面传值:

<%@ page language="java" contentType="text/html;charset=gb2312"%>

session test

请输入你的姓名:

---------------------------------------------------------------- <%@ page language="java" contentType="text/html;charset=gb2312"%>

session test

<%@ page language="java" %>

<%! String name=""; %>

<%

name = request.getParameter("thename");

session.putValue("thename", name);

%>

你的姓名是:<%=name%>

你喜欢吃什么 ?

---------------------------------------------------------------- <%@ page language="java" contentType="text/html;charset=gb2312"%>

session test

<%@ page language="java" %>

<%! String food="";

String name="";

%>

<% food = request.getParameter("food");

name = (String) session.getValue("thename");

%>

你的姓名是: <%= name %>

你喜欢吃: <%= food %>

Java中传值与传引用的三种情况

java传值与传引用的三种情况大家先看一个例子: public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); System.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } 看看输出结果? good and gbc java中没有了c++中这样的引用符号,也没像c#中那样提供了out与ref 那么它是怎么做的呢 做什么事情都要去除例外的东西,String类就是此类问题的一个特殊情况 为什么特殊呢?

因为它是一个引用类型,确执行的是值传递。这样说有些抽象,还是举个例子吧 值传递: class Str { public static void main(String[] args) { int i = 900; System.out.println(i); changeInt(i); System.Out.println(i); } public static void changeInt(int s) { s = 34234; } } 结果: 900 900 这就是所谓的值传递。i把自己的副本给了函数changeInt的形参,而在changeInt中虽然将s赋值34234。但是对原来的i值并没有影响,因为它所修改的只是i的copy品而已。

url传递参数(特殊字符)解决方法

url 传递参数(特殊字符)解决方法 首先设置apache 配置文件,server.xml 在port=8080 那一行中加上URIEcoding=GBK 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码 十六进制值 1. + URL 中+号表示空格%2B 2. 空格URL中的空格可以用+号或者编码%20 3. / 分隔目录和子目录%2F 4. ? 分隔实际的URL 和参数%3F 5. % 指定特殊字符%25 6. # 表示书签%23 7. & URL 中指定的参数间的分隔符%26 8. = URL 中指定参数的值%3D 解决的方法: replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以替换掉全部匹配的字符(g为全局标志)。 replace() js中替换字符变量如下: data2=data2.replace(/\%/g,"%25"); data2=data2.replace(/\#/g,"%23"); data2=data2.replace(/\&/g,"%26"); -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 其他一些资料。。。仅供参考。。。 在使用url进行参数传递时,经常会传递一些中文名(或含有特殊字符)的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的URL,与使用客户端java的encodeURI函数编码的URL,结果就不一样。

js如何获取当前网页的url信息

https://www.doczj.com/doc/0214190330.html, js如何获取当前网页的url信息 JS也就是JavaScript,它是是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。 尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的编程语言来推广和宣传,但是JavaScript是一门具有非常丰富特性的语言,它有着和其他编程语言一样的复杂性,或更甚复杂。 在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,本文就简要聊一聊如何用JS取当前网页的url信息。 URL即:统一资源定位符(Uniform Resource Locator, URL) 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment scheme:通信协议 常用的http,ftp,maito等。

https://www.doczj.com/doc/0214190330.html, 1、设置或获取对象指定的文件名或路径。 alert(window.location.pathname) 2、设置或获取整个URL 为字符串。 alert(window.location.href); //没有登录时,先登录 window.location.href="/hdmall/login.hd"; 3、设置或获取与URL 关联的端口号码。 alert(window.location.port) 4、设置或获取URL 的协议部分。 alert(window.location.protocol) 5、设置或获取href 属性中在井号“#”后面的分段。 alert(window.location.hash) 6、设置或获取location 或URL 的hostname 和port 号码。

java中的值传递和引用传递

转载 原文地址:https://www.doczj.com/doc/0214190330.html,/clara/archive/2011/09/17/2179493.html Java中的值传递和引用传递 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。 Java参数,不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言)。 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。如果在函数中改变了副本的值不会改变原始的值. 如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。如果在函数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数内的改变会影响到传入的参数。如果在函数中改变了副本的地址,如new一个,那么副本就指向了一个新的地址,此时传入的参数还是指向原来的地址,所以不会改变参数的值。 例: 1public class ParamTest { 2public static void main(String[] args){ 3/** 4 * Test 1: Methods can't modify numeric parameters 5 */ 6 System.out.println("Testing tripleValue:"); 7double percent = 10; 8 System.out.println("Before: percent=" + percent); 9 tripleValue(percent); 10 System.out.println("After: percent=" + percent); 11 12/** 13 * Test 2: Methods can change the state of object parameters 14 */ 15 System.out.println("\nTesting tripleSalary:"); 16 Employee harry = new Employee("Harry", 50000);

函数调用参数传递类型(java)的用法介绍.

函数调用参数传递类型(java)的用法介绍. java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。 (一)基本数据类型:传值,方法不会改变实参的值。 public class TestFun { public static void testInt(int i){ i=5; } public static void main(String[] args) { int a=0 ; TestFun.testInt(a); System.out.println("a="+a); } } 程序执行结果:a=0 。 (二)对象类型参数:传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值。 举两个例子: (1)方法体内改变形参引用,但不会改变实参引用,实参值不变。 public class TestFun2 { public static void testStr(String str){ str="hello";//型参指向字符串“hello” } public static void main(String[] args) { String s="1" ;

TestFun2.testStr(s); System.out.println("s="+s); //实参s引用没变,值也不变 } } 执行结果打印:s=1 (2)方法体内,通过引用改变了实际参数对象的内容,注意是“内容”,引用还是不变的。 import java.util.HashMap; import java.util.Map; public class TestFun3 { public static void testMap(Map map){ map.put("key2","value2");//通过引用,改变了实参的内容 } public static void main(String[] args) { Map map = new HashMap(); map.put("key1", "value1"); new TestFun3().testMap(map); System.out.println("map size:"+map.size()); //map内容变化了 } } 执行结果,打印:map size:2 。可见在方法testMap()内改变了实参的内容。 (3)第二个例子是拿map举例的,还有经常涉及的是 StringBuffer : public class TestFun4 {

JS分段获取URL解析

JS分段获取URL解析 URL : 统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment scheme = 通信协议 (常用的http,ftp,maito等) host = 主机 (域名或IP) port = 端口号 path = 路径 query = 查询 可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/https://www.doczj.com/doc/0214190330.html,等技术制作的网页)传递参数,可有多个参数,用”&”符号隔开,每个参数的名和值用”=”符号隔开。 fragment = 信息片断 字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.) 对于这样一个URL https://www.doczj.com/doc/0214190330.html,:80/seo/?ver=1.0&id=6#imhere 我们可以用javascript获得其中的各个部分 1, window.location.href 整个URl字符串(在浏览器中就是完整的地址栏) 2,window.location.protocol URL 的协议部分

本例返回值:http: 3,window.location.host URL 的主机部分 本例返回值:https://www.doczj.com/doc/0214190330.html, 4,window.location.port URL 的端口部分 如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符本例返回值:”" 5,window.location.pathname URL 的路径部分(就是文件地址) 本例返回值:/seo/ 6,window.location.search 查询(参数)部分 除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值本例返回值:?ver=1.0&id=6 7,window.location.hash 锚点 本例返回值:#imhere

javascript实用代码实例 js 定位 延时 传值 跳转

优点;用户操作感觉满意度高; 仅javascript的html,实现多验证多功能,不用回传,效率高,用户体验好; 知识点:可视窗口的背景着色, div的任意绝对定位, 各种输入文本情况的确检测, 用js控制div的内容:innerHTML, isNaN方法:判断字符串是否全是数字, js实现延时自动跳转到另一页面, 接受上一页面的传来的信息,并判断,进行回应:request[“uid”] login.html 将以下内容复制到文本中,改后缀名为.htm或html 即可看到显示结果 homepage 脚本运行后,page.html将在新窗体newwindow中打开,宽为100,高为400,距屏顶0象素,屏左0象素,无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。请对照。 上例中涉及的为常用的几个参数,除此以外还有很多其他参数,请见四。四、各项参数其中yes/no也可使用1/0;pixelvalue为具体的数值,单位象素。 参数|取值范围|说明 alwaysLowered|yes/no|指定窗口隐藏在所有窗口之后 alwaysRaised|yes/no|指定窗口悬浮在所有窗口之上 depended|yes/no|是否和父窗口同时关闭 directories|yes/no|Nav2和3的目录栏是否可见 height|pixelvalue|窗口高度 hotkeys|yes/no|在没菜单栏的窗口中设安全退出热键 innerHeight|pixelvalue|窗口中文档的像素高度 innerWidth|pixelvalue|窗口中文档的像素宽度 location|yes/no|位置栏是否可见 menubar|yes/no|菜单栏是否可见

js取得当前url,javascript获取当前页面url值,js获取域名-

js取得当前url,javascript获取当前页面url值,js获取域名- js取得当前url,javascript获取当前页面url值,js获取域名 分类:JS 2010-09-01 14:14 如果获取“当前”域名 host = window.location.host; url=document.domain; url = window.location.href; 取得完整url路径: 用以下代码可以完整研证结果: thisDLoc = document.location; thisURL = document.URL; thisHREF = document.location.href; thisSLoc = self.location.href; thisTLoc = top.location.href; thisPLoc = parent.document.location; thisTHost = top.location.hostname;

thisHost = location.hostname; 还有一种稍有些复杂的取域名的方法,也是过滤了文件夹名,文件名,参数 …… var getHost = function(url) { var host = "null"; if(typeof url == "undefined"|| null == url) { url = window.location.href; } var regex = /.*\:\/\/([^\/]*).*/; var match = url.match(regex); if(typeof match != "undefined" && null != match) { host = match[1]; } return host; }

java参数是如何传递的

java参数是如何传递的 总的来说,计算机语言给子程序传递参数的方法有两种。第一种方法是按值传递(call-by-value )。这种方法将一个参数值(value )复制成为子程序的正式参数。这样,对子程序的参数的改变不影响调用它的参数。第二种传递参数的方法是引用调用(call-by-reference )。在这种方法中,参数的引用(而不是参数值)被传递给子程序参数。在子程序中,该引用用来访问调用中指定的实际参数。这样,对子程序参数的改变将会影响调用子程序的参数。你将看到,根据传递的对象不同,Java 将使用这两种不同的方法。 在Java 中,当你给方法传递一个简单类型时,它是按值传递的。因此,接收参数的子程序参数的改变不会影响到该方法之外。例如,看下面的程序: // Simple types are passed by value. class Test { void meth(int i,int j) { i *= 2;j /= 2; } } class CallByValue { public static void main(String args[]) { Test ob = new Test(); int a = 15,b = 20; System.out.println("a and b before call: " +a + " " + b); ob.meth(a,b); System.out.println("a and b after call: " +a + " " + b); } } 该程序的输出如下所示: a and b before call: 15 20 a and b after call: 15 20 可以看出,在meth( ) 内部发生的操作不影响调用中a和b的值。它们的值没在本例中没有变为30和10。 当你给方法传递一个对象时,这种情形就会发生戏剧性的变化,因为对象是通过引用传递的。记住,当你创建一个类类型的变量时,你仅仅创建了一个类的引用。因此,当你将这个引用传递给一个方法时,接收它的参数将会指向该参数指向的同一个对象。这有力地证明了对象是通过引用调用传递给方法的。该方法中对象的改变确实影响了作为参数的对象。例如,考虑下面的程序: // Objects are passed by reference. class Test { int a,b; Test(int i,int j) {a = i;b = j; } // pass an object void meth(Test o) {

JS传值

本周没有接到新的项目,主要是对过去开发的未升级的项目进行修改。不过,倒是总结学习了一点点的东西。现将总结的JS传值与大家分享。 JS传值 父页面弹出子页面对话框,若传值,通常情况下使用的是get方式传值,也就是拼参数串,通过URL传递参数。 这种传值方式有以下问题(只针对弹出页面对话框这种情况): 1 参数不需要变化时,传给服务器后又传回页面,浪费资源。 2 若参数为中文参数,可能会出现乱码现象。 3 参数若是很多的情况下,可能会传参失败,因为get方式传值是有长度限制的。 JS传值,不需要经过服务器的中间转接发送。 若父页面到子页面单向传值: 父页面: function openChild(){ window.showModalDialog('child.jsp',{params:['中国','河南 ']},'dialogHeight=620px; dialogWidth=700px; status=no'); } 子页面: 若父页面到子页面传值并接收子页面返回值时: 父页面: function openChild(){ var value = window.showModalDialog('child.jsp',{params:['中国','河南']},'dialogHeight=620px; dialogWidth=700px; status=no'); alert(value); //对返回值进行操作

java参数传递时到底是值传递还是引用传递

java参数传递时到底是值传递还是引用传递(baidu搜集) 最近比较长一段时间以来,网上的IT同行里面比较流行“JAVA面试32问”,很多人的BLOG里都引用这些面试题,最近因为工作内容比较枯燥,也来看看这些试题以调节一下口味,其中有一道题让我很费解。 原题是:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 用google查询结果,得到答案基本上是:值传递。当时觉得挺纳闷儿,为什么连参数的内容都被修改了,怎么还能说是“值传递”呢?因为在传统的印象里(尤其是从C++过来以后),值传递都应该是不改变原参数的。 问问周围的同事,也大都这么讲,但是也都讲不清这种理论的根源是什么。我这个人有个毛病,有事情想不通时就会憋得难受,后来在《Thinking in Java》的一段内容(注解[1])里找到了自己的结论,我认为(《Thinking in Java》的作者也这么认为):可以说是值传递,也可以说是引用传递。 一,认为是值传递。得出这种结论的前提必须是“参数的值就是对该对象的引用,而不是对象的内容”,这句话可能有些费解,举个例子加以说明。 public class Paier { public static void main(String[] args) { Paier paier = new Paier(); paier.test();

} public void test() { TestClass para1 = new TestClass(); para1.setTest(new Integer(10)); TestClass result1 = test1(para1); System.out.println("para1 = " + para1.getTest()); System.out.println("result1 = " + result1.getTest()); TestClass para2 = new TestClass(); para2.setTest(new Integer(10)); TestClass result2 = test2(para2); System.out.println("para2 = " + para2.getTest()); System.out.println("result2 = " + result2.getTest()); } public TestClass test1(TestClass t) {

Java值传递和引用

java语言深入(java中是传值还是引用) 关键字: java基础深入 熟悉C的程序员都用过指针,对指针可谓爱之深恨之切。指针是指向一块内存地址的内存数据(有些拗口),也就是说指针本身是一个占用4字节内存的int(32 位系统内),而这个int值恰恰又是另一块内存的地址。比如"hello"这个字串,存放在@0x0000F000这个地址到@0x0000F005这段内存区域内(包括0x00的结束字节)。而在@0x0000FFF0到@0x0000FFF03这四个字节内存放着一个int,这个int的值是@0x0000F000。这样就形成了一个指向"hello"字串的指针。 在Java中,很多人说没有指针,事实上,在Java更深层次里,到处都是大师封装好的精美绝伦的指针。为了更容易的讲解Java 中关于类和类型的调用,Java中出现了值与引用的说法。浅显的来说,我们可以认为Java中的引用与C中的指针等效(其实差别非常非常大,但是为了说明我们今天的问题,把他们理解为等效是没有任何问题的)。 所谓传引用的说法是为了更好的讲解调用方式。基于上面对指针的理解,我们不难看出,指针其实也是一个int值,所谓传引用,我们是复制了复制了指针的int值进行传递。为了便于理解,我们可以姑且把指针看作一种数据类型,透明化指针的int特性,从而提出传引用的概念。 重申一遍:Java中只有传值。 1所谓传值和传引用 传值和传引用的问题一直是Java里争论的话题。与C++不同的,Java里面没有指针的概念,Java的设计者巧妙的对指针的操作进行了管理。事实上,在懂C++的Java程序员眼中,Java到处都是精美绝伦的指针。 下面举个简单的例子,说明什么是传值,什么是传引用。 //例1 void method1(){ int x=0; this.change(x); System.out.println(x); } void int change(int i){ i=1; } 很显然的,在mothod1中执行了change(x)后,x的值并不会因为change方法中将输入参数赋值为1而变成1,也就是说在执行change(x)后,x的值z依然是0。这是因为x传递给change(int i)的是值。这就是最简单的传值。 同样的,进行一点简单的变化。 //例2 void method1(){ StringBuffer x=new StringBuffer("Hello"); this.change(x); System.out.println(x); }

js获取文本框的值!js获取浏览器高度和宽度值

网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的高) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document.body.scrollTop 网页被卷去的左:document.body.scrollLeft 网页正文部门上:window.screenTop 网页正文部门左:window.screenLeft 荧幕分辩率的高:window.screen.height 荧幕分辩率的宽:window.screen.width 荧幕可用事情区高度:window.screen.availHeight 荧幕可用事情区宽度:window.screen.availWidth IE中:document.body.clientWidth ==> BODY 对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 FireFox中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 Opera中: document.body.clientWidth ==> 可见区域宽度 document.body.clientHeight ==> 可见区域高度 document.documentElement.clientWidth ==> 页面临象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面临象高度(即BODY对象高度加上Margin 高) 没有界说W3C的规范,则 IE为: document.documentElement.clientWidth ==> 0 document.documentElement.clientHeight ==> 0 FireFox为: document.documentElement.clientWidth ==> 页面临象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面临象高度(即BODY对象高度加上Margin高)Opera为: document.documentElement.clientWidth ==> 页面临象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面临象高度(即BODY对象高度加上Margin高)

java对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释

java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释 2009-10-15 20:21 ***对象作为参数传递*** class passparam { int x; public static void main(String[] args) { passparam obj = new passparam(); obj.x=5; change(obj); System.out.println(obj.x); //如果change方法不是静态的,想调用它就得写成new passparam().change(obj); } public static void change(passparam obj) //如果这个函数前面没加static编译出错,因为非静态方法,不能被静态方法直接调用,main 是一个静态方法。 { obj.x=3;} } 结果:3 ***数组作为参数传递*** class passparam { int x; public static void main(String[] args) { passparam obj = new passparam(); int []x=new int[1]; x[0]=5; change(x); System.out.println(x[0]); } public static void change(int[] x) { x[0]=3; } } 结果:3 ***静态变量、静态方法的使用*** 静态变量相当于全局变量 class Chinese { static string country="中国"; //如果改为private static string country="中国" 下面的两处调用,就会出错 String name; int age; static void sing() { System.out.println("啊~~") void singOurCountry() { System.out.println(country); sing(); } }

js获取url传递参数==

这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET 函数: 然后我们通过调用此函数获取对应参数值: 以此获取url串中所带的同名参数 二、正则分析法。 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i"); var r = window.location.search.substr(1).match(reg); if (r!=null) return (r[2]); return null; } alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3"));

其他参数获取介绍: //设置或获取对象指定的文件名或路径。 alert(window.location.pathname); //设置或获取整个URL 为字符串。 alert(window.location.href); //设置或获取与URL 关联的端口号码。 alert(window.location.port); //设置或获取URL 的协议部分。 alert(window.location.protocol); //设置或获取href 属性中在井号“#”后面的分段。 alert(window.location.hash); //设置或获取location 或URL 的hostname 和port 号码。alert(window.location.host); //设置或获取href 属性中跟在问号后面的部分。 alert(window.location.search);

关于JAVA中参数地址传递的问题

public class Test5 { public static void main(String[] args) { int [] a = { 1, 2, 3, 4, 5 }; int [] b = new int [a.length ]; System.out .println("交换前:"); print (a); print (b); b = swap (a); System.out .println("交换后:"); print (a); print (b); } private static void print(int [] a) { for (int i = 0; i < a.length ; i++) { System.out .print(" " + a[i]); } System.out .println(); } private static int [] swap(int [] c) { int [] tmp = new int [c.length ]; for (int j = 0; j < c.length ; j++) { tmp[j] = c[c.length - j - 1] + 10; } return tmp; } } 结果: 交换前: 1 2 3 4 5 0 0 0 0 0 交换后: 1 2 3 4 5 15 14 13 12 11 说明: 在该程序中,在调用swap()方法时,,数组a 将其地址传递给数组c ,所以a 和c 是指向同一个数组。 但在swap 方法中,新生成了一个数组tmp,改变是在tmp 数组上进行的.返回时把tmp 数组的首地址送数组b.所以b 指向改变后数组tmp. public class Test5 { public static void main(String[] args) { int [] a = { 1, 2, 3, 4, 5 }; int [] b = new int [a.length ]; System.out .println("交换前:"); print (a); print (b); b = swap (a); System.out .println("交换后:"); print (a); print (b); } private static void print(int [] a) { for (int i = 0; i < a.length ; i++) { System.out .print(" " + a[i]); } System.out .println(); } private static int[] swap(int [] c) { for (int j = 0; j < a.length ; j++) { c[j] = c[c.length - j - 1] + 10; } return c ; } } 结果: 交换前: 1 2 3 4 5 0 0 0 0 0 交换后: 15 14 13 24 25 15 14 13 24 25 说明: 在该程序中,在调用swap()方法时,数组a 将其地址传递给数组c ,所以a 和c 是指向同一个数组。 返回时,数组b 不再指向原来的数组,而指向c 所在的数组。 注: JAVA 中参数传递时是值传递,引用型与基本数据类型是不同的. 1 2 3 4 5 15 14 13 12 11 a[ ] c[ ] 0 0 0 0 0 b[ ] a[ ] c[ ] b[ ] 1 2 3 4 5 1 2 3 4 5 a[ ] c[ ] 0 0 0 0 0 b[ ] a[ ] c[ ] b[ ] 15 14 13 12 11

相关主题
文本预览
相关文档 最新文档