




免費(fèi)預(yù)覽已結(jié)束,剩余30頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Liferay常用API文檔狀態(tài):文檔標(biāo)識(shí):YFZX-EIP-lifery-doc 草稿 正式發(fā)布 修改編 撰:胡啟穩(wěn)編撰日期:2010-09-01保密級(jí)別:一般文檔版本:004研發(fā)中心 2010文檔的模板修訂歷史記錄日期版本說(shuō)明作者2010-09-140.0.1初始化版本建立胡啟穩(wěn)2010-09-270.0.2增加文檔說(shuō)明和日志操作及MyEclispe IDE配置胡啟穩(wěn)2010-10-130.0.3完善IDE插件安裝及常用快捷鍵胡啟穩(wěn)2010-11-160.0.4更新判斷服務(wù)器類型的API胡啟穩(wěn)第 33 頁(yè)目錄1JAVA分類41.1驗(yàn)證類(com.liferay.util.Validator)41.1.1是否為空或非空41.1.2是否為Email地址41.1.3是否為數(shù)字51.1.4是否為字符51.2字符串類(com.liferay.util.StringUtil)51.2.1提取子串51.2.2合并List、數(shù)組51.2.3字符串逆序輸出61.3參數(shù)獲取類(com.liferay.util.ParamUtil)61.3.1獲取字符串71.3.2獲取數(shù)字71.3.3獲取boolean71.4類型轉(zhuǎn)換類(com.liferay.util.GetterUtil)81.4.1Boolean轉(zhuǎn)換81.4.2日期轉(zhuǎn)換81.4.3數(shù)據(jù)轉(zhuǎn)換81.5Portal工具類(com.liferay.portal.util.portalUtil)91.5.1獲取company91.5.2獲取Host91.5.3將PortletRequest轉(zhuǎn)化為HttpServletRequest91.5.4獲取Layout相關(guān)信息101.5.5從HttpServletRequest獲取PortalRL101.5.6獲取PortletGroupID101.5.7獲取portletTitle101.5.8通過(guò)request獲取User信息111.5.9系統(tǒng)分組、系統(tǒng)角色信息121.6其他122JAVASCRIPT分類132.1DOM操作132.1.1使用$()函數(shù)142.1.2使用$F()函數(shù)142.1.3使用$A()函數(shù)142.1.4使用$H()函數(shù)152.1.5使用Tray.these()函數(shù)162.2AJAX162.2.1Ajax.Request162.2.2Ajax.Request172.3其他182.3.1數(shù)組182.3.2Try.these()函數(shù)201 引言1.1 編寫目的本文描述企業(yè)信息門戶所使用Liferay的一些開發(fā)技巧,常用API等。旨在為開發(fā)提供沉淀,使代碼能夠得到更多的重用,代碼結(jié)構(gòu)更清晰,節(jié)省編碼時(shí)間,降低系統(tǒng)開發(fā)風(fēng)險(xiǎn)。本文檔閱讀對(duì)象:開發(fā)人員。1.2 文檔約定企業(yè)信息門戶系統(tǒng)簡(jiǎn)稱:EIP。Liferay版本:4.2.2。1.3 文檔概述本文檔旨在收集整理Liferay開發(fā)中的一些技巧,常用API等,以簡(jiǎn)化開發(fā)人員的編碼工作。本文檔主要包括以下內(nèi)容:Java分類:Java分類主要介紹Liferay工程體系提供的一些常用工具類API Liferay提供的驗(yàn)證類 Liferay提供的字符串類 Liferay提供的參數(shù)獲取類 Liferay提供的類型轉(zhuǎn)換類 Liferay提供的Portal工具類JavaScript分類:javaScript分類,主要介紹liferay工程集成的prototype 1.4的使用。 DOM操作 AJAX 其他2 Java篇2.1 驗(yàn)證類(com.liferay.util.Validator)此驗(yàn)證類是為常用的一些驗(yàn)證如:是否為空、數(shù)字等使用方法為:Validator.isNull(string);此類里面的方法為靜態(tài)方法,類不需要實(shí)例化,下面的如無(wú)特別說(shuō)明,方法均為靜態(tài)方法。2.1.1 是否為空或非空字符串是否為空:boolean isNull(String s)字符串是否不為空:boolean isNotNull(String s)數(shù)組是否為空:boolean isNull(Object array)數(shù)組是否不為空:Boolean isNotNull(Object array)2.1.2 是否為Email地址Boolean isEmailAddress(String ea)2.1.3 是否為數(shù)字驗(yàn)證字符串是否全為數(shù)字:boolean isDigit(String s)驗(yàn)證字符是否為數(shù)字:boolean isDigit(Char c)2.1.4 是否為字符驗(yàn)證字符串是否為ascii字符:Boolean isChar(String s)驗(yàn)證字符是否為ascii字符串:boolean isChar(char c)2.2 字符串類(com.liferay.util.StringUtil)字符串工具類是對(duì)Java 的String類的擴(kuò)展和重寫,本類里面的方法很多,本文檔只介紹一些常用方法且JDK里面沒(méi)有的方法。2.2.1 提取子串從字符串中提取出數(shù)字:String extractDigits(String s)根據(jù)分隔符提取第一個(gè)子串:String extractFirst(String s,String delimiter)根據(jù)做分隔符提取最后一個(gè):String extractLast(String s,String delimiter)2.2.2 合并List、數(shù)組將指標(biāo)的list合并成一個(gè)字符串:默認(rèn)方法以“,”分隔:String merge(List list)String merge(String array)指標(biāo)分隔符合并:String merge(List list,String delimiter) String merge(String array,String delimiter)2.2.3 字符串逆序輸出字符串逆序:String reverse(String s)2.3 參數(shù)獲取類(com.liferay.util.ParamUtil)ParamUtil是對(duì)參數(shù)獲取的一個(gè)封裝,可以方便的對(duì)獲取到的參數(shù)賦予默認(rèn)值,類型轉(zhuǎn)換等。Request支持servletRequest和PortletRequest提供了對(duì)于常用類型的轉(zhuǎn)換,如:String pageNumber = request.getParameter(pageNumber);int intPageNumber = 0;if (pageNumber != null) / 分頁(yè)跳轉(zhuǎn),賦值要跳轉(zhuǎn)到那個(gè)頁(yè)面intPageNumber = Integer.parseInt(pageNumber); else / 第一次進(jìn)入,默認(rèn)顯示第一頁(yè)的數(shù)據(jù)intPageNumber = 1;上面這段代碼如果采用ParamUtile則變?yōu)椋篿nt pageNumber = ParamUtil.getInteger(request, pageNumber, 1);如:String name=request.getParameter(searchname)=null?:request.getParameter(searchname); 則變?yōu)椋篠tring name = ParamUtil.getString(request, searchname);2.3.1 獲取字符串String ParamUtil.getString(ServletRequest req,String param)String ParamUtil.getString(ServletRequest req,String param,String defaultVlue)如果沒(méi)有指定默認(rèn)值,則默認(rèn)值為“”。2.3.2 獲取數(shù)字Int ParamUtil.getInteger(ServletRequest req,String param)Int ParamUtil.getInteger(ServletRequest req,String param,int defaultVlue)如果沒(méi)有指定默認(rèn)值,則默認(rèn)值為“0”。Double ParamUtil.getDouble(ServletRequest req,String param)Double ParamUtil.getDouble(ServletRequest req,String param,double defaultVlue)如果沒(méi)有指定默認(rèn)值,則默認(rèn)值為0.0getFloat、getShort、getLong類似2.3.3 獲取booleanBoolean ParamUtil.getBoolean(servlet req,String param)Boolean ParamUtil.getBoolean(servlet req,String param,Boolean default)這個(gè)方法對(duì)于參數(shù)為:“true”,“t”,“y”,“on”,“1”時(shí)會(huì)轉(zhuǎn)化為true,默認(rèn)為false;如果是其他的情況不要使用。2.4 類型轉(zhuǎn)換類(com.liferay.util.GetterUtil)這個(gè)工具類是類型轉(zhuǎn)換類,其他的工具類很多都是以這個(gè)為基礎(chǔ)的:2.4.1 Boolean轉(zhuǎn)換Boolean getBoolean(String value);Boolean getBoolean(String value,Boolean defaultValue);默認(rèn)為false,value為“true”,“t”,“y”,“on”,“1”時(shí)被轉(zhuǎn)換為true2.4.2 日期轉(zhuǎn)換Date getDate(String value,DataFromat df)Date geDate(String value,DataFormat df,Date defaultValue)如果沒(méi)有傳入默認(rèn)日期則默認(rèn)日期為當(dāng)前時(shí)間。使用方法如下:String dateString = 20090103;DateFormat timeStamp = new SimpleDateFormat(yyyyMMdd);Date date = GetterUtil.getDate(dateString, timeStamp);2.4.3 數(shù)據(jù)轉(zhuǎn)換Int getInteger(String value)Int getInteger(String value,int defaultValue)將字符串轉(zhuǎn)換為整數(shù),默認(rèn)值為0其他的long、double、float、short、double類似2.5 Portal工具類(com.liferay.portal.util.portalUtil)Portal工具類里面可以獲取LiferayPortal相關(guān)的一些信息如portletTitle、PortletURL等,由于大部分方法很簡(jiǎn)單,所以只列方法名,并做一些適當(dāng)?shù)慕榻B。2.5.1 獲取company從httpRequestRequest里面獲取companyCompany getCompnay(HttpServletRequest req);String getCompanyId(HttpServletRequest req)從actionRequest里面獲取companyCompany getCompany(actionRequest req)String getCompanyId(actionRequest req)從RenderRequest里面獲取companyCompany getCompany(RenderRequest req)String getCompanyId(RenderRequest req)2.5.2 獲取HostString getHost(HttpServletRequest req);String getHost(ActionRequest req)String getHost(RenderRequest req)2.5.3 將PortletRequest轉(zhuǎn)化為HttpServletRequestHttpServletRequest getHttpServletRequest(PortletRequest req)2.5.4 獲取Layout相關(guān)信息String getLayoutEditPage(Layout layout)String getLayoutURL(Layout layout,ThemeDisplay themeDisplay)String getLayoutURL(Layout layout,ThemeDisplay themeDisplay,Boolean doAsUser)String getLayoutActualURL(Layout layout,String mainPath)String getLayoutActualURL(Layout layout,String friendlyURL)String getLayoutFriendlyURL(Layout layout,ThemeDisplay themeDisplay)String geLayoutTarget(Layout layout)2.5.5 從HttpServletRequest獲取PortalRLString getPortalURL(HttpServletRequest req)2.5.6 獲取PortletGroupIDString getPortletGroupId(String plid);String getPortletGroupId(HttpServletRequest req);String getPortletGroupId(ActionRequest req);String getPortletGroupId(RenderRequest req);2.5.7 獲取portletTitleString getPortletTitle(String portletId,User user);String getPortletTitle(Portlet portlet,ServletContext ctx,Local locale)2.5.8 通過(guò)request獲取User信息 獲取User對(duì)象User getUser(HttpServletRequest req)User getUser(ActionRequest req)User getUser(RenderRequest req) 獲取UserIdString getUser(HttpServletRequest req)String getUser(ActionRequest req)String getUser(RenderRequest req) 獲取UserName如果使用傳遞的Userid查找不到用戶,則使用傳遞的默認(rèn)用戶名String getUserName(String userId,String defaultUserName); 如果使用傳遞的Userid查找不到用戶,則使用傳遞的默認(rèn)用戶名,如果能夠找到則返回一個(gè)帶鏈接的用戶名,通過(guò)此鏈接可以鏈接到編輯個(gè)人信息的頁(yè)面(此方法企業(yè)門戶暫時(shí)不可用)。String getUserName(String userId,String defaultUserName,HttpServletRequest req) 獲取用戶密碼String getUserPassword(HttpSession ses);String getUserPassword(HttpServletRequest req);String getUserPassword(ActionRequest req);String getUserPassword(RenderRequest req);2.5.9 系統(tǒng)分組、系統(tǒng)角色信息 獲取系統(tǒng)分組、角色:String getSystemGroups();String getSystemRoles(); 驗(yàn)證是否是系統(tǒng)分組、角色Boolean isSystemGroup(String groupName)Boolean isSystemRole(String roleName)2.6 日志在Liferay里面使用日志記錄方法如下:首先在類里面聲明:private static final Logger _logger = Logger.getLogger(類名.class);如:在日志級(jí)別為warn時(shí),輸出日志:if (_logger.isEnabledFor(Level.WARN) _logger.warn(message);2.7 獲取服務(wù)器類型(com.liferay.portal.kernel.util)在Liferay里面可以使用ServerDetector方便的獲取當(dāng)前運(yùn)行的應(yīng)用服務(wù)器類型,由于不同的應(yīng)用服務(wù)器對(duì)于某些代碼的處理有其特殊性,所以可以使用此類來(lái)做分支處理。使用方法如下:if(ServerDetector.isTomcat()/tomcat server else if(ServerDetector.isWebLogic()/weblogic server2.8 其他在Liferay 4.2.2的工程里面還有許多的Liferay封裝好的工具類,存入在util-java這個(gè)目錄下面??梢越?jīng)常瀏覽一下,上面列出的是一些經(jīng)常用到的工具類。其他的還有如:ColorUtilCookieUtilDateUtilFileUtilLadapUtilListUtil等。不在一一介紹,方法很簡(jiǎn)單,使用的時(shí)候看一下方法名就可能明白如何使用。3 JavaScript篇由于門戶里面引入了大量JS,如prototype.js,json.js,sniffer.js,util.js,portal.js,ajax.js,alerts.js,swfobject.js,calendar/calendar_stripped.js,calendar/calendar-setup_stripped.js,colorpicker/colorpicker.js,dragdrop/coordinates.js,dragdrop/drag.js,dragdrop/dragdropzone.js,dragdrop/resize.js,portlet/layout_configuration.js,portlet/messaging.js這些JS有很多是類庫(kù),可以幫助我們簡(jiǎn)化許多工作,這里主要介紹prototype.js和Liferay本身提供的ajax.js3.1 DOM操作DOM獲取的主要介紹使用prototype.js,企業(yè)門戶里面使用的版本是1.4.0。3.1.1 使用$()函數(shù)Prototype.js中的$()函數(shù)是在dom中使用的最頻繁的document.getElementById()的簡(jiǎn)寫。如:var name = document.getElementById(name);可以寫為:var name = $(name);和document.getElementById()相比,$()更強(qiáng)大的地方是可以傳入多個(gè)id返回一個(gè)Array數(shù)組;如 var array = $(name,password);另外一個(gè)好處是,這個(gè)函數(shù)能傳入用string表示的對(duì)象ID,也可以傳入對(duì)象本身,這樣,在建立其它能傳兩種類型的參數(shù)的函數(shù)時(shí)非常有用。3.1.2 使用$F()函數(shù)$F()函數(shù)是用于返回任何表單輸入控件的值,比如text box,drop-down list。這個(gè)方法也能用元素id或元素本身做為參數(shù)。如:$F(username)等同于:document.getElementById(username).value3.1.3 使用$A()函數(shù)$A()函數(shù)能把它接收到的單個(gè)的參數(shù)轉(zhuǎn)換成一個(gè)Array對(duì)象。這個(gè)方法,結(jié)合portotype擴(kuò)展了的Array類,能方便的把任何的可枚舉列表轉(zhuǎn)換成或拷貝到一個(gè)Array對(duì)象。一個(gè)推薦的用法就是把DOM Node Lists轉(zhuǎn)換成一個(gè)普通的Array對(duì)象,從而更有效率的進(jìn)行遍歷,請(qǐng)看下面的例子。functionshowOptions()varNodeList=$(list).getElementsByTagName(option);varnodes=$A(NodeList);nodes.each(function(node)alert(node.nodeName+: +node.innerHTML););liferayprototypepisoft3.1.4 使用$H()函數(shù)$H()函數(shù)把一些對(duì)象轉(zhuǎn)換成一個(gè)可枚舉的和聯(lián)合數(shù)組類似的Hash對(duì)象。示例如下:functiontestHash()/創(chuàng)建一個(gè)對(duì)象vara=first:10,second:20,third:30;/現(xiàn)在轉(zhuǎn)換成hashvarh=$H(a);alert(h.toQueryString();/顯示: first=10&second=20&third=303.1.5 使用Tray.these()函數(shù)3.2 AJAX3.2.1 Ajax.Request如:method:為方法:get或postParameters:為參數(shù)鍵值對(duì)onSuccess:為回調(diào)函數(shù),執(zhí)行成功后返回的內(nèi)容,下面用的是一個(gè)內(nèi)部匿名函數(shù)下面這個(gè)示例是機(jī)構(gòu)維護(hù)里面更新托盤組織機(jī)構(gòu)里面的例子。var url = /html/portlet/jgwh/ajaxSort.jsp;var pars = oper=createOrgXMLvar myAjax = new Ajax.Request( url, method: post, parameters: pars, onSuccess: function(t) if(t.responseText.indexOf(success)!=-1)alert(托盤組織機(jī)構(gòu)XML文件更新成功!); );3.2.2 Ajax.Updater如果服務(wù)器的另一端返回的信息已經(jīng)是HTML了,那么使用這個(gè)程序包中 Ajax.Updater 類將使代碼變得很優(yōu)雅。用它只需提供哪一個(gè)元素需要被AJAX請(qǐng)求返回的HTML填充就可以了,看示例:下面這個(gè)示例是個(gè)人工作臺(tái)常用功能訂閱點(diǎn)擊訂閱確定后使用Ajax刷新頁(yè)面的示例:function changeCommonfunctionPage(url,par) var mailAjax = new Ajax.Updater( commonfunctionContent, url, method: post, parameters: par ); 3.3 其他Prototype對(duì)于javascript還有許多的擴(kuò)展和封裝,可以從網(wǎng)上找prototype的api學(xué)習(xí)。3.3.1 數(shù)組在標(biāo)準(zhǔn)的javascript中,如果想把一個(gè)array中的所有elements顯示出來(lái),可以像下面代碼這樣寫: function showList()var simpsons = Homer, Marge, Lisa, Bart, Meg; for(i=0;isimpsons.length;i+)alert(simpsonsi);使用prototype.js,我們可以把它寫成這樣: function showList()var simpsons = Homer, Marge, Lisa, Bart, Meg;simpsons.each( function(familyMember)alert(familyMember););在這個(gè)例子里面語(yǔ)法看起來(lái)很怪異,也沒(méi)有多少新的改變,請(qǐng)繼續(xù)往下看。 在繼續(xù)下面內(nèi)容之前,我們注意到那個(gè)被做為一個(gè)參數(shù)傳遞給each函數(shù)的函數(shù)?我們把它理解成迭代器函數(shù)。 就如我們上面看到的,把Array中的elements當(dāng)成相同的類型使用相同的屬性和函數(shù)是很通用的。下面看看如何使用arrays的迭代功能。依照標(biāo)準(zhǔn)找到一個(gè)element。 function findEmployeeById(emp_id)var listBox = $(lstEmployees)var options = listBox.getElementsByTagName(option);options = $A(options);var opt = options.find( function(employee)return (employee.value = emp_id););alert(opt.innerHTML); /displays the employee nameBuchanan, StevenCallahan, LauraDavolio, Nancy再來(lái)看一下,如何過(guò)濾一個(gè)Array中的元素,從每個(gè)元素中得到我們想要的成員。 function showLocalLinks(paragraph)paragraph = $(paragraph);var links = $A(paragraph.getElementsByTagName(a);/找到不是以http開頭的鏈接var localLinks = links.findAll( function(link)var start = link.href.substring(0,4);return start !=http;);var texts = localLinks.pluck(innerHTML);/用一個(gè)string獲取他們var result = texts.inspect();alert(result);This pisoft hasa localhost oflinks. Some aretestand some are local3.3.2 Try.these()函數(shù)Try.these() 方法可以實(shí)現(xiàn)調(diào)用不同的方法直到其中的一個(gè)成功正常的這種需求, 他把一系列的方法作為參數(shù)并且按順序的一個(gè)一個(gè)的執(zhí)行這些方法直到其中的一個(gè)成功執(zhí)行,返回成功執(zhí)行的那個(gè)方法的返回值。在下面的例子中, xmlNode.text在一些瀏覽器中好用,但是xmlNode.textContent在另一些瀏覽器中正常工作。 使用Try.these()方法我們可以得到正常工作的那個(gè)方法的返回值。function getXmlNodeValue(xmlNode) return Try.these( function() return xmlNode.text;, function() return xmlNode.textContent;) );4 IDE篇俗話說(shuō)“工欲善其事必先利其器”,本篇主要介紹IDE的一些配置方法,使用技巧等。下面如無(wú)特別說(shuō)明IDE為MyEclipse。4.1 配置4.1.1 代碼自動(dòng)提示 Java編輯器代碼提示能夠大大提高程序員的工作效率,MyEclipse默認(rèn)情況下,只有對(duì)在輸入.的時(shí)候才會(huì)出現(xiàn)自動(dòng)提示,我們要達(dá)到的目標(biāo)是不管輸入什么的時(shí)候都會(huì)出現(xiàn)自動(dòng)提示,配置過(guò)程如下:(以MyEclipse 版本 8.5為例,其他版本類似)WindowspreferencesJavaEditorcontent Assist圖 41如圖4-1所示,在“auto activation triggers for java”里面可以看到只有“.”,所以在輸入.的時(shí)候會(huì)出現(xiàn)代碼提示,現(xiàn)在在這里面加入abedefghijklmnopqrstuvwxyz,點(diǎn)擊apply,當(dāng)下次在Java編輯器中輸入26個(gè)字母及.時(shí)都會(huì)出現(xiàn)自動(dòng)提示??梢愿鶕?jù)自己情況再加上大小字母也可以。上面的“auto activation delay”是延時(shí)時(shí)間200毫秒,可以根據(jù)自己的情況調(diào)整。 HTML/jsp編輯器在上面配置后,只會(huì)在編寫java類的時(shí)候出現(xiàn)全提示,如何讓在編輯HTML/JSP頁(yè)面時(shí)也出現(xiàn)像DreamWeaver一樣的提示呢?配置方法和上面基本一樣,方法如下:WidowspreferencesMyEclipseFile and EditorsHTMLHTML Sources圖 42如圖4-2所示:在“prompt when these characters are inserted:”后面添加上26個(gè)英文字母以及、=、.、:等符號(hào),另外加上空格。 = :以及空格,這些符號(hào)在編寫HTML代碼以及CSS樣式時(shí)會(huì)用到,所以也一并加進(jìn)來(lái)。由于JSP頁(yè)面的自動(dòng)提示繼承自HTML,所以在此配置后,可以應(yīng)用HTML和JSP編輯器。 XML編輯器配置方法同上。WindowspreferencesFiles and editorsXMLXML Sources圖 434.1.2 工作區(qū)編碼方式修改MyEclipse默認(rèn)的編碼方式為GBK,為保證項(xiàng)目編碼的統(tǒng)一,在安裝后需要修改編碼。WindowspreferencesGeneralWorkspace圖 44在text file encodeing里面選擇other,選擇UTF-8保存。4.1.3 修改控制臺(tái)顯示行數(shù)有時(shí)在MyEclipse里面運(yùn)行程序,會(huì)在控制臺(tái)打印出大段的運(yùn)行結(jié)果,但是當(dāng)內(nèi)容很多時(shí)會(huì)無(wú)法看到前面的內(nèi)容,如何修改讓MyEclipse控制臺(tái)顯示更多內(nèi)容呢?WindowsRun/DebugConsole圖 45如圖4-5所示,在console buffer size里面默認(rèn)是80000,可以適當(dāng)?shù)恼{(diào)大就可以在控制吧里面顯示更多的內(nèi)容。4.2 MyEclipse優(yōu)化MyEclipse的優(yōu)化有兩個(gè)方向。一是減少不必要的插件和啟動(dòng)項(xiàng),二是調(diào)整JVM參數(shù)。4.2.1 刪除不必要的插件和禁用啟動(dòng)項(xiàng) 禁用一些啟動(dòng)項(xiàng)禁用一些MyEclipse的開機(jī)加載啟項(xiàng)。1. Windowspreferences-Startup and shutdow:在這里關(guān)閉一些用不上的內(nèi)容,只啟用可以用得上的,這里基本上可以去掉80%。2. Windowspreferences-MyEclipseMaven4MyEclipseMaven。如果輸入了MeEclipe的注冊(cè)碼,會(huì)在啟動(dòng)的時(shí)候刷新maven庫(kù)的索引,去掉“Download resposityory index updates on startup”前面的勾。3. Windowspreferences-MyEclipseVlidation。如圖圖4-6所示,可以去掉除Classpath dependency Validator外的所有build選項(xiàng),特別是對(duì)于企業(yè)門戶含有大量JSP的工程,可以大大提高第一次的速度性能。圖 464. WindowspreferencesGeneralEditorsFile Associations,找到*.JSP,修改JSP默認(rèn)編輯器,MyEclipse的默認(rèn)JSP編輯器為“MyEclipse Visual JSF Designer”,這個(gè)編輯器在打開JSP時(shí)速度非常慢,而且不好用??梢詫⑵湫薷臑槠胀↗SP編輯器。 卸載不必要的插件刪除不必要的插件這個(gè)適用于MyEclipse 8.5以后的版本,早期版本也可以,但是比較麻煩,使用MyEclipse 8.5新加入的配置管理中心,可以非常方便的卸載不必要的插件。HelpMyEclipse Configure center圖 47如圖4.7在這里卸載一些用不上的插件。4.2.2 JVM調(diào)優(yōu)JVM調(diào)優(yōu)的方法,是調(diào)速M(fèi)yEclipse運(yùn)行時(shí)的JVM參數(shù),基本思路是為MyEclipse增加更多的內(nèi)存,避免大量GC帶來(lái)的性能降低。在MyEclipse的安裝目錄下面的Myeclipse.ini里面修改相應(yīng)參數(shù)。下面提供一個(gè)參考參數(shù)如下:-vmargs-Xms512m-Xmx512m-XX:PermSize=128m-XX:MaxPermSize=256m-Xmn168m-XX:ReservedCodeCacheSize=128m-XX:+UseParallelGC4.3 常用快捷鍵這里只寫一些比較常用的,其他具體的可以看Eclipse里面的配置文件4.3.1 經(jīng)典快捷鍵Ctrl+1 快速修復(fù)(最經(jīng)典的快捷鍵,就不用多說(shuō)了)Ctrl+D: 刪除當(dāng)前行Ctrl+Alt+ 復(fù)制當(dāng)前行到下一行(復(fù)制增加)Ctrl+Alt+ 復(fù)制當(dāng)前行到上一行(復(fù)制增加)Alt+ 當(dāng)前行和下面一行交互位置(特別實(shí)用,可以省去先剪切,再粘貼了)Alt+ 當(dāng)前行和上面一行交互位置(同上)Alt+ 前一個(gè)編輯的頁(yè)面Alt+ 下一個(gè)編輯的頁(yè)面(當(dāng)然是針對(duì)上面那條來(lái)說(shuō)了)Al
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國(guó)腫瘤醫(yī)院行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與投資報(bào)告
- 2025至2030中國(guó)肉鴨行業(yè)市場(chǎng)發(fā)展分析及競(jìng)爭(zhēng)格局與投資前景報(bào)告
- 2025至2030中國(guó)聚氯乙烯安全門行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)職業(yè)裝行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030中國(guó)羽絨市場(chǎng)前景經(jīng)營(yíng)狀況及運(yùn)行態(tài)勢(shì)研究報(bào)告
- 智能排期系統(tǒng)行業(yè)供應(yīng)鏈優(yōu)化策略研究
- 2025至2030中國(guó)網(wǎng)球拍行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)維卡軟化溫度測(cè)試儀行業(yè)深度研究及發(fā)展前景投資評(píng)估分析
- 2025至2030中國(guó)經(jīng)濟(jì)金融行業(yè)市場(chǎng)深度調(diào)研報(bào)告
- 影視制作招商組織架構(gòu)及職責(zé)
- 熱射病的診斷與治療
- 期末考試成績(jī)分析表
- JJF 1076-2020數(shù)字式溫濕度計(jì)校準(zhǔn)規(guī)范
- GB/T 9074.18-2017自攻螺釘和平墊圈組合件
- 長(zhǎng)沙梅溪湖國(guó)際新城產(chǎn)業(yè)組織與西區(qū)土地一級(jí)開發(fā)
- GB/T 3768-2017聲學(xué)聲壓法測(cè)定噪聲源聲功率級(jí)和聲能量級(jí)采用反射面上方包絡(luò)測(cè)量面的簡(jiǎn)易法
- 臨床診療指南(急診醫(yī)學(xué))
- GB 2811-2007安全帽
- 胸腔積液PPT.ppt 課件
- 斷指再植術(shù)后的切口
- 曾國(guó)藩為官之道
評(píng)論
0/150
提交評(píng)論