如何在Liferay 7中创建一个简单的JSF Portlet
这个将在Liferay IDE 3.1 M3的发布版中提供创建的选项,但是你也可以通过命令行来创建。
1.这是Liferay JSF团队的官网:http://liferayfaces.org/ 你能在这里找到手动创建的所有的资料
2.这是Liferay官网提供的教程:GETTING STARTED WITH JSF APPLICATIONS
3.下面我将介绍如何用Liferay IDE创建一个简单的打招呼功能的JSF Portlet:
先上效果图:

a. 下载Liferay IDE 3.1 M3
b. 选择New Liferay JSF War Project

我的项目名为MavenJSFTest
c. 先写一个后台的Java处理类放在src/main/java下代码如下:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ActionEvent; import com.liferay.faces.util.context.FacesContextHelperUtil; @RequestScoped
@ManagedBean
public class Hello
{ public String getName()
{
return name;
} public void setName( String name )
{
this.name = name;
} public void submit( ActionEvent actionEvent )
{
FacesContextHelperUtil.addGlobalSuccessInfoMessage();
} private String name;
}
然后写前台UI页面,放在webapp/WEB-INF/views的view.xhtml中:
<?xml version="1.0"?> <f:view
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html"
>
<h:head>
<h:outputStylesheet library="css" name="main.css" />
</h:head>
<h:form>
<h:messages globalOnly="true" />
<h:outputLabel value="#{i18n['enter-your-name']}" />
<h:inputText value="#{hello.name}" />
<h:commandButton actionListener="#{hello.submit}" value="#{i18n['submit']}">
<f:ajax execute="@form" render="@form" />
</h:commandButton>
<br />
<h:outputText value="Hello #{hello.name}" />
</h:form>
</f:view>
d:xhtml的页面中language key可以放在i18n.properties中,我把enter-your-name的值放在i18n.properties中:
# These messages can be accessed via EL using the implicit i18n object provided by Liferay Faces Util. When the portlet
# is deployed to any portal, the i18n object can also access messages found in a portlet.xml <resource-bundle> . When
# deployed to Liferay Portal, the i18n object can also access messages found in the portal's Language.properties file.
MavenJSFTest-hello-world=Hello MavenJSFTest!
enter-your-name=Enter your name:
然后这个程序就完成了,你可以直接通过IDE部署到Liferay Bundle上,也可以自己打包放到Liferay Bundle的 deploy文件夹中。
如何在Liferay 7中创建一个简单的JSF Portlet的更多相关文章
- 在 Visual Studio 中创建一个简单的 C# 控制台应用程序
转载:https://blog.csdn.net/qq_43994242/article/details/87260824 快速入门:使用 Visual Studio 创建第一个 C# 控制台应用 h ...
- ADF_General JSF系列1_创建一个简单的JSF Application
2015-02-17 Creatd By BaoXinjian
- 【Unity Shaders】Reflecting Your World —— 在Unity3D中创建一个简单的动态Cubemap系统
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- 在终端中创建一个简单的mysql表格
打开终端后输入:/usr/local/MySQL/bin/mysql -u root –p 然后输入密码:***** 创建数据库:create database work; 使用当前数据库:use w ...
- 在iOS 4中创建一个LDGradientView样式的渐变视图
本教程将演示如何在 Swift 4 中创建一个多功能的.@IBDesignable 样式的渐变视图类.你可以将 CAGradientView 放到 storyboard 中,并在设计时预览,或者以编程 ...
- 如何在 GitHub 的项目中创建一个分支呢?
如何在 GitHub 的项目中创建一个分支呢? 其实很简单啦,直接点击 Branch,然后在弹出的文本框中添加自己的 Branch Name 然后点击蓝色的Create branch就可以了,这样一来 ...
- PS网页设计教程XXVI——如何在PS中创建一个专业的网页布局
作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...
- PS网页设计教程XXVIII——如何在PS中创建一个干净的网页布局
作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...
- IOS中TableView的使用(1) -创建一个简单的tableView
创建一个简单的tableView: #import <UIKit/UIKit.h> /*tableView 一定要遵守这两个协议: UITableViewDataSource,UITabl ...
随机推荐
- 63 搜索旋转排序数组II
原题网址:https://www.lintcode.com/problem/search-in-rotated-sorted-array-ii/description 描述 跟进“搜索旋转排序数组”, ...
- JDBC中DAO+service设计思想
一.DAO设计思想 a) Data access Object(数据访问对象):前人总结出的一种固定模式的设计思想. 高可读性. 高复用性. 高扩展性. b) JDBC代码实现的增删改查操作是有复用需 ...
- 跟我一起了解koa(四)
我们使用第二讲中的路由页面,再结合ejs,一起了解ejs在koa中的应用 1.安装koa-views和ejs cnpm install --save koa cnpm install koa-rout ...
- JosnRpcClient
<?php /** * Simple JSON-RPC interface. */ namespace org; class JosnRpcClient{ protected $host; pr ...
- java并发系列(六)-----Java并发:volatile关键字解析
在 Java 并发编程中,要想使并发程序能够正确地执行,必须要保证三条原则,即:原子性.可见性和有序性.只要有一条原则没有被保证,就有可能会导致程序运行不正确.volatile关键字 被用来保证可见性 ...
- spring cloud深入学习(四)-----eureka源码解析、ribbon解析、声明式调用feign
基本概念 1.Registe 一一服务注册当eureka Client向Eureka Server注册时,Eureka Client提供自身的元数据,比如IP地址.端口.运行状况指标的Uri.主页地址 ...
- spring深入学习(六)-----springmvc
MVC设计模式 有过一定开发经验的人肯定都知道这个模式,先简单介绍下这种模式,然后再去讨论为啥要这么设计: 传统的web应用中应该主要包括这些组件,不同组件负责不同的模块. 数据实体:POJO 数据层 ...
- vmware 安装 黑群晖
先做一个启动盘 然后竟然启动不了 算了 不管了,去网上找个别人做好的吧 添加硬盘的时候,需要选择sata, 比如安装6.2需要这个版本的引导,就直接选中这个,因为我自己做的启动盘不管用,也不知道为嘛 ...
- 【NOJ2024】入栈序列和出栈序列
入栈序列和出栈序列 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 总提交:293 测试通过:68 比赛描述 给出入栈序列 ...
- 洛谷P2347 砝码称重 [2017年4月计划 动态规划01]
P2347 砝码称重 题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输出格式 输入格式: 输入方式:a1 a2 a3 a4 a5 a6 (表示1 ...