Liferay6.1简单增删改查示例
(建立了一个讨论Liferay的群:6537876,探讨学习Liferay的二次开发、Portal技术、企业信息门户(EIP)等相关内容,欢迎加入。)
写了一个最简单的portlet的增删改查的示例。下载地址:点击这里。
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的选项。
看完了胡总的文章,并下载了bookPortlet的例子,发现里面增删改查的代码逻辑混乱。。比如增加一条信息,增加功能实际就完成了两个add book?不晓得这样做是啥意思。。 ❓ ❓
增加功能完成了两个add book?现在也没空再看一下,如果确实是这样的应该是代码bug,这个demo是当时花了十几分钟做的,也没有详细检查,难免有错误,你具体说一下,我周末的时候给修改调整一下
胡总好,我下载了demo:
使用importliferay 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
这个问题一般是工程所放的目录不正确,将这个工程解压后放于SDK的portlets目录下面,确保目录结果为:sdk/portlets/xxx工程名/build.xml,你检查一下你的工程目录结构是不是为:sdk/portlets/xxx工程名/xxx工程名/build.xml
胡总您好,模仿这个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}”;
}
代码好像提交不上啊:
看最后的,可能遇到的问题
搞定,啥也不说了,谢谢!谢谢!谢谢!谢谢!谢谢!
😛 liferay中导入工程例子,需要注意点什么,比如我导入在这里下载的demo增删改查例子后修改JDK,把demo拷贝到sdk下相应的portlets下,接着不知道怎么引入到eclipse中,能帮我解下下这个问题不?
liferay启动报错:BeanLocator has not been set for servlet context Demo-portlet
我觉得是在参数的传递时会用到beanlocator,像在页面中:
通过后台:
renderRequest.setAttribute(“bookList”, bookList);
renderRequest.setAttribute(“bookCount”, bookCount);
但我不知道该如何解决这个问题,是不是少包了,想问一下, 🙁
这个问题首先查看一下异常的上下文件里面有没有更明确的提示
1、数据库连接是否正确
2、service builder生成的spring的配置文件是否正确,如果不懂怎么配置,将META-INF下面的文件删除,然后重新执行service builder,再重新部署。
3、代码是否有明显错误。
ant的build.xml文件中的project-name 与不一致也会导致这个错误.
如果建完项目改项目名称,要记得把这块也改过来.
我仿照你的demo写了一个,但是在searchcontainer列表显示的时候什么都显示不出来,eclipse里面也不报错,郁闷死了, 😥
我在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写的,不知道哪里错了,想问一下, 😥
这个貌似value里面的引号不对吧
奇怪,总会有东西漏掉。。。
我在eclipse上部署了你的这个例子,发现在主页里 添加 — 更多 — 示例中找不到这个portlet,请问这是怎么回事?
看控制台,有没有部署成果
控制台没有找到对应项目,只有我自己按照你 Liferay 6.1开发学习(二)的方法自己建好portlet,导入方法是按照你问题2中写的一样。
你好,每次修改了portlet程序,都要重新deploy重启服务,调试太麻烦了,有没有方便点的方法,可以自动部署,就像在开发普通的web程序一样
可以的,在项目上点右键 run as,选择tomcat server
liferay portal 6.2.0 部署成功,谢谢。现在开始练习。
你好:我在部署demo的时候遇到国际化book-no乱码的情况,我已经将工程的编码以及文件的编码调整成了UTF-8了 乱码还是存在
部署好了之后,控制台的示例中没有显示该项目