原本以为JSF还挺好用的,但是最后发现好多问题,不知道各位是怎么解决的
1.页面跳转问题。就是页面导航的navigation-rule配置,加不加<redirect/>重定向。
加<redirect/>重定向的时候,该页面的URL是正确的,但是F5刷新就不起作用了
不加<redirect/>重定向的时候,该页面的URL是上一个页面的URL,F5刷新执行的是前一次的操作,可以刷新,但是还是有提示是否重新提交页面的对话框。这页面的URL一致性和刷新问题怎么实现的啊?2.jsf如何初期化画面问题。jsf页面后台的backing Bean的初期化事件怎么调用。现在的做法是在链接到该页面时action调用的是该Bean的init方法。但是这样收藏页面或者只是输入该页面的URL访问时,该页面Bean的init方法不能被调用。这块又是怎么实现的呢,就没有类似于.NET中的Page_Load方法?那这也太难用了吧。3.预防重复性提交的问题又是怎么避免的?有没有类似于.NET中的!IsPostBack的方法。
1.页面跳转问题。就是页面导航的navigation-rule配置,加不加<redirect/>重定向。
加<redirect/>重定向的时候,该页面的URL是正确的,但是F5刷新就不起作用了
不加<redirect/>重定向的时候,该页面的URL是上一个页面的URL,F5刷新执行的是前一次的操作,可以刷新,但是还是有提示是否重新提交页面的对话框。这页面的URL一致性和刷新问题怎么实现的啊?2.jsf如何初期化画面问题。jsf页面后台的backing Bean的初期化事件怎么调用。现在的做法是在链接到该页面时action调用的是该Bean的init方法。但是这样收藏页面或者只是输入该页面的URL访问时,该页面Bean的init方法不能被调用。这块又是怎么实现的呢,就没有类似于.NET中的Page_Load方法?那这也太难用了吧。3.预防重复性提交的问题又是怎么避免的?有没有类似于.NET中的!IsPostBack的方法。
解决方案 »
- 如何让java类自动加载
- java写入一个原本存在的CSV文件。
- 求世外高人打救!
- 看看这个sql怎么写
- httpservletrequest.setattribute和servletrequest.setattribute的区别
- 上海,J2EE,我为什么找不到工作?
- java中使用了SUN.MISC.BASE64Encoder编码,delphi如何与之产生一样的编码,请教高手
- 关于java第三方开发工具
- 紧急求救!!!在JBuilder7下配置Enterprise Setup 给50分
- linux WebSphere7版本部署项目报错
- 大家来讨论一下考软件工程师的问题吧
- 需要反射PO对象更好的方式,无论是兼容性还是通用性还是性能,有想法就进!
那要看你的bean的scope,是request的话每次请求都生成一个实例,是无参构造方法,不是init如果是session的话,第一次请求生成一个实例,一直存在于session中事件驱动跟.net很像,但我就是觉得比.net的好,好用
我的bean是request的,每个页面request的Beand里对应一个注入的session的Info,如果初期化事件是在
该Bean的无参构造方法里面执行,注入的info就是null的,先执行的构造方法,再执行info的set方法,这样也不行啊。
同时,如果是<redirect/>重定向的话,无参构造方法里面通过<f:param传过来的参数,在这边通过RequestParameterMap取值时已经取不到了,该Bean的构造方法是在用的时候才执行的,这时已经重定向,request里面的参数就没了。
难道这种方法不是这样用的。
1.在BackingBean的无参数的构造函数中初始化(如读取向它传递的Request等值、读取数据库或文件中持久的数据)缺点:必须放弃ManageredProperty的注入,用Request来传递参数。因为构造函数先执行,然后再来注入属性值。优点是:简单,易用,不易出错。且可以直接用标准Url方式调用,如/ok.jsf?name=john,与其它的java web程序好兼容。
2.利用ManageredBean的ManagerdProperty的值注入。包括注入Request参数 如#{parap.name}.在get或Set某一属性时,依据传递的参数来初始化数据。(在set某个属性时初始化,容易产生有些属性还没有被注入初始化,而在get某个属性时初始化数据,又有可能该属性未被调用,则无法完成初始化工作了。)
3.在代码Action中转向前获取该页面的BackingBean,来初始化它。缺点是:依赖于代码Action,不能直接用URL。容易产生BackingBean中的相互依赖。
4.用ActionListener侦听某个Action执行后,再来解析Request参数或jsf部件值,来加载数据。感觉就1,3还可以用,但是都不太好,哎~~~。这jsf真难用