1.h:commandLink不确定失效问题
关建字: JSF,h:commandLink,调用bean方法失效(点击多次才有一次生效).
问题描述:为了判断通过URL带不同的参数来进入bean的不同方法,在jsp页面通过的URL参数的判断,来激活不同的 h:commandLink,从而进入不同的bean方法。但在实际操作中,通过JS激活不同h:commandLink时,要点击多次才有一次进入bean方法。
解决:在网上找了一天,终于找到一个建议,尝试后解决了问题。方法为,
"一般不是程序的问题
把你的web.xml中涉及javax.faces.STATE_SAVING_METHOD的设置改为client就可以了
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD </param-name>
<param-value>client </param-value>
</context-param>
"
但具体什么原理,还在学习中......
URL: http://topic.youkuaiyun.com/u/20071021/13/498066d9-c4d3-4a65-8dd8-cb88964aed82.html
其它有关此问题的有意义URL: http://ltian.javaeye.com/blog/102843
2. javax.faces.STATE_SAVING_METHOD
接上面的第1个问题,研究javax.faces.STATE_SAVING_METHOD.
网搜到的关键点:1)javax.faces.STATE_SAVING_METHOD 设置为 server 的时候(默认),发现点击浏览器 “ 后退 ” 按钮会导致退回的页面不可用,重新提交的表单不生效,服务器端不刷新,但页面会跳转,必须刷新一次才能解决。
2)要在 Tomcat5 下运行 JSF ,为了稳定起见,应该使用 JSF1.1 版本。现在用回JSF1.1,原来一些XML没有验证,和页面提交表单后,返回再提交会出现的丢失数据的问题也解决了.
3)
performance, you can save application state on the client instead. This saves the state of the application into
a hidden field on the page that you can see if you view the page source at run time.