相关疑难解决方法(0)

识别并解决javax.el.PropertyNotFoundException:Target Unreachable

当尝试在EL中引用托管bean时#{bean.entity.property},有时会javax.el.PropertyNotFoundException: Target Unreachable抛出异常,通常是在设置bean属性时,或者要调用bean操作时.

似乎有五种不同的消息:

  1. 目标无法访问,标识符'bean'已解析为null
  2. 目标无法访问,'entity'返回null
  3. 目标无法访问,'null'返回null
  4. 目标无法访问,''0'返回null
  5. 目标无法访问,'BracketSuffix'返回null

这些都意味着什么?它们是如何引起的,它们应该如何解决?

jsf el cdi managed-bean propertynotfoundexception

117
推荐指数
2
解决办法
11万
查看次数

96
推荐指数
2
解决办法
4万
查看次数

JSF控制器,服务和DAO

我正在尝试习惯JSF如何处理数据(来自弹簧背景)

我正在创建一个维护用户列表的简单示例,我有类似的东西

<h:dataTable value="#{userListController.userList}" var="u">
    <h:column>#{u.userId}</h:column>
    <h:column>#{u.userName}</h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

然后"控制器"有类似的东西

@Named(value = "userListController")
@SessionScoped
public class UserListController {
    @EJB
    private UserListService userListService;

    private List<User> userList;

    public List<User> getUserList() {
        userList = userListService.getUsers();
        return userList;
    }
}
Run Code Online (Sandbox Code Playgroud)

而"服务"(虽然看起来更像是DAO)有

public class UserListService {

    @PersistenceContext
    private EntityManager em;

    public List<User> getUsers() {
        Query query = em.createQuery("SELECT u from User as u");
        return query.getResultList();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是正确的做事方式吗?我的术语是对的吗?"服务"感觉更像是DAO?控制器感觉它正在做一些服务工作.

jsf dao ejb jpa java-ee

32
推荐指数
2
解决办法
3万
查看次数

JSF管理bean命名约定

这些天我曾经和JSF一起工作,但是有一个"惯例",如果我应该使用的话,我有疑问.在使用托管bean时,人们习惯将其命名为XxxxxManagedBean前缀可以是与您的业务相关的任何名称.

你有这样的工作吗?特别是,尽管让搜索变得容易,但我并不喜欢那么多.你在使用其他约定吗?

谢谢你回答这个简单的疑问.

jsf naming-conventions managed-bean

19
推荐指数
1
解决办法
7444
查看次数

了解托管bean /支持bean

我正在学习Java EE 6,我正在努力掌握它的整体形象.我正在阅读有关JSF以及如何添加组件的内容.我正在将组件中的值设置/读取到具有@ManagedBean批注的bean.

我在理解它时遇到了一些麻烦.什么是Managedbeans?它只是保持组件状态的对象吗?他们也可以有其他方法吗?EJB适合哪里?托管bean是否在EJB上调用了方法?

java jsf ejb java-ee

10
推荐指数
1
解决办法
1274
查看次数

应用请求值和更新模型值之间的差异

我常常对这两个阶段产生怀疑.以下是我的理解:

  1. 应用请求值

    • 在此阶段,提交的值来自请求参数.然后将请求值设置到辅助bean中,即设置为组件UIInput
  2. 更新模型值

    • 在此阶段,已处理的值从backing bean(UIInput)传输到托管bean.(这是我们自定义的JSF bean).

我在想我的理解是正确的.但是,阅读一些文章让我感到困惑.我想在这两个阶段让我更清楚.请澄清我.

lifecycle jsf

9
推荐指数
1
解决办法
7928
查看次数

PrimeFaces 多个 DataTables 和 rowselect 事件

我有一个动态数据表列表,我需要为每个表的单行启用行选择。下面的代码仅当用户选择最后一个数据表的一行时才起作用,可能是因为 Ajax 事件被替换并且只有最后一个事件起作用。

如果用户从另一个数据表中选择一行,则会调用 onRowSelect 方法,但有一个NullPointerExceptionon 变量selectedRow

也许我需要在Java bean中创建多个onrowselect方法,每个数据表一个,但该表的数量是可变的。

我该如何解决这个问题?

<c:forEach items="#{azPerformancePrenPubAll.selectedCompanyTemp}" var="companyCode" varStatus="loop">
  <p:accordionPanel id="acc_#{companyCode}" widgetVar="accordionAziendale_#{companyCode}" activeIndex="-1"> 
    <p:tab title="#{azPerformancePrenPubAll.selectedCompanyName.get(loop.index)}">             
       <p:dataTable id="tablePerformance_#{companyCode}" rendered="#{!azPerformancePrenPubAll.isCompanyVisible}"
                    widgetVar="tablePerformance" var="performance" value="#{azPerformancePrenotatiPubAll.listPerformances.get(loop.index)}" 
                    styleClass="perfDataTable no-border" rowIndexVar="rowIndex" 
                    selectionMode="single" selection="#{azPerformancePrenPubAll.selectedRow}" rowKey="#{performance.id}">
         <p:ajax event="rowSelect" listener="#{azPerformancePrenPubAll.onRowSelect}" update="formPerformance,pageSubDescription,pageDescription"/>
         ...
Run Code Online (Sandbox Code Playgroud)

ajax jsf primefaces

6
推荐指数
1
解决办法
172
查看次数