这里以input field为例。其他的应该也差不多,没去细了解。
Liferay里提供了liferay-ui 的taglib,要在jsp页面里使用的话,就在前面加上
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
不过大部分时候可以加上<%@ include file="/html/common/init.jsp" %>,里面已经有添加了很多liferay的taglib了。除非不想要那些。
加入要在页面里加一个电话号码的input field,则可以使用:
<liferay-ui:input-field model="com.liferay.portal.model.Phone" bean="<%= phone %>" field="number" fieldParam="ooxx" />
其中com.liferay.portal.model.Phone是实现了com.liferay.portal.model.BaseModel的类的ClassName(接口也没问题),phone则是Phone(或其子类)的一个实例,number就是Model的一个属性(比如Phone 这个Model有id,number,name等属性,这里使用number),ooxx跟input框的id有关。
具体InputFieldTag这个类会怎么做就不说了,反正后面会跑到:
Html/taglib/ui/input_field/page.jsp
这个jsp里。
这里要生成什么样的input框就随你喜欢啦。
下面说下默认情况。
默认的时候生成input框时,会去找一个portal-model-hints.xml的配置文件(在portal-impl.jar里)。
比如对于Phone这个Model,可能会想限制它的长度的。
可以在portal-model-hints.xml里找到<model name="com.liferay.portal.model.Phone">
在它的number属性下加上<hint name="max-length">12</hint>,限制最大长度为12.
Page.jsp里是如何拿到这个属性的呢:
Map<String, String> hints = ModelHintsUtil.getHints(model, field);
String maxLength = GetterUtil.getString(hints.get("max-length"), maxLength);
就这么简单。
这关系错综复杂的。。。不知道有没这方面的文档看下??
感觉很多东西喜欢弄成xml等配置方式。。。但如果没有配置文档的话,弄成可配置方式的作用就大大减小了。。。。(很多人可能会不知道可以这样配置而自己去重新实现。。。)
分享到:
相关推荐
liferay学习笔记1
Liferay_学习笔记 Liferay_学习笔记
转正技术贴Liferay框架工作学习笔记
Liferay6 官方培训学习笔记
Liferay使用笔记 Liferay使用笔记 Liferay使用笔记
liferay笔记.doc
liferay的一点小积累sdk就分手极度疯狂lsd发撒发生地方阿道夫try热帖也让他也让
liferay portal比较完整的学习资料,供大家学习
liferay 超级学习文档 liferay 框架 java hibernate liferay 不用多说
liferay笔记
NULL 博文链接:https://pengjj2.iteye.com/blog/2018082
liferay6.06学习手册 Liferay Portal6.0.6学习笔记
内容如下: Portal介绍 Liferay Portal6安装及简单设置 Liferay IDE的安装使用 Liferay开发模式介绍 Struts Portlet开发示例 使用Struts2开发Portlet
liferay我自己的笔记
Liferay Portal Liferay IDE
有关liferay的配置及各种编程技术,适合初学者学习
将后缀改为mht 博文链接:https://p2world.iteye.com/blog/639088
NULL 博文链接:https://123ken123.iteye.com/blog/670639
liferay Portal 学习书籍,外国人编写的,非常好。
你可以了解liferay的开发过程 开发思路