Liferay6.1简单增删改查示例

2012年11月01日 Liferay 评论 27 条 阅读 25,521 views 次

(建立了一个讨论Liferay的群:6537876,探讨学习Liferay的二次开发、Portal技术、企业信息门户(EIP)等相关内容,欢迎加入。)

写了一个最简单的portlet的增删改查的示例。下载地址:点击这里

portlet的创建,可以参考:

Liferay 6.1开发学习(二):创建一个Portlet工程

Liferay 6.1开发学习(三):Portlet简述

ServiceBuilder的使用,可以参考:Liferay 6.1开发学习(四):Service Builder

说明:

此demo演示的是最简单的一个增删改查,没有写css,页面中数据提交前没有做javascript的非空验证,数据的删除没有对用户进行提醒,在实际的开发环境中请注意以上细节。

可能碰到的问题

问题1:不会跳转页面

如果是看完demo,自己开发中可能遇到,点击了添加不会跳转到相关页面。请检查portlet.xml中是否有下面的配置:

<init-param>
 <name>copy-request-parameters</name>
 <value>true</value>
 </init-param>

问题2:显示SDK不正确,SDK不能配置等

请将下载的源码工程,解压后复制到SDK的portlets目录下面,然后再使用Eclipse导入,在导入的时候不要勾选复制工程到workspace的选项。

用户头像

27 条留言  访客:18 条  博主:7 条   引用: 2 条

  1. 看完了胡总的文章,并下载了bookPortlet的例子,发现里面增删改查的代码逻辑混乱。。比如增加一条信息,增加功能实际就完成了两个add book?不晓得这样做是啥意思。。 ❓ ❓

    • avatar 胡启稳

      增加功能完成了两个add book?现在也没空再看一下,如果确实是这样的应该是代码bug,这个demo是当时花了十几分钟做的,也没有详细检查,难免有错误,你具体说一下,我周末的时候给修改调整一下

  2. 胡总好,我下载了demo:
    使用importliferay project from existing source总是报错
    Project is not located inside Liferay Plugins SDK.
    Liferay plugin sdk version:中为空
    后来使用
    Import-general – existing projects into workspace方式导入那个demo
    导入后配置了sdk和runtime但有很多问题,
    但是我新建liferay porlet没有问题
    请胡总指导下,我使用的liferay版本6.1.1

    • avatar 胡启稳

      这个问题一般是工程所放的目录不正确,将这个工程解压后放于SDK的portlets目录下面,确保目录结果为:sdk/portlets/xxx工程名/build.xml,你检查一下你的工程目录结构是不是为:sdk/portlets/xxx工程名/xxx工程名/build.xml

  3. 胡总您好,模仿这个demo,我自己写了个porlet工程,这是view.jsp文件内容:
    遇到了一个问题,花了一天时间也没有搞明白,请胡总指点指点,在这里我有一个renderURL和一个actionURL,renderURL执行没有任何问题顺利的进入了edit.jsp页面。而actionURL我用断点看是进入了后台的处理方法toedit1()的处理方法,然后却没有返回到edit.jsp页面,而是进入了doview()的方法中。仔细和胡总的demo比较也没有发现什么不同。从网上看了很多资料也搞不太明白,请胡总指点指点。谢谢!

    <input type="button" value="add" onclick="openAdd();”>

    <form action="” method=”post”>

    portlet in View mode.

    function openAdd(){
    window.location = “${editUrl}”;
    }

  4. 代码好像提交不上啊:

  5. 搞定,啥也不说了,谢谢!谢谢!谢谢!谢谢!谢谢!

  6. avatar 镜花水月

    😛 liferay中导入工程例子,需要注意点什么,比如我导入在这里下载的demo增删改查例子后修改JDK,把demo拷贝到sdk下相应的portlets下,接着不知道怎么引入到eclipse中,能帮我解下下这个问题不?

  7. avatar 人间凶器

    liferay启动报错:BeanLocator has not been set for servlet context Demo-portlet
    我觉得是在参数的传递时会用到beanlocator,像在页面中:

    通过后台:
    renderRequest.setAttribute(“bookList”, bookList);
    renderRequest.setAttribute(“bookCount”, bookCount);
    但我不知道该如何解决这个问题,是不是少包了,想问一下, 🙁

    • avatar 胡启稳

      这个问题首先查看一下异常的上下文件里面有没有更明确的提示
      1、数据库连接是否正确
      2、service builder生成的spring的配置文件是否正确,如果不懂怎么配置,将META-INF下面的文件删除,然后重新执行service builder,再重新部署。
      3、代码是否有明显错误。

    • avatar 辛三七

      ant的build.xml文件中的project-name 与不一致也会导致这个错误.
      如果建完项目改项目名称,要记得把这块也改过来.

  8. avatar 人间凶器

    我仿照你的demo写了一个,但是在searchcontainer列表显示的时候什么都显示不出来,eclipse里面也不报错,郁闷死了, 😥

  9. avatar 人间凶器

    我在searchcontainer部分写的代码如下:

    <liferay-ui:search-container-column-text name="device-no"
    value="” />
    <liferay-ui:search-container-column-text name="device-name"
    value="” />
    <liferay-ui:search-container-column-text name="create-date"
    value="” />

    完全是仿照你的demo写的,不知道哪里错了,想问一下, 😥

  10. avatar 人间凶器

    奇怪,总会有东西漏掉。。。

  11. 我在eclipse上部署了你的这个例子,发现在主页里 添加 — 更多 — 示例中找不到这个portlet,请问这是怎么回事?

  12. 控制台没有找到对应项目,只有我自己按照你 Liferay 6.1开发学习(二)的方法自己建好portlet,导入方法是按照你问题2中写的一样。

  13. 你好,每次修改了portlet程序,都要重新deploy重启服务,调试太麻烦了,有没有方便点的方法,可以自动部署,就像在开发普通的web程序一样

  14. liferay portal 6.2.0 部署成功,谢谢。现在开始练习。

  15. 你好:我在部署demo的时候遇到国际化book-no乱码的情况,我已经将工程的编码以及文件的编码调整成了UTF-8了 乱码还是存在

  16. 部署好了之后,控制台的示例中没有显示该项目

来自外部的引用: 2 条

  • Liferay 6.1开发学习(十九):Liferay ServiceBuilder之自定义查询 | IT人生录
  • liferay 6.2增删改查(CRUD)开发实例 | IT人生录

给我留言

您必须 登录 才能发表留言!

Copyright © IT人生录 保留所有权利.   主题设计 知更鸟 滇ICP备16001547号

用户登录

分享到: