小编And*_*rew的帖子

JSF f:事件preRenderView由f:ajax调用和部分渲染触发,还有什么?

所以我们有一个f:事件:

   <f:metadata>
    <f:event type="preRenderView" listener="#{dashboardBacking.loadProjectListFromDB}"/>
   </f:metadata>
Run Code Online (Sandbox Code Playgroud)

在初始页面加载(渲染)时根据需要触发.

但是,此preRenderView事件也由ajax部分页面呈现触发,该呈现重新呈现具有id projectListing的h:panelgroup,如下所示.

<h:commandButton action="#{mrBean.addProject}" value="Create Project"
                                     title="Start a new project">
   <f:ajax render="projectListing" />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)

我只希望为初始页面渲染调用dashboardBacking.loadProjectListFromDB,但是当有ajax部分渲染时则不需要.我可以使用更合适的事件或方法吗?

ajax jsf-2

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

在一个浏览器中使用带有多个选项卡的JSF

默认情况下,JSF似乎非常"有状态".我需要允许人们使用我们的应用程序,多个选项卡在应用程序的不同部分执行许多操作.

如果没有大量的重新设计,我似乎无法找到合适的指令来实现这一目标.

我们目前没有使用ICEfaces,但我刚在ICEfaces文档中找到了这个:

6.5.7.ICEfaces Portlet和并发DOM视图

ICEfaces提供了一个名为Concurrent DOM Views的功能,它控制ICEfaces框架是否支持来自同一浏览器的单个应用程序的多个视图.在portlet容器中运行时,ICEfaces需要将单个门户网站页面上的单独portlet视为不同的视图,因此几乎总是需要(因此最安全)将此参数设置为true.

例6.19.在WEB-INF/web.xml配置文件中启用ICEfaces并发DOM视图功能,以便将同一门户网站页面上的单独portlet视为不同视图

com.icesoft.faces.concurrentDOMViews是的

所以,我想知道这个神话般的声音功能是否可能适用于我现有的h:表格或者它是否只适用于ICEface组件?

任何人都可以提供任何好的建议,让JSF应用程序在多个选项卡中工作?

java jsf icefaces jsf-2

8
推荐指数
2
解决办法
1万
查看次数

Hibernate Mapped Superclass关系和覆盖

我有一个抽象的MappedSuperClass,参与者,它由三种"参与者"扩展.然后每个人都使用自己的'Project',也是一个抽象的MappedSuperClass.但是,我希望基类了解Projects,这样我就可以编写通用代码来与Participants进行交互.如何使用Hibernate注释指定它?以及如何在ExtendedParticipant和ExtendedProject类中覆盖它?

每个Participant类型和每个Project类型都有自己的数据库表,其中包含我无法更改的现有数据和ID(在表中不唯一).

以下代码给出了IDE错误"多对一属性不应该是'Mapped Superclass'".

@MappedSuperclass
public abstract class Participant implements Persistable {

    ...

    @ManyToOne
    @JoinColumn(name = "project_id")
    public Project getProject() {
        return project;
    }

    public void setProject(Project project) {
        this.project = project;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

并且Project类与同样的问题大致相同:

@MappedSuperclass
public abstract class Project implements Persistable {

    ...

    @OneToMany
    public List<Participant> getParticipants() {
        return participants;
    }

    public void setProject(List<Participant> participants) {
        this.participants = participants;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

java annotations hibernate

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

jsf-2 ×2

ajax ×1

annotations ×1

hibernate ×1

icefaces ×1

jsf ×1