JSF 我想达到的就是这个效果

coollgw 2008-07-01 08:22:47
当第一次打开一个JSF页面的时候,JSF会自动创建一个跟它相关的Bean(Scope为Session)的实例,但是在Session失效前,第二次打开这个页面时系统还会使用原来的那个Bean,现在我想每次打开这个页面的时候都初始化一下这个Bean(即,重新调用它的构造方法),但是又不想按照jsp的做法用标签这类东西写在页面里。我知道把Scope设置成Request会有类似的效果,但是它不能满足我的要求。因为我在这个页面中要输入些东西,然后在另一个页面显示我所输入的信息,所以用Request就不能实现这个功能了。不知道我应该怎么做?

实际上就是这种效果 how
...全文
92 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
8追8梦8 2008-07-07
  • 打赏
  • 举报
回复
作之前先规划好你的信息哪些是在session级别要保留信息的,哪些是request级别要更新的,规划好了就不会有这些问题了。
8追8梦8 2008-07-07
  • 打赏
  • 举报
回复
估计你使用eclipse作开发,你看看netbeans产生页面的结构就能够明白一些东西,其实你的问题是没有合理的组织你的信息,你设计jsf应用的思想还受到jsp的限制,抛开jsp用jsf的思想去做,将你要传递出去的信息提取出来作为独立的class放到session下,不要传递的整理出来作为独立的class放到request下,通过这种方式解决,我刚开始用jsf时也有你的困惑,request 与 request之间传递可以通过设置parameter的方式,也就是说如果你要传递的信息比较少时不需要单独的class,只需要通过param就可以实现
coollgw 2008-07-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hornbilltofy 的回复:]
想得太复杂了,jsf的bean不需要你初始化,只要一调用它会自动初始化.
如果你想处理些什么,直接在get方法中写入即可,谁在页面中先出现,就先调用谁的get方法.所以你可以把初始化的方法在最早出现的get方法中调用即可.
[/Quote]

哥们儿还没理解我的意思

比如说一个bean(这个bean的scope是Session) 有一个List 然后页面是showList.jsf
当你第一次请求showList.jsf的时候 页面会根据标签请求到后台bean,然后bean里面进行操作(比如说取值填入List)
然后在showList.jsf显示你的值

加入showLIst页面有一个定制查询“根据ID查询” 自然这时候showList.jsf就显示这个定制查询的结果

然后等你再重新进入showList的时候 此页面显示的还是定制查询的结果 而不是全部的结果 因为bean是Session的

我就是想他这时也显示全部的结果 却不让改Scope

so so
hornbilltofy 2008-07-02
  • 打赏
  • 举报
回复
实际上是java2000_net干的,他是斑竹!
yuandejun 2008-07-02
  • 打赏
  • 举报
回复
java2000_net_test 这个人怎么老是在别人发的贴子后加上‘注释’呢???
胡矣 2008-07-02
  • 打赏
  • 举报
回复
不太熟 看看
hornbilltofy 2008-07-02
  • 打赏
  • 举报
回复
想得太复杂了,jsf的bean不需要你初始化,只要一调用它会自动初始化.
如果你想处理些什么,直接在get方法中写入即可,谁在页面中先出现,就先调用谁的get方法.所以你可以把初始化的方法在最早出现的get方法中调用即可.
coollgw 2008-07-01
  • 打赏
  • 举报
回复
我那里有那么多的帖子没有结啊?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧