标签: richfaces

使用RichFaces上传文件

我目前正在寻找使用Java Server Faces上传的文件.我发现使用RichFaces对它进行了很好的介绍.但是,我在这里理解这个过程有些麻烦.

首先,用户选择一个文件,如果立即上传设置为true,则使用ajax处理文件,到目前为止一直很好.然而,当谈到下一步时,Bean端的监听器会让我困惑:

public void listener(UploadEvent event) throws Exception{
    UploadItem item = event.getUploadItem();

    File f = item.getFile();

    System.out.println(f.getAbsolutePath());
}
Run Code Online (Sandbox Code Playgroud)

绝对路径是我计算机上的临时目录,确定我理解,但是如何使该文件可用于webbapplication?我的应用程序部署为WAR文件.是否可以将其上传到WAR?可能听起来很愚蠢,但它实际上可能很方便.

我完全知道我可以重命名该文件以将其复制到新位置,但这是要走的路吗?

jsf richfaces facelets java-ee

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

html表行的行计数器

我在JSF Web应用程序中有HTML表.我正在使用动态生成行<ui:repeat>.我想要每行一个计数器.我怎么能得到这个?有帮助吗?

与富表面dataTable中的rowKeyVar类似.

html jsf jstl richfaces

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

在jsf页面中使用commandButton下载文件

在jsf页面中使用commandButton下载文件.使用:JSF和Richfaces.

我有一个表(扩展ExtendedDataModel实现可修改,可序列化)与一些数据,并在每一行按钮"下载".

<a4j:commandButton id="getDownload" value="download" 
    style="margin-left:10px;margin-right:10px;width:100px;"
    action="#{controller.download}" immediate="true" ajaxSingle="true">
    <f:setPropertyActionListener target="#{controller.idString}" value="#{item.id}" />                     
</a4j:commandButton>
Run Code Online (Sandbox Code Playgroud)

我必须在控制器中构建文件:

public void download(){
 OutputStream out = null;
....

FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
out = response.getOutputStream();

ZipOutputStream zipout = new ZipOutputStream(out);
.....

zipout.close();
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", "attachment; filename=\""+filename+"\"");
out.flush();
....

} finally {
    try {
        if (out!=null){
            out.close();
        }
        FacesContext.getCurrentInstance().responseComplete();
    } catch (IOException e) {
        logger.error(e);
    }

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

当我实现ExtendedDataModel时,问题就开始了.起初我使用了h:commandLink,但是控制器方法从未被调用过...我试过......现在调用了正确的方法,但是(zip)文件内容显示在页面中.我想在页面中有一个按钮/链接,用户可以单击该链接下载文件.页面本身不应该改变.有任何想法吗?

我可以创建一个servlet,但我不明白为什么ExtendedDataModel改变了里面链接的行为.

EDIT1

我用了

<h:commandLink id="getDownload" value="download" action="#{controller.download}">                                                       
                            <f:setPropertyActionListener target="#{controller.idString}" value="#{item.id}" /> …
Run Code Online (Sandbox Code Playgroud)

java jsf richfaces

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

将菜单组对齐到菜单项

我正在使用Seam和Richfaces制作一个菜单栏.代码是这样的:

<rich:dropDownMenu showDelay="250" hideDelay="0" submitMode="none">
        <f:facet name="label">Tools</f:facet>

        <rich:menuItem>
            <s:link view="/pages/tools/ppaParameters/PpaParametersEdit.xhtml" value="Parameters" id="PpaParametersId" includePageParams="false" propagation="none"/>
        </rich:menuItem>

        <rich:menuGroup value="Security">
            <rich:menuItem>
                <s:link view="/pages/tools/security/ppaModule/PpaModuleEdit.xhtml" value="Module" id="PpaModuleId" includePageParams="false" propagation="none" />
            </rich:menuItem>
        </rich:menuGroup>

    </rich:dropDownMenu>
Run Code Online (Sandbox Code Playgroud)

如何使菜单项与其"父亲"对齐?

替代文字

Ferramentas =工具

Segurança=安全

Módulo=模块

css java jsf seam richfaces

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

Primefaces Vs Icefaces 2 Vs Richfaces

我们很快开始开发新的Web应用程序,目前正在评估/提出要使用的技术堆栈.

对于视图层,我们必须在Primefaces,Icefaces 2(因为我们绝对需要JSF2)和Richfaces之间进行选择.我们的基本要求是外观和感觉,简单性和易开发性,可扩展性和性能(最重要).

利用哪种观点技术/框架最为可行.我们将不胜感激任何投入/专家意见.此外,如果有任何其他推荐的框架,请告诉我们.

感谢致敬

richfaces primefaces icefaces-1.8

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

JSF,RichFaces,分页

我知道这里有很多关于JSF paginatin的帖子,但没有一个让我满意.

为了将相当大的数据拆分成页面,我将使用RichFaces数据滚动组件.

它看起来很适合,但它看起来像是"人工"的​​分页.

我不喜欢的是它加载所有数据然后只显示其中的一部分.至少它似乎是这样做的.如我错了请纠正我.

丰富的面孔有很好的演示,但由于某种原因,他们跳过bean定义 - 只有xhtml.我看到一些提到ExtendedDataModel,但我找到的唯一例子并没有让我印象深刻.我为什么要有5个屏幕代码只显示数据子集?

老实说,这样一个简单的问题就像分页在JSF中非常复杂,我真的不明白为什么.

所以我的问题是:1.在Richfaces中是否可以只加载一页数据2.而不将其存储到会话中(我的意思是实际数据不列出状态 - 当前页面等)

我只对richfaces lib感兴趣,因为我已经在我的项目中使用了它,并且不会在其他方面引入依赖

提前

jsf pagination richfaces

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

新手JSF问题 - 如何实现这种布局?

我正在尝试实现此处显示的布局 替代文字

每个面板都应链接到一个支持bean,稍后我将根据上下文添加不同的组件.

我尝试使用panelgrid但无法实现这种外观.我更喜欢只使用JSF,但如果不可能或太复杂的RichFaces也可以.

谢谢!!

layout jsf richfaces

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

显示时modalPanel延迟渲染

动机:我想在访问时减小页面的大小,所以我认为modalPanels上的延迟渲染会有所帮助.想法是在用户单击显示它的链接时呈现modalPanel.

我想在rich:modalPanel单击显示它的链接时进行延迟渲染.为了达到这个目的,我找到了一种方法:

代码modalPanel,包裹在里面a4j:outputPanel

 <a4j:outputPanel id="a4jPanel">
  <rich:modalPanel id="panel" rendered="#{bean.renderPanel}">
         <!-- here modalPanel things -->
  </rich:modalPanel>
 </a4j:outputPanel>
Run Code Online (Sandbox Code Playgroud)

支持bean的代码(会话范围):

   public boolean isRenderPanel() {
   return renderPanel;   //default value is false;
   }

    public void setRenderPanel(boolean value){
           this.renderPanel=value;
    }

    public setRenderFalse(){
           this.setRenderPanel(false);
    }
Run Code Online (Sandbox Code Playgroud)

调用它的页面代码:

<a4j:form>
<a4j:jsFunction name="setRenderFalse" action="#{user.setRenderFalse}"/>
<a4j:commandLink value="render and show"  oncomplete="Richfaces.showModalPanel('panel');setRenderFalse();" reRender="a4jPanel">
<f:setPropertyActionListener target="#{user.renderPanel}" value="true" />
</a4j:commandLink>
</a4j:form>
Run Code Online (Sandbox Code Playgroud)

问题:

  • modalPanel需要包含在一个a4j:outputPanel因为reRendering直接modalPanel不起作用(我从来不明白为什么).

  • 渲染之后,需要额外的请求将渲染值设置为false(bean是会话范围的).否则,如果我们重新加载页面,则不会有任何延迟渲染,因为该值设置为true.

  • 支持bean必须处理一个属性以保持每个modalPanel的状态,尽管此属性设置为true每次单击链接并设置为false请求完成时.我试图rendered用JS变量保持状态,但它似乎不起作用(它们只是在页面加载后再读取而且从不再读取).

有更优雅的方式吗?

jsf richfaces

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

是否可以将Primefaces和Richfaces组合在一个Web应用程序中?

在阅读RichFaces Vs PrimeFaces(性能)之后,我很想在我的Web应用程序中使用这两者来从两者中获得最大收益.

你觉得这可能吗?有哪些优点和缺点?

richfaces primefaces jsf-2

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

RichFaces tabPanel,带有switchType ajax和a4j:status

我试图实现的目标

我有一个rich:tabPanelswitchType="client",其中一个标签设置了它switchType,ajax因为加载它的数据是一个昂贵的操作.当我单击此Ajax选项卡时,我希望将其标题更改为正在加载...以指示已识别出单击.加载完成后,标题应切换回Ajax Tab.

[Client Tab] [Ajax Tab]
<click on 'Ajax Tab'>
[Client Tab] [Loading...]
<wait...>
[Client Tab] [Ajax Tab]
<click on 'Client Tab'>
[Client Tab] [Ajax Tab]
Run Code Online (Sandbox Code Playgroud)

问题描述

其实,大多数的上述预期作品所描述的,我唯一的问题是,当我从导航阿贾克斯选项卡到任何其他选项卡,将标题阿贾克斯Tab键切换回载入中...:

[Client Tab] [Ajax Tab]
<click on 'Ajax Tab'>
[Client Tab] [Loading...]
<wait...>
[Client Tab] [Ajax Tab]
<click on 'Client Tab'>
[Client Tab] [Loading...]
Run Code Online (Sandbox Code Playgroud)

研究

我在RichFaces的JIRA中发现了一个问题,但是从版本3.2.1开始修复了这个问题.此外,我用谷歌搜索了几个小时,但未能找到任何类似的问题.

环境

  • Tomcat 7.0.30
  • Mojarra …

richfaces ajax4jsf jsf-2

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

标签 统计

richfaces ×10

jsf ×7

java ×2

jsf-2 ×2

primefaces ×2

ajax4jsf ×1

css ×1

facelets ×1

html ×1

icefaces-1.8 ×1

java-ee ×1

jstl ×1

layout ×1

pagination ×1

seam ×1