1、今天出现了一个问题,在点击用户信息修改的时候,出现如下的错误:

Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'userInfoUpdateBean' resolved to null,具体错误信息如下,其中项目是由JSF模板和Spring整合的:

​
严重: Error Rendering View[/pages/user/userInfoUpdate.xhtml]
javax.el.PropertyNotFoundException: /pages/user/userInfoUpdate.xhtml @36,65 value="#{userInfoUpdateBean.sex}": Target Unreachable, identifier 'userInfoUpdateBean' resolved to null​

2、开始定位问题,从页面看下有没有问题,为啥这个userInfoUpdateBean为空呢,类名为UserInfoUpdateBean,然后再去找bean的配置文件,如下所示:

 <bean id="userInfoUpdateBean" scope="view"class="com.user.info.bean.userInfoUpdateBean"init-method="init"><property name="userInfoServiceI"><ref bean="userInfoServiceImpl" /></property></bean>

这里也没有问题呀,再去类底下看是不是setSex方法里面的属性写成大写了,发现也没有问题,添加多一个无参的构造方法都没用,还是依旧报错。后面想想是不是被拦截了,发现也没被拦截器拦截呀。

3、去找资料,改着试了几个小时都没用,最后,用另外一种方法,把界面报错的给注释掉,然后一步步看,到底问题是出现在哪里,后面发现,只有两个有单选框的标签才会出现这种问题,把我坑得不要不要的,顿时觉得自己好菜鸡,单选框原先是这样写的:

<p:selectOneRadio id="sex" initSelectItemLabel="男" value="#{userInfoUpdateBean.sex}"><f:selectItem itemLabel="男" itemValue="男" /><f:selectItem itemLabel="女" itemValue="女" />
</p:selectOneRadio>

4、就是因为这个selectOneRadio这个标签的initSelectItemLabel属性,给这个加了个属性,就会报上面的错误,最后去掉这个属性,便不会报这个错误了,最后代码如下:

​
<p:selectOneRadio id="sex" value="#{userInfoUpdateBean.sex}"><f:selectItem itemLabel="男" itemValue="男" /><f:selectItem itemLabel="女" itemValue="女" />
</p:selectOneRadio>​

5、后面发现页面上虽然显示不会报错了,但是其实还是有问题的,initSelectItemLabel这个属性是不会影响的,这个只是初始化选择列表的标签,即单选框默认选择什么的。后面我对这个页面进行保存操作,还是依旧报错,信息还是一样:

Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'userInfoUpdateBean' resolved to null

接着我就发现这个bean是不是找不到,就在Bean底下加了个注解@ManagedBean(name="userInfoUpdateBean"),发现竟然可以找到了,但是这不是我的始终,因为我还要执行初始化的init方法,并且我这个还是整合的Spring的,最后终于发现了,原来是没加载到这个配置bean的xml文件。

6、因为整合的时候需要加载的bean的xml文件统一导入在一个整体目录的applicationContext-beans.xml文件中,接着在这里面所在位置加上一行导入的语句如下:

<import resource="com/user/info/bean/configure/application-user-beans.xml" />

接着就可以进入初始化的方法,并且我们这边的initSelectItemLabel这个属性也起作用了,原因仅仅就是找不到bean,所以细节很重要啊。

7、以上就是我所遇到的坑,在这里积累一下,细节,细节,细节真的决定成败!

Target Unreachable, identifier 'userInfoUpdateBean' resolved to null 错误问题描述以及解决相关推荐

  1. Python TabError inconsistent use of tabs and spaces in indentation 错误问题描述以及解决

    1.首先,附上一个小代码: #for循环结束后执行一些操作projects = ['java','.net','python']; for project in projects:print(proj ...

  2. make: *** [out/target/common/obj/APPS/Phone_intermediates/classes-full-debug.jar] 错误 41

    make: *** [out/target/common/obj/APPS/Deskdate_intermediates/classes-full-debug.jar] 错误 41 这个错误,解决方法 ...

  3. Uncaught TypeError: Cannot read property 'length' of null错误怎么处理?

    Uncaught TypeError: Cannot read property 'length' of null 错误怎么处理? 1.可能是返回的datagrid数据格式有问题,比如{"t ...

  4. Excel导入null错误解决方式

    目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 10 版本:5.6.5 文档用途 用hgdbdeveloper-2021-03-03进行Excel ...

  5. Linux内核机制总结内存管理之用户页错误文件描述符(二十八)

    文章目录 1 用户页错误文件描述符 1.1 使用方法 1.2 技术原理 重要:本系列文章内容摘自<Linux内核深度解析>基于ARM64架构的Linux4.x内核一书,作者余华兵.系列文章 ...

  6. mysql workbench kernelbase.dll_电脑出现kernelbase.dll错误的两种解决方法

    KernelBase.dll是Windows操作系统的重要文件,它为各种应用程序提供服务.如果电脑提示kernelbase.dll错误,这该怎么处理?大家可以用电脑自带的防火墙或者是第三方软件来进行故 ...

  7. Ubuntu安装deb软件包错误(依赖关系问题)解决

    Ubuntu安装deb软件包错误(依赖关系问题)解决 参考文章: (1)Ubuntu安装deb软件包错误(依赖关系问题)解决 (2)https://www.cnblogs.com/congyucn/p ...

  8. BASE64Encoder cannot be resolved to a type类似问题的解决办法

    BASE64Encoder cannot be resolved to a type类似问题的解决办法 参考文章: (1)BASE64Encoder cannot be resolved to a t ...

  9. nginx产生【413 request entity too large】错误的原因与解决方法

    nginx产生[413 request entity too large]错误的原因与解决方法 参考文章: (1)nginx产生[413 request entity too large]错误的原因与 ...

最新文章

  1. [导入]VB实现SQL Server数据库备份/恢复
  2. sap 状态栏添加竖线
  3. 20172318 2017-2018-2 《程序设计与数据结构》实验4报告
  4. 【Device Tree】设备树(一)——GPIO
  5. Android 布局管理器 之 TableLayout
  6. Mysql 监控性能状态 QPS/TPS
  7. 在写事件函数的时候function(e)当中的e是什么意思
  8. 单片机p2.0引脚c语言,单片机C语言教程二
  9. 一文掌握面向Windows平台的深度学习工控程序开发(使用Paddle Inference部署MFC、C#程序,内含完整代码链接)
  10. python实现 stft_scipy-Python中的可逆STFT和ISTFT
  11. 一代「博雅」大师离世!缅怀复旦大学原校长、中国科学院院士杨福家教授
  12. 复元奇方饮_谁研制的?治疗什疾病?作用与功效?
  13. laravel 软删除
  14. 100行Python代码,做一个打地鼠小游戏!
  15. 证书生成(keystore、truststore、.crt、.key)。
  16. 岁末精选:2005国外经典语录
  17. win7系统没有计算机睡眠状态,win7旗舰版系统休眠模式和睡眠模式的区别
  18. 上传webshell(入侵目标页面主机靶机演示)
  19. KingbaseES数据库对象管理工具
  20. 使用延时队列搞定超时订单处理

热门文章

  1. 不带parent指针的successor求解
  2. Learn CMake's Scripting Language in 15 Minutes (ZZ)
  3. MFC中获取App,MainFrame,Doc和View类等指针的方法
  4. Python 列表 sorted( )函数
  5. ssr Android简书,react服务端渲染ssr
  6. bind-html自动换行,如何实现textarea placeholder自动换行?
  7. 7-158 验证“哥德巴赫猜想” (20 分)
  8. 4024-砾石的交换排序(C++,附思路)
  9. php设置表格边框颜色,HTML表格标记教程(38):表头的边框色属性BORDERCOLOR
  10. java控制器_Java用户界面 模型-视图-控制器(MVC)模式