标签: richfaces

如何在调用a4j链接后重新呈现RichFaces组件

希望有人可以帮我解决一个轻微的障碍,在a4j链接/按钮执行了它的操作后,我反对重新渲染RichFaces组件.我的问题的简化版本如下:

我有2个输出组件显示文本值,这些组件基于我的manager类中的某个值进行渲染:

<h:outputText id="on" value="ON" rendered="#{manager.isOn}" />

<h:outputText id="off" value="OFF" rendered="#{not manager.isOn}" />
Run Code Online (Sandbox Code Playgroud)

我还有2个a4j链接调用一些动作,然后重新渲染上面的outputText组件:

<a4j:commandLink ajaxSingle="true" value="Set On" action="#{manager.setOn(true)}" reRender="on,off" />

<a4j:commandLink ajaxSingle="true" value="Set Off" action="#{manager.setOn(false)}" reRender="on,off" />
Run Code Online (Sandbox Code Playgroud)

我期望发生的是,当我点击'Set On'按钮时,'ON'outputText组件将取消隐藏,并且'OFF outputText组件将显示.但是,这不会发生.

有没有人知道为什么会这样,以及我如何在a4j组件操作完成后重新渲染这些组件?

jboss seam richfaces ajax4jsf

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

JSF - "rendered ="的替代?

我们正在开发一个Java Web应用程序,它的UI使用JSF(Richfaces通过Seam).我读过几篇文章,指出在UI组件上使用"rendered ="属性会导致相当大的性能损失.我们有几个组件,我们想根据它们的值是否设置来启用或禁用.例如,如果我们要显示待售商品,我们就不会为未设置的属性设置一堆空白字段.

然而,鉴于这种性能影响,我们担心使用多个"渲染"字段.有更好的替代品吗?我们可以做些什么来改善使用这个领域的表现吗?

java performance jsf seam richfaces

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

使用a4j:支持更新模型和视图,为下一个按钮/提交操作做好准备

问题

我们有一个基于swing的前端用于企业应用程序,现在正在为它实现一个(现在更简单)JSF/Seam/Richfaces前端.

某些页面包含的字段在编辑时应导致其他字段因此而更改.我们需要立即向用户显示此更改(即他们不必按下按钮或任何其他内容).

我已成功使用h:commandButton并通过添加onchange="submit()"导致其他字段更改的字段来实现此功能.这样,表单提交在他们编辑字段时发生,其他字段作为结果更新.

这在功能上运行良好,但特别是当服务器处于显着负载(经常发生)时,表单提交可能需要很长时间,并且我们的用户在此期间继续编辑字段,然后在对onchange="submit()"请求的响应时恢复渲染.

为了解决这个问题,我希望能够实现以下目标:

  1. 在编辑字段时,如果需要,处理该字段,并且重新呈现它修改的字段(以便用户在此期间进行的任何其他编辑不会丢失).
  2. 按下按钮后,所有字段都将正常处理和重新渲染.

(不稳定)解决方案

好吧,我认为首先展示一下我的页面可能是最容易的.请注意,这只是一个摘录,有些页面会有很多字段和许多按钮.

<a4j:form id="mainForm">
    ...
    <a4j:commandButton id="calculateButton" value="Calculate" action="#{illustrationManager.calculatePremium()}" reRender="mainForm" />
    ...
    <h:outputLabel for="firstName" value=" First Name" />
    <h:inputText id="firstName" value="#{life.firstName}" />
    ...
    <h:outputLabel for="age" value=" Age" />
    <h:inputText id="age" value="#{life.age}">
        <f:convertNumber type="number" integerOnly="true" />
        <a4j:support event="onchange" ajaxSingle="true" reRender="dob" />
    </h:inputText>
    <h:outputLabel for="dob" value=" DOB" />
    <h:inputText id="dob" value="#{life.dateOfBirth}" styleClass="date">
        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="#{userPreference.timeZone}" />
        <a4j:support event="onchange" …
Run Code Online (Sandbox Code Playgroud)

jsf seam richfaces ajax4jsf

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

如何将参数值传递给a4j:jsFunction

在我的页面上,我有一个按钮,用于打开弹出窗口中的项目列表.当我在列表中选择1项时,我想将项目的ID传递给我的第一页的后台.可能吗?它试图用它做a4j:jsFunction,a4j:param但它不起作用.

这是我的代码:

第1页:

<a4j:jsFunction name="renderGuarantor" render="guarantor" actionListener="#{prospectDetail.setNewGuarantor}">
  <a4j:param name="param1" assignTo="#{prospectDetail.newGuarantorId}" />  
</a4j:jsFunction>
Run Code Online (Sandbox Code Playgroud)

popuppage:

<h:outputLink value="" onclick="window.opener.renderGuarantor(#{applicant.deposit_id});window.close();">
  <h:graphicImage style="padding:0 1px; border:0"  value="${path.staticRootUrl}images/confirm.gif"  alt="${msg.applicantslist_select}" title="${msg.applicantslist_select}"/>
</h:outputLink>
Run Code Online (Sandbox Code Playgroud)

这是第一页的支持bean代码

private Integer newGuarantorId;
public void setNewGuarantor()  {
    guarantor = newGuarantorId;
}

public Integer getNewGuarantorId() {
    return newGuarantorId;
}

public void setNewGuarantorId(Integer newGuarantorId) {
    this.newGuarantorId = newGuarantorId;
}
Run Code Online (Sandbox Code Playgroud)

在弹出窗口中选择时,我的backingbean中的方法被调用,但是newGuarantorId为null并且setNewGuarantorId从不被调用.

我的问题有解决方案吗?

ajax jsf richfaces ajax4jsf jsf-2

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

rich:编辑器标签在嵌入RichFaces 4.2.0的JSF中的rich:popupPanel时不起作用

我正在尝试使用rich:editor in rich:popupPanel来更新数据表中的博客文章.我正在使用RichFaces 4.2.0.如果我在popupPanel外部使用该编辑器标签,它只能在内部时工作正常.有人有这个问题吗?

我的代码是这样的:

<h:form id="form">

        <rich:dataTable value="#{managePosts.allBlogPosts}" var="post" id="manage_posts_data_table" 
                        styleClass="manage_posts_table" rows="15">
            <f:facet name="noData">                 
               Nothing found
            </f:facet>
           ...
            <rich:column width="70px">
                <h:link outcome="userViewPost.jsf">
                    <f:param name="post_id" value="#{post.id}" />
                    <h:graphicImage library="images" name="posts/manage/view.png" />
                </h:link>                   
                <a4j:commandLink render="editGrid" execute="@this"
                    oncomplete="#{rich:component('editPane')}.show()">
                    <h:graphicImage library="images" name="posts/manage/update.png" />
                    <f:setPropertyActionListener target="#{managePosts.editedPost}" value="#{post}" />
                </a4j:commandLink>

            </rich:column>       
        </rich:dataTable>

        <rich:popupPanel header="#{msg.edit_selected_post}" id="editPane" width="685" height="600" modal="true">                    

                <h:outputLabel value="#{msg.title}: " styleClass="form_labels" />
                <h:inputText id="update_post_title" value="#{managePosts.editedPost.title}" required="true"
                    requiredMessage="#{msg.empty_field_err}" size="103">
                    <f:validateLength minimum="6" maximum="128"/>
                </h:inputText>

                <h:outputLabel value="" />
                <rich:message for="update_post_title" />
                <h:outputLabel value="" />

                <h:outputLabel value="#{msg.content}: " …
Run Code Online (Sandbox Code Playgroud)

jsf richfaces

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

如何将rich:dataTable导出为ex​​cel

我想导出a <rich:dataTable><rich:extendedDataTable>excel 的内容.

  • 我看到PrimeFaces有"出口商特色" http://www.primefaces.org/showcase/ui/exporter.jsf

  • 我希望只能使用PrimeFaces做类似的事情,但是使用richFaces(版本3.3.3)......(我想在未来的某个时候迁移到RichFaces 4但是我坚持使用3.3 .3现在)

  • 我已经读过可以使用http://poi.apache.org/构建自己的, 但我不知道从哪里开始实现这样的东西......

任何关于如何最好地预先形成所需出口和示例的想法将不胜感激!

java excel jsf richfaces apache-poi

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

RichFaces a4j:支持应该在上下文中更新模型,而不是实体

我有h:inputTextarea一些人a4j:support按需更新模型

<h:inputTextarea rows="15" id="taFreetext" value="#{customInput.value}"
  required="true" 
  onkeyup="textAndLinesCount(#{rich:element('taFreetext')},document.getElementById('msgCounterLines'),20, 64);">
     <a4j:support ajaxSingle="true" event="onchange" />
</h:inputTextarea>
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我按下一个键时,不仅我的上下文中的模型被更新,而且实体也会自动刷新!

page.xml该文件中有冲洗模式到手动

<begin-conversation join="true" flush-mode="manual"/>
Run Code Online (Sandbox Code Playgroud)

我在Seam框架论坛中阅读了这篇文章:AJAX和更新模型的问题,但这并没有真正帮助.我也有一些action在我a4j:support,使一个entityManager.refresh()写在后,但随后的模型和实体仍然在旧的国家...

期待一些好的提示,谢谢!

(我使用JSF 1.2,RichFaces 3.3.3)

richfaces ajax4jsf jsf-1.2

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

使用Ajax4jsf 1.x将JSF 1.1迁移到JSF 2

我们正在将JSF 1.1(MyFaces)项目迁移到JSF 2.我们的想法是通过将JSP和XHTML保持在一起一段时间来定期迁移.我们在JSP页面中使用了许多ajax4jsf-1.1.1标记.我们不使用RichFaces.将系统配置为JSF 2(Balusc教程中提到的所有配置更改)当尝试在类路径中使用ajax4jsf.jar访问JSP页面时,我们得到一个异常:

Caused by: java.lang.IllegalStateException: setViewHandler may not be executed after a lifecycle request has been completed
    at org.apache.myfaces.application.ApplicationImpl.setViewHandler(ApplicationImpl.java:853)
    at org.ajax4jsf.framework.ajax.InitPhaseListener.beforePhase(InitPhaseListener.java:92)
    at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:76)
    at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:131)
Run Code Online (Sandbox Code Playgroud)

它看起来ajax4jsf.jar与JSF 2不兼容.看起来LifeCycle配置存在一些问题.

有没有什么办法可以让a4j与JSF 2 JSP一起工作?我知道当我们使用XHTML时,我们不需要这一切.

jsf richfaces myfaces ajax4jsf jsf-2

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

如何将补丁应用于Richfaces 4.0.0.Final

我在Richfaces 4.x中发现了一个错误.我需要更改Richfaces 4的Autocomplete.js.

我搜索了它,但我找不到令人满意的解决方案.

任何人都可以向我解释如何应用补丁Richafaces 4.x?

先感谢您

patch richfaces jsf-2

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

primefaces中richfaces组件的替代方案

我目前正在尝试将项目从RichFaces 3.0迁移到PrimeFaces 6.0,但我没有在PrimeFaces中找到这样的组件.

richfaces primefaces

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

标签 统计

richfaces ×10

jsf ×6

ajax4jsf ×5

jsf-2 ×3

seam ×3

java ×2

ajax ×1

apache-poi ×1

excel ×1

jboss ×1

jsf-1.2 ×1

myfaces ×1

patch ×1

performance ×1

primefaces ×1