JSF又出问题了...(关于h:commandButton的问题) 你的后台代码有问题不是JSF的问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 回:zqpsswh(似水无痕) 兄弟 后台怎么会有问题呢?..我是按标准做的托管bean. 如果有问题,应该是那有问题呢???回:livan1038(李枫) 兄弟 我在"#{wh.saveWarehouseInfo}"这个方法中的第一行设置了断点. 点击提交时如果结果是刷新页面的话它根本不激活断点. 从而我无法进行跟踪调试. 如果断点激活了,这次提交的数据肯定能添加进去. 打开你的错误显示:<h:messages style="display:none;" id="errorinfo"/>,去掉display:none;看看报什么错误,还有一种排查错误方法,就是你先删除有怀疑的一个组件,然后再试另一个,如果按你所说的情况,多半是数据转换时发生的错误,这种错误就是不报错误,且不能提交页面,请重点检查你的<h:selectOneMenu id="whType" value="#{wh.whType}"><f:selectItem itemLabel="总仓" itemValue='Y'/><f:selectItem itemLabel="分仓" itemValue='N'/></h:selectOneMenu>部分 回:mxm_1123(无名)兄弟 我将:<h:messages style="display:none;" id="errorinfo"/>,去掉display:none了,并不会提示什么错误. 另我将<h:selectOneMenu id="whType" value="#{wh.whType}"><f:selectItem itemLabel="总仓" itemValue='Y'/><f:selectItem itemLabel="分仓" itemValue='N'/></h:selectOneMenu>部分删除了. 效果依旧.. 按Jsf的生命周期 恢复视图->应用请求值->处理验证->更新模型值->调用应用程序->Render显示 程序应该是应用请求值后就直接跳到Render显示了.. 按理说,如果是新请求才会直接跳转的呀,这是为什么呢?.. 我做了一个PhaseLisener发现在我提交不成功的时候出现以下信息(Tomcat5.028控制台输出的)..请求开始RESTORE_VIEW 1RESTORE_VIEW 1RENDER_RESPONSE 6RENDER_RESPONSE 6操作完成!这就说明,当提交时,完全把它当作了一个新请求("没有回传")看待. 直接跳到输出了. 提交成功时显示请求开始RESTORE_VIEW 1RESTORE_VIEW 1APPLY_REQUEST_VALUES 2APPLY_REQUEST_VALUES 2PROCESS_VALIDATIONS 3PROCESS_VALIDATIONS 3UPDATE_MODEL_VALUES 4UPDATE_MODEL_VALUES 4INVOKE_APPLICATION 5INVOKE_APPLICATION 5RENDER_RESPONSE 6RENDER_RESPONSE 6操作完成!回:mxm_1123(无名) 没成功时提交直接从RESTORE_VIEW跳到RENDER_RESPONSE了. 应该是数据验证转换都没有执行吧? 在组件上加上required="true"不就知道它执行了没有吗? 回mxm_1123(无名)兄弟: 加上了,效果和以前没什么区别. 我不输内容,它会出现必须输入内容的错误提示. 我输入内容后结果依然是刷新页面. 提交不成功时,控制台还是输出:请求开始/basic/add_wh.jsf RESTORE_VIEW 1/basic/add_wh.jsf RESTORE_VIEW 1/basic/add_wh.jsf RENDER_RESPONSE 6/basic/add_wh.jsf RENDER_RESPONSE 6操作完成! 你用的是sun jsf1.1吧,这个版本就有个bug说的是commandbutton不提交,建议你下载sun jsf1.2或者是改用myfaces,myfaces是不用出现这种问题的。 回mxm_1123(无名) 兄弟:呵呵,我终于发现问题所在了.我只要不点击<管理部门>与<负责人>这两个输入框,系统就可以正常的添加数据.原因:<管理部门>点击时,会弹出新窗口,新窗口中显示的select_dept.jsf文件. 当弹出select_dept.jsf时,就会产生select_dept的UIViewRoot. ,问题就在这里,select_dept.jsf中的UIViewRoot居然会将原来父窗口中add_wh.jsf的UIViewRoot替换掉.这样就会出现add_wh.jsf提交时,找不到原来的UIViewRoot.从而认为是新的请求.所以页面就刷新了.但是如何解决这个问题,我目前还没想到.我现在确实用的是SUN JSF1.1 在javascript提交表单处理不了? 关于使用pdfbox获取pdf内容 跪求一SQL查询语句 spring aop cglib代理 怎么分析成功与否? 请问java能做Win32程序吗 UML建模,到什么粒度为佳? 大家来帮我看看这个上传图片的代码到底有什么问题,急!谢谢大家了 项目打包成一个EXE文件 估计CSDN上没有这样的高手....还是问一下吧,不定能天上掉馅饼! 为什么我运行struts不能显示页面? 如何用java对数据加密,生成的密文是唯一的 一个关于当前问题的帖子。。。想知道思路。。。
回:livan1038(李枫) 兄弟
我在"#{wh.saveWarehouseInfo}"这个方法中的第一行设置了断点. 点击提交时如果结果是刷新页面的话它根本不激活断点. 从而我无法进行跟踪调试. 如果断点激活了,这次提交的数据肯定能添加进去.
发现在我提交不成功的时候出现以下信息(Tomcat5.028控制台输出的)..请求开始
RESTORE_VIEW 1
RESTORE_VIEW 1
RENDER_RESPONSE 6
RENDER_RESPONSE 6
操作完成!这就说明,当提交时,完全把它当作了一个新请求("没有回传")看待. 直接跳到输出了.
RESTORE_VIEW 1
RESTORE_VIEW 1
APPLY_REQUEST_VALUES 2
APPLY_REQUEST_VALUES 2
PROCESS_VALIDATIONS 3
PROCESS_VALIDATIONS 3
UPDATE_MODEL_VALUES 4
UPDATE_MODEL_VALUES 4
INVOKE_APPLICATION 5
INVOKE_APPLICATION 5
RENDER_RESPONSE 6
RENDER_RESPONSE 6
操作完成!回:mxm_1123(无名) 没成功时提交直接从RESTORE_VIEW跳到RENDER_RESPONSE了. 应该是数据验证转换都没有执行吧?
提交不成功时,控制台还是输出:请求开始
/basic/add_wh.jsf RESTORE_VIEW 1
/basic/add_wh.jsf RESTORE_VIEW 1
/basic/add_wh.jsf RENDER_RESPONSE 6
/basic/add_wh.jsf RENDER_RESPONSE 6
操作完成!
原因:<管理部门>点击时,会弹出新窗口,新窗口中显示的select_dept.jsf文件. 当弹出select_dept.jsf时,就会产生select_dept的UIViewRoot. ,问题就在这里,select_dept.jsf中的UIViewRoot居然会将原来父窗口中add_wh.jsf的UIViewRoot替换掉.这样就会出现add_wh.jsf提交时,找不到原来的UIViewRoot.从而认为是新的请求.所以页面就刷新了.
但是如何解决这个问题,我目前还没想到.我现在确实用的是SUN JSF1.1