liferay中的Velocity使用分析(1)
liferay中使用Velocity進行themes設定,下面來分析一下它的應用過程
1.我們先看看VelocityVariables.java這個類,它定義了4個方法
public static void insertHelperUtilities(VelocityContext vc, String[] restrictedVariables)({...}
這個方法主要在Journal中使用,主要是將一些util的變量加入至Velocity中
public static void insertVariables(
VelocityContext vc, HttpServletRequest req) {...}
此方法使用的最多,用來定義所有變量,分別在VelocityFilter.java,RuntimePortletUtil.java和 ThemeUtil.java中使用
private static void _insertHelperUtility(
VelocityContext vc, String[] restrictedVariables, String key,
Object value) {...}
在insertHelperUtilities方法中使用的內部方法
private static String _insertTilesVariables(
VelocityContext vc, HttpServletRequest req, String attributeId,
String attributeName) {...}
在insertVariables方法中使用的內部方法,定義Tiles attributes變量的方法
2.再來看看webapps/ROOT/html/themes/_unstyled/templates/init.vm文件
#set ($theme_display = $themeDisplay)
#set ($portlet_display = $portletDisplay)
......
定義變量,分別將VelocityVariables中定義的變量值取出供其他vm文件使用
1.我們先看看VelocityVariables.java這個類,它定義了4個方法
public static void insertHelperUtilities(VelocityContext vc, String[] restrictedVariables)({...}
這個方法主要在Journal中使用,主要是將一些util的變量加入至Velocity中
public static void insertVariables(
VelocityContext vc, HttpServletRequest req) {...}
此方法使用的最多,用來定義所有變量,分別在VelocityFilter.java,RuntimePortletUtil.java和 ThemeUtil.java中使用
private static void _insertHelperUtility(
VelocityContext vc, String[] restrictedVariables, String key,
Object value) {...}
在insertHelperUtilities方法中使用的內部方法
private static String _insertTilesVariables(
VelocityContext vc, HttpServletRequest req, String attributeId,
String attributeName) {...}
在insertVariables方法中使用的內部方法,定義Tiles attributes變量的方法
2.再來看看webapps/ROOT/html/themes/_unstyled/templates/init.vm文件
#set ($theme_display = $themeDisplay)
#set ($portlet_display = $portletDisplay)
......
定義變量,分別將VelocityVariables中定義的變量值取出供其他vm文件使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.