超链接传递参数有两种方式:
1、get传送数据的方法是:
<a href="bjsptype1=你要传递的数值1&type2=你要传递的数值2">传送数据到B页面</a>当然你还可以在form中将method的属性值设置成get。
譬如:
<form method="get" action="bjsp">
<inptu type="text" name="type1"/>
<inptu type="text" name="type2"/>
<inptu type="submit" name="submit"/>
</form>
2、post方法传递数据:
<form method="post" action="bjsp">
<inptu type="text" name="type1"/>
<inptu type="text" name="type2"/>
<inptu type="submit" name="submit"/>
</form>
3、到了b页面接收数据的方法不管是get还是post都是一样的:
String type1=requestgetParameter("type1");
String type2=requestgetParameter("type2");
注意凡是接收的数据都是字符串,如果你传的是其他数据类型的,那就需要你转换,如果你传递的是中文的话,POST和GET 转码是不一样的,可能会有乱码的情况。
用session来传递,sessionsetAttribute("a", listname);tag文件中: String[] listname=(String[])sessiongetAttribute("a");
通过属性来传递,先把listname数组 通过循环 转成字符串,然后在tag文件中对传过来的字符串进行分割 listname1split(",")一般是在Action中定义一个成员变量,然后对这个成员变量提供get/set方法,在JSP页面就可以取到这个变量的值了。
1)在Action中定义成员变量
//定义一个成员变量
private String message;
//提供get/set方法
public String getMessage() {
return message;
}
public void setMessage(String message) {
thismessage = message;
}
2)在JSP页面中取值
${message} 或者 <s:property value="message"/>session是共用的
<%@page contentType="text/html;charset=GB2312"%>
<html>
<head> </head>
<body>
<%String s = sessiongetId(); //获取session ID号 %>
<p>你的session对象ID是:</p>
<%=s %> <%!
int Num = 0; //定义前面要加!号
synchronized void countPeople() { //同步方法
Num++;
}
%>
<%
if (sessionisNew()) { //判断是否为新用户
countPeople();
String str = StringvalueOf(Num);
sessionsetAttribute("count", str); //将str 添加到session对象中
}
%>
<p> 你是第
<%=(String)sessiongetAttribute("count")%> 个访问本站的人
</p>
<!--将session对象的count值取出-->
</body>
</html>
设置session的方法:
sessionsetAttribute("变量名","变量值");
获取session的方法:
sessiongetAttribute("变量名");
必须先setsetAttribute才能有getAttribute!!!
sessionremoveAttribute()的作用,就是删除属性!
例如:sessionremoveAttribute("lao bai"); //把session中"lao bai"这个属性(及其值)删除
sessioninvalidata(); //使session失效
sessionsetMaxInactiveInterval(10); //使session在10秒后失效
以上一般用做实现用户退出(logout),使用户信息失效!
sessionputVaule()和sessionsetAttribute()的区别:
sessionputVaule()是以前的用法,现在用sessionsetAttribute(),没什么区别!
Session对象:是用来分别保存每一个用户信息的对象,以便于跟踪用户的 *** 作状态.Session的信息保存在服务端,Session的ID保存在客户机的Cookie中.事实上,在许多服务器上,如果浏览器支持Cookies的话就直接使用Cookies.但是如果不支持或废除了Cookies的话就自动转化为URL-rewriting , Session自动为每一个流程提供了方便地存储信息的方法.不同的用户对应的Session对象一般是不同的.例如当用户登录站点时,系统就会为他建立一个与其他不相的Session对象,以便于区别其他用户.这个Session对象记录该用户的个人信息,而当该用户退出网站时,该Session对象就会随之消失.
主要方法:
1 getAttribute( String name )
获取指定名字name相联系的信息.
2 getAttributeNames()
返回Session对象中存储的每一个属性对象,其结果为一个类举的实例.
3 getCreationTime()
返回Session被创建的时间.最小单位为千分之一秒.
4 getId()
此方法返回惟一的标识,这些标识为每个Session而产生.当只有一个单一的值与一个Session联合时,或当日志信息与先前的Session有关时,它被当做键名用.
5 GetLastAccessedTime()
返回当前Session对象最后被客户发送的时间,最单位为千分之一秒.
6 GetMaxInactiveInterval()
返回总时间(秒),负值表示Session永远不会超时.该时间为该Session对象的生存时间.
7 removeAttribute( String name )
删除与提定名字name的相联系的信息.
8 setAttribute( String name , javalangObject value )
设置指定名字name的属性值value,并将之存储在Session对象中
其他常用方法:
方法 说明
getId () 返回session ID
isNew () 判定session是否为新
invalidate () 删除session
getCreactionTime () 返回session建立的时间
getLastAccessedTime () 返回seesion最后访问时间
session的存在期限:
方法 说明
getMaxInactiveInterval () 返回session存在期限
setMaxInactiveInterval () 设定session存在期限
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)