第十一讲:tapestry session存储

tapestry session通常有两种方式:persist与sso,persist方法虽然简单,但是过多的使用会增加了服务器的负担,同时其URL也无法被做为书签保存。sso被保存在Session中,可以被同一用户的所有页面共享,但不会被其他用户共享,通过@SessionState标记,做用户登录使用。源码如下:

MyPersist.java

/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages;
 
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
 
public class MyPersist {
 
//直接把hello存储到session
@Property
private String hello;
 
}
 

MyPersist.tml

<html t:type="layout" title="tapestryStart Index"  t:sidebarTitle="Framework Version"
 xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
您输入的值:${hello}<br/>
<form t:type="form">
<input t:type="textfield" t:id="hello" value="hello"/>
<input type="submit" value="提交"/>
</form> 
</html>

Signin.java

/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages;
 
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
 
public class Signin {
 
@Property
private String userName;
 
@Property
private String password;
 
@SessionState
private String user;
 
Object onSuccess(){
if("fly".equals(userName) && "123".equals(password)){
user = userName;
return Welcome.class;
}
return null;
}
}
 

Signin.tml

<html t:type="layout" title="tapestryStart Index"  t:sidebarTitle="Framework Version"
 xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
<t:form>
用户名:<input t:type="textfield" t:id="userName" value="userName"/><br/>
密码:<input t:type="textfield" t:id="password" value="password"/><br/>
<input type="submit" value="登录"/>
</t:form>
</html>

Welcome.java

/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.pages;
 
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
 
public class Welcome {
 
@Property
@SessionState
private String userName;
 
Object onLogout(){
userName = null;
return Signin.class;
}
}
 

Welcome.tml

<html t:type="layout" title="tapestryStart Index"  t:sidebarTitle="Framework Version"
 xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
${userName},欢迎您!<t:eventlink t:event="logOut">退出</t:eventlink>
</html>

http://localhost/session/MyPersist
http://localhost/session/Signin

转载于:https://my.oschina.net/shootercn/blog/53426

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值