标签的路径所对应.这部分后面会提到. 3、java片段代码,servlet只能接到session.setAttribute("testSession","Hello session")的内容,而接不到request的内容.在servlet里用request.getSession().getAttribute("testSession")获Jsp页面传参的4种常用方式
Jsp页面传参的4种常用方式 来源:未知更新时间:2010-06-27 点击: 266次 jsp页面之间传递参数的方式有很多种,今天为大家总结常用的4种传参方式。 1.JavaScript传参:这种传参方式用opener关键字, 可以实现跨页传参.其用法就是用opene r关键字调用父窗体的一个组件. 举例: opener.myform.txt.value = document.myform.txt.value; 优点: 简单,对网络传输限制比较底. 缺点: 不灵活,对与大量的传参不现实,也不实际. 2. " ? "传参: 在传递地址的尾部加上? 后面跟参数的名字和其值,在另外一个Jsp页面中就可以用request.getParameter("参数名字");获取到传递的参数. 举例: http://localhost:8080/bbs/tiezi/jishu.jsp?id=1 优点: 灵活,只要把需要传递的参数放到一个变量中传递到传递的也面就可以了. 缺点: 对于批量传参也不现实. 3. session传参:通常把它用来实现状态维持.session中有2个参数,第一个为标识,第二个为值,形式("key","value") 如果你的思维敏捷,就能联想到散列表,对它就是散列表的一种实现. 应用举例: session.setAttribute("login","ok"); session.getAttribute("login"); 优点: 不用关心是什么数据类型,都可以放到session中,它以对象的形式存储于散列表中. 缺点: session中把所有数据当成对象来存取,所以每次我们用它的时候都要把类型强制转换为我们需要的类型. 4. JavaBean传参: 这是最高级的一种传递参数,它把任何数据类型,任何方式封装在JavaB ean中.我们在属性中定义需要传递的参数,然后加入一个get和set方法就可以了,在Jsp 中调用的时候可以设置其生命周期,完成传递参数的过程. 应用举例: package bean; public class sampleBean
Matlab多窗口传值问题(GUI)
Matlab多窗口传值问题(GUI) (上传者说明:此文是转载的) 2009-02-05 13:16 %by dynamic % %For more information,see also % %https://www.360docs.net/doc/673209201.html,——中国最大的数学工具软件联盟论坛 % %https://www.360docs.net/doc/673209201.html,——专业、优秀和权威的MATLAB技术交流平台 % %Email:matlabsky@https://www.360docs.net/doc/673209201.html, 1.直接传递 当要在一个matlab中的.m文件打开一个新窗口时候,可以直接传递例如有两个窗口 A.fig/A.m 和 B.fig/B.m 在 A.m中 B(var1) ; 即可传入参数 那么在B中这样获取即可: if length(varargin)==1 some_var= varargin{1}; end 2.通过output属性传回 在A.m中 some_var=B(var1); 也就是 B还需要返回值。 那么在B中就需要设置handles的output值了 function varargout = B_OutputFcn(hObject, eventdata, handles) varargout{1} = some_var_in_figure_B;
3. 几个重要的函数 1.getappdata(h,'Name'); 获取窗口句柄为h中的'Name'变量 2.setappdata(h,'Name',value);设置窗口句柄为h中的'Name'变量为Value 3.isappdata(h,'Name'); 判断h句柄下面有无‘Name’的变量 4.rmappdata(h,'Name');删除h句柄下面‘Name’的变量 5.guidata(h); 获取窗口句柄为h的 handles结构 6.guidata(h,handles); 设置窗口句柄为h的handles结构为handles 7.guihandles(h) 生成handles结构 说明: 关于appdata的几个函数是最基本的,每个figure都可以有几个很多appdata,setappdata(0,'Name',value) 当设置句柄为0时,表示整个Matlab 共享的数据域,任何figure都可以访问。这也可以成为数据传递的另一种方式。 handles是我们在GUI的m文件经常看到的东西,为什么会有guidata呢?那是因为一个figure对象下面可能有很多其他的对象,例如 edit axes slider 等等,为了将这些东西组织起来供用户方便的访问,matlab特地的添加了这个数据结构,它包括改figure所有的控件。你可以直接访问 使用 guihandles(h) 可以生成 hanles结构,它包含 h 中的所有控件,其中h 可以从fig文件load进来。 guidata(h) 返回 matlab默认给这个 figure生成的 handles结构。 guidata(h,handles) 是修改 h (如果是一个figure) 或者 h 的父figure 的handles值。 它会不停的向上查找 h的parent ,直到为figure,然后便修改其handles值。 4.句柄概念 个人认为,句柄就是相当于指针的意思,在Matlab中,每一个GUI对象都有一个handle,他们都是一些小数或者整数,Matlab能够保证这些数字不重复,因此通过这个句柄就可以访问或者修改你的对象。 通过传递句柄的方式可以修改传递的值的内容,而传递变量就做不到,这点和C语言的指针类似。
Aspnet页面中常用的几种传值方式
1. 使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子: a.aspx的C#代码 private void Button1_Click(object sender, System.EventArgs e) { string s_url; s_url = "b.aspx?name=" + Label1.Text; Response.Redirect(s_url); } b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { Label2.Text = Request.QueryString["name"]; } 2. 使用Application 对象变量 Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。 a.aspx的C#代码 private void Button1_Click(object sender, System.EventArgs e) { Application["name"] = Label1.Text; Server.Transfer("b.aspx"); } b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { string name; Application.Lock(); name = Application["name"].ToString(); Application.UnLock(); } 3. 使用Session变量 想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。 a.aspx的C#代码 private void Button1_Click(object sender, System.EventArgs e) { Session["name"] = Label.Text;
前台后台传送和接收值的方法
在web窗体中的处理方法: .aspx 页面代码: <%@page language=”C#” AutoEventWireup=”true” CodeBehind=”_default.aspx.cs” Inherits=”Exercise._default”%>
.aspx.cs 页面代码: Namespce Exercise { Public partical class _default:System.Web.UI.Page { Public string name; Public string id; Public string sex; Protected void Page_Load(Object Sender,EventArgs e) { } } } 1、用post()方法传递过来的值: String name=Request.Form[“name”].ToString()==null?Request.Form[“name”].ToString()+””: Request.Form[“name”].ToString(); 2、用GET()方法传递过来的值: String name= Request.QueryString[“name”] ==null? Request. QueryString [“name”] +””: Request. QueryString [“name”];winForm两个Form窗口之间的传值
首先定义两个Form,一个为Form1,一个为Form2,其中Form1作为父窗口,Form2作为子窗口 1、父窗口传值给子窗口 Form1中代码: public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 lForm = new Form2();//实例化一个Form2窗口 lForm.String1 = "传值给子窗口Form2成功";//设置Form2中string1的值 lForm.SetValue();//设置Form2中Label1的 lForm.ShowDialog(); } Form2中代码: private string string1; public string String1 { set { string1 = value; } } public void SetValue() { https://www.360docs.net/doc/673209201.html,bel1.Text = string1; } public Form2() { InitializeComponent(); } 2、子窗口返回值给父窗口 Form1中代码:
public Form1() { InitializeComponent(); } private string strValue; public string StrValue { set { strValue = value; } } private void btnShowForm2_Click(object sender, EventArgs e) { Form2 lForm = new Form2(); lForm.Owner = this;//重要的一步,主要是使Form2的Owner指针指向Form1 lForm.ShowDialog(); MessageBox.Show(strValue);//显示返回的值 } From2中代码: public Form2() { InitializeComponent(); } private void btnClose_Click(object sender, EventArgs e) { Form1 lForm1 = (Form1)this.Owner;//把Form2的父窗口指针赋给lForm1 lForm1.StrValue = "子窗口Form2返回数值成功";//使用父窗口指针赋值this.Close(); }
https://www.360docs.net/doc/673209201.html,页面之间的数据传递与保持7页word
ASP页面之间的数据传递与保持 页面之间数据的传递与保持是实现网站与用户交互的重要手段之一,也是Web应程序的基本功能,它的实现效率对程序性能有直接的影响。ASP 提供了多种方法来实现数据的传递与保持,这些方法各有所长。以下对常用的几种方法做阐述。 一、数据在页面间的传递 在用户访问网站的过程中,页面之间的跳转总是非常频繁。用户通常点击页面上某个超链接而进入网站其它页面,也有可能点击某个按钮提交信息从而打开了目标页面,甚至是网页程序在某个条件达成时自动的页面重定向。无论哪种情况使得用户浏览时换了页面,都不能丢了用户的状态,也就是在用户本次访问网站过程中,其状态应该是连续的,有些数据必须在页面之间传递下去,以供目标页面获取。 目标页面可以通过Request对象来获取源页面传来的数据。 1.Request.QueryString QueryString是最简单最常用的传值方法,它能够获取HTTP查询字符串附在URL后面的参数值: URL?参数名1=参数值&参数名2=参数值...... 而以URL方式进行页面转换有以下几种: 超链接:<a>标记的href属性或控件HyperLink的NavigateURL 设置URL后面可以连接参数; 控件Button的postbackURL属性可以设置目标页面URL,后面可以连接参数;
表单数据以get方法发送给指定的目标URL,会将控件值作为参数连接在URL后面,参数名就是控件名或控件ID,参数值就是控件的值; Response对象的Redirect方法可以设置参数URL,使客户端浏览器立即重定向到指定的URL; Session对象的Transfer方法可以设置参数URL将客户端重定向到新的页面,它终止当前页的执行,保留当前页面的表单(Form)数据和查询字符串(QueryString),并为当前请求开始执行URL指定的目标页面,而源页面已加载的数据依然保存。 Session对象的Execute方法可以设置参数URL将客户端重定向到新的页面,它暂停当前页的执行,并为当前请求开始执行URL指定的新页面,然后再回到源页面继续运行。 当然,用户在浏览器的地址栏输入URL时也可以直接传递参数。 通过查询字符串传递的数据直接在URL中以明文传递,对用户是可见的,虽然可以加密。此方法简单、方便,但是传递的数据量少,且不能传递对象。这种方式传递的数据,在目标页面可以用Request.QueryString 获取: Request.QueryString[“参数名”] 2.Request.Form Request.Form获取客户端传递的表单数据集,即页面表单以post方法发送的数据。该方法可以传递大量数据,访问源页面表单控件中的数据。 使用以上方法都可以实现数据在页面之间的传递,但是这个数据仅能在指定的URL页面才能获取到,也就是说生命周期仅限于当前请求。如果
c# 两个WIN程序窗口间传递参数的方法【转】
方法一: C#中没有了像https://www.360docs.net/doc/673209201.html,中的全局变量,那么我们如何实现在不同的页面间传递参数呢? 下面举例说明如何实现这一功能. 1.新建一个项目. 2.在该工程中添加一个窗体Form1. 3.在该窗体中定义静态型字符串变量myTestStr1: public static string myTestStr1=""; 4.在该窗体的构造函数中对该变量进行赋值,并为该窗体类添加属性GetStrValue. public Form_Form1() { InitializeComponent(); myTestStr1="Hello!"; } public string GetStrValue { get { return myTestStr1; } set { myTestStr1=value; } } 5.在该工程中另添加一个窗体Form2. 6.在Form1窗体上添加一个button按钮(name:but_Test); 7.在Form1窗体的but_Test_Click 事件中添加以下代码: private void but_Test_Click(object sender, System.EventArgs e) { Form2 frm1=new Form2(); frm1.ShowDialog(this) ; frm1.Close(); } 8.在Form2窗体上添加一个button按钮(name:but_Yes); 9.在Form1窗体的but_Yes_Click 事件中添加以下代码: private void but_Yes_Click(object sender, System.EventArgs e) { MessageBox.Show (Form_Form1.myTestStr1 ); //直接访问. 显示.结果:" Hello!"
JSP页面跳转大全
JSP页面跳转大全 https://www.360docs.net/doc/673209201.html,/yuxiangtong0524@126/blog/static/8008616320103215348290/JSP中的跳转:(1). forward()方法 使用到javax.servlet.RequestDispatcher类 RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(requestVar,requestVar); //传递servlet的入口参数 /*forward函数已经把原页面的request,response对象传入新的页面,因此这新旧页面拥有相同的request,response对象。request.getparameter("var")就可以得到相应的值.*/ /*forward()是直接在server做的,浏览器并不知道,也不和浏览器打交道,浏览器的地址不变化。*/ 即: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar); 服务器端Servlet进行转向的4种方法: 1.ServletContext的getRequestDispatcher() 2.ServletContext的getNamedDispatcher() 3.ServletRequest的getRequestDispatcher() 4.ServletResponse的sendredirect()进行转向。 forward方法,因为这些这样比较高效。只有在forward方法不能使用时,再使用servletresponse的sendredirect()方法。 (2).response.sendRedirect(url); 其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化。新页面不能处理旧页面的pagecontext (request,response,...)对象. 在response.sendRedirect之后,应该紧跟一句return; (3).HTML语言的自动跳转
0是等待时间,如果设置为5表示等待5s后开始跳转 ………… (4).JavaScript跳转 A: B: 也可以直接给window.location属性赋值,window.location="url",与A不同的是有历史记录 C: 对于document,location不是不是对象,document.location=document.urlWebDypro两个页面之间传值
WebDypro两个页面之间传值 WebDynpro for ABAP TM Scenario: To create and run a simple WebDynpro Application. We would accept an input value from the user on first screen and display the value entered on the second screen. Note:Please refer to the SAP? help for detailed information of the components used in this document. Procedure: 1.Go to transaction SE80. Please note that there is no separate transaction for creation of WebDynpro application other than SE80. 2.Select “WebDynpro Comp./Intf” from t he list (as shown below) 3.Create a new WebDynpro component by the name ZSAPTECHNICAL_DEMO.
Assign it to the local object. 4.Right click on the WebDynpro component “ZSAPTECHNICAL_DEMO” and create a view.
asp传递参数的几种方式
dskhglname 把下列代码分别加入a.asp和b.asp的
中,点提交,就可以将a.asp 文本框的内容传给b.asp并显示出来 a.ASP B.asp <% Response.Write(Trim(Request.QueryString("ABC"))) %> 一种是GET传值就是网页上通常看到的 1.asp?name=2 然后你在第二个页面使用 request.querystring("name")获取到地址栏的值 第二章是POST传值你也可以在表单中添加一个隐藏域或者文本域之类的比如 input type="hidden" value="<%=rs("name")%>" 表单提交到2.asp后在2.asp页面使用request.form("name")获取到表单的name asp传递参数的几种方式 最近又用到ASP,查看了以下以前的学习时记的笔记.然后总结了一下ASP传递参数的一些方法 1.用户端用http信息数据传送到服务器 在表单的action属性设置为提交到的asp文件。