首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >富: GateIn portlet中的fileUpload

富: GateIn portlet中的fileUpload
EN

Stack Overflow用户
提问于 2011-05-25 02:00:56
回答 2查看 816关注 0票数 2

环境: RichFaces 3.3.3最终版;Facelets 1.1.15;JBoss portletbridge 2.1.0最终版;与JBoss as 5.1捆绑在一起的GateIn Portal3.1.0和内置的Mojarra JSF1.2。

一些代码片段: filepage.xhtml:

代码语言:javascript
复制
 <a4j:form id="fileForm">
      <rich:fileUpload fileUploadListener="#{testBean.fileListener}"
        acceptedTypes="txt" maxFilesQuantity="1" />
      <!-- etc. -->
 </a4j:form>

TestBean.java:

代码语言:javascript
复制
 public void fileListener(UploadEvent e) throws IOException {
    System.out.println("Entering the fileListener Method");
    UploadItem item = e.getUploadItem();
    File file = item.getFile();
            // etc...
}

当部署为独立的web应用程序时,结果如预期的那样,组件显示,用户单击添加,浏览然后选择一个文件,文件被添加到列表中,用户单击上传按钮,并在控制台上显示“进入fileListener方法”行(以及发生的其他事情)。

GateIn上的结果:除了sysout和侦听器中的其他代码之外的所有内容。这个方法似乎没有被调用。

我已经花了几天时间阅读JBoss社区论坛和一些JIRAs,似乎我的问题并不新鲜。我尝试了我找到的每一个建议,但没有一个对我有效。此外,这些帖子都不是比2010年1月更新的,而且我的应用程序的所有组成部分都有了新版本。

非常感谢您的帮助,或指向最新和详细信息的指针。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-17 04:30:18

我在Red Hat EPP的文档中找到不支持文件上传。也许当下一个版本准备好(支持JSF2、Richfaces 4和Bridge 3)时,它就会准备好了,但现在,变通方法是唯一的选择。

票数 0
EN

Stack Overflow用户

发布于 2011-05-27 02:08:04

我不认为这是对我自己问题的回答,但这对于评论来说太大了,我不想通过添加这篇编辑来影响答案。无论如何,在一位同事的建议下,我有一种变通的办法。

正如我在问题中提到的,文件上传在独立的web应用程序中工作得很好,所以为什么不让portlet只指向该web应用程序,而不是该web应用程序。

在portlet.xml中,将<portlet-class>从javax.portlet.faces.GenericFacesPortlet更改为您创建的java portlet,比如mypackage.DispatchPortlet。还要删除带有defaultViewId的<init-param>

DispatchPortlet与其他所有内容都在同一个项目中,并且比entry HelloWorld portlet稍微复杂一点。只需覆盖doView并添加以下四行代码:

代码语言:javascript
复制
 response.setContentType("text/html");
 PrintWriter out = response.getWriter();
 out.println(HTML_CONTENT);
 out.close();

HTML_CONTENT是一个静态字符串变量,看起来有点像:

代码语言:javascript
复制
 <iframe src="url to your app" height="400" width="600">no iframes</iframe>

这就是它所需要的一切。人们几乎想知道,我们为什么要费心使用portlet桥。不仅一切都能正常工作,而且看起来也更好一些,因为GateIn对CSS做的一些时髦的事情没有发生。

然而,我认为这是一个隔离区的解决方案,我真的在寻找正确的方法来使它成为一个100%的portlet,并能正常上传文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6114787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档