原来已经做好的一个portlet,使用的是jsp实现的,后来需要增加文件下载的功能,以下是解决办法:
- 开发一个portlet继承com.liferay.portlet.JSPPortlet;
- 覆盖processAction方法,如下:
-
java 代码
- public class DownloadFile extends JSPPortlet {
- public void processAction(ActionRequest req,ActionResponse res){
- File file = new File("your file ");
- InputStream is = new FileInputStream(file);
- com.liferay.util.servlet.ServletResponseUtil.sendFile(((ActionResponseImpl)res).getHttpServletResponse(), file.getName(), is);
- }
- }
3. 修改portlet-ext.xml文件如下:
xml 代码
- <portlet>
- <portlet-name>100portlet-name>
- <display-name>downloaddisplay-name>
- <portlet-class>cn.javaedu.portlet.DownloadFileportlet-class>
- <init-param>
- <name>view-jspname>
- <value>/portlet/ext/test/view.jspvalue>
- init-param>
- <expiration-cache>300expiration-cache>
- <supports>
- <mime-type>text/htmlmime-type>
- supports>
- <resource-bundle>com.liferay.portlet.StrutsResourceBundleresource-bundle>
- <security-role-ref>
- <role-name>power-userrole-name>
- security-role-ref>
- <security-role-ref>
- <role-name>userrole-name>
- security-role-ref>
- portlet>
4. 在需要下载的页面上的链接如下写:
<* href='<portlet:actionURL windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>"> </portlet:actionURL>' >download</a>
当用户点击download的下载链接时,系统就会提示用户保存文件
分享到:
相关推荐
里面有四个小型的liferay portal mvc实例,所需要的jar文件大家可以在eclipse里面新建一个portlet项目,再将里面的实例代码拷贝进去即可运行
随着信息化建设的深入,Portal 门户已经成为新型办公环境的一...的要素,引导读者完成Liferay Portal 初步的二次开发,在Liferay Portal 上定制自己的Portlet。 Liferay Portal 程序框架和源码分析不在本文的讨论范围。
把文件直接放到{user.home}/liferay/deploy文件夹中发布 博文链接:https://devilbaby.iteye.com/blog/163631
网上一个牛人哥哥整理的东东,我初学了下,感觉相当不错,无论你是想一步步学liferay portal,还是想二次开发,都很有帮助;内含多个文件,分类很细,非常有针对性!在此,再次向这位不知名的哥哥表示感谢!
7z压缩 三合一LifeRay资料: 1、LifeRay开发参考手册(温兵) 2、LifeRay二次开发指南 3、LifeRay4.3中文开发指南
liferay presson开发权限文档资料描述
该项目包含适用于Liferay社区不同版本的安全补丁(二进制文件),随着新版本的发布,这些补丁将不再开发。 除安全修补程序外,某些二进制文件还包含针对https://issues.liferay.com/(Liferay问题跟踪系统)上提出的...
开发人员可以在他们的商业项目中利用完全集成的 Web 内容管理系统和同类最佳的门户功能。 Liferay 是为非常大或非常复杂的商业项目设计的; 它可以支持具有挑战性的 B2B 行业中的数百万种产品。 主要特征 目录管理和...
该项目使用Liferay中的release.portal.bom , release.portal.bom.compile.only和release.portal.bom.third.party工件来检索所有依赖项。 该项目不是要建造的。 该项目没有自己的资源。 用法 它打算使用支持maven...
格里芬,Neil Griffin是Liferay Portal的委员以及JSF开发团队领导者,并且是Portlet Faces项目的合作创始人。 目录 第I部分 javaserver faces框架 第1章 javaserver faces简介 1.1 什么是javaserver faces 1.2 ...
格里芬,Neil Griffin是Liferay Portal的委员以及JSF开发团队领导者,并且是Portlet Faces项目的合作创始人。 目录 第I部分 javaserver faces框架 第1章 javaserver faces简介 1.1 什么是javaserver faces 1.2 ...