小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

liferay 中 開發(fā)簡(jiǎn)單struts portlet

 9loong 2009-11-11
 
2008-04-06 11:34
工作環(huán)境:
JDK   1.4
DATABASE SQLServer 2000
OS   Windows XP
預(yù)備工作:
01. 下載liferay-portal-src-4.0.0
02. 下載liferay-portal-tomcat-4.0.0.zip
一.創(chuàng)建liferay工作運(yùn)行環(huán)境
01. 修改\build.properties中的javac.compiler=modern;javac.fork=true(使用標(biāo)準(zhǔn)的1.4/1.5編譯器,使用單獨(dú)JVM,避免報(bào)內(nèi)存異常)
02. 根目錄下ant start(我的電腦竟然編譯了19分鐘......-_-!!)
03. 修改\release.properties中的Directories(lp.eclipse.dir,lp.ext.dir,lp.source.dir),到你要新建項(xiàng)目的目錄(以下稱為工作目
錄)
04. 修改\tools\ext_tmpl\build.properties中的javac.compiler=modern;javac.fork=true(此template作為以后porject復(fù)制所用)
05. 根目錄下ant build-ext
06. copy下載的liferay-portal-tomcat-4.0.0.zip至工作目錄\downloads下(STEP03中定義的目錄)
07. 修改工作目錄app.server.properties,放開app.server.type=tomcat配置
08. 在工作目錄\servers下ant install-tomcat
09. 修改工作目錄\sql中的sql-server.arg.line=-n -U sa -P -i create/create-sql-server.sql加入自己的用戶名密碼
10. 在工作目錄\sql下ant rebuild-sql-server
12. 下載最新的sql server jdbc驅(qū)動(dòng)jtds,放至工作目錄的\servers\tomcat\common\lib\ext下面
13. 修改\servers\tomcat\conf\Catalina\localhost\ROOT.xml的數(shù)據(jù)源配置為
<Resource name="jdbc/LiferayPool" auth="Container" type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:Sqlserver://localhost/lportal" username="sa" password="sa"
maxActive="100" maxIdle="30" maxWait="10000" />
09. 在工作目錄下\servers\tomcat\bin 運(yùn)行startup.bat啟動(dòng)liferay
注:
01. STEP04可省略,在STEP08前在修改工作目錄\build.properties中的javac.compiler=modern;javac.fork=true
02. STEP05可省略,ant會(huì)先檢查downloads目錄下是否有需要的版本,如果沒有則自動(dòng)下載,但是速度比較慢。如果確信你的tomcat-bin
版本和src版本一致則可以把那個(gè)zip重命名成他所要求的名字,系統(tǒng)就不會(huì)自動(dòng)下載了
03. STEP12SQLServer驅(qū)動(dòng)建議使用JTDS,官方的那個(gè)JDBC很不穩(wěn)定,時(shí)常會(huì)抱錯(cuò)。
二.官方例子部署
01. 在目錄\portlets下ant war
02. copy新生成的sample-jsf-myfaces-portlet.war;sample-jsf-sun-portlet.war;sample-json-portlet.war;sample-jsp-
portlet.war;sample-struts-portlet.war文件至工作目錄的\portlets下面
03. 在工作目錄\portlets下運(yùn)行ant deploy
04. 在工作目錄下\servers\tomcat\bin 運(yùn)行startup.bat啟動(dòng)liferay,在test一欄下會(huì)發(fā)現(xiàn)新增加的portlet
注:
01. 在目錄在目錄\portlets下也有個(gè)ant deploy,但好像有些問題,因?yàn)闀r(shí)間關(guān)系,沒有深究
02. 用戶可以直接將war或解壓后的文件夾放在webapp下(部署實(shí)際就是解壓而以)
03. 以此(webapp)形式存放portlet啟動(dòng)時(shí)會(huì)對(duì)各個(gè)文件進(jìn)行合并復(fù)制,影響啟動(dòng)速度。如果有大于10個(gè)的portlet,那啟動(dòng)速度會(huì)異常的慢
三.開發(fā)簡(jiǎn)單struts portlet(實(shí)際項(xiàng)目案例)
01. 修改工作目錄ext-web\build.xml 把deploy的ext-ejb.jar改到放在liferay\WEB-INF\lib下,Language-ext.properties放到
liferay\WEB-INF\content下
L81: <copy file="ext-ejb.jar" todir="${app.server.deploy.dir}/WEB-INF/lib" />
L89: <property name="properties.dir" value="${app.server.deploy.dir}/lib/classes/content" />
02. 在liferay-portlet-ext.xml中加入
<portlet>
   <portlet-name>1100</portlet-name>
   <struts-path>porject_managing</struts-path>
</portlet>
03. 在portlet-ext.xml中加入
<portlet>
   <portlet-name>1100</portlet-name>
   <display-name>Project Managin Portlet</display-name>
   <portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class>
   <init-param>
    <name>view-action</name>
    <value>/porject_managing/view</value>
   </init-param>
   <expiration-cache>0</expiration-cache>
   <supports>
    <mime-type>text/html</mime-type>
   </supports>
   <resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
   <security-role-ref>
    <role-name>power-user</role-name>
   </security-role-ref>
   <security-role-ref>
    <role-name>user</role-name>
   </security-role-ref>
</portlet>
04. 在liferay-display中加入
<category name="category.project">
   <portlet id="1100" />
</category>
05. 在struts-config.xml中加入
<action path="/porject_managing/view" forward="/portlet/porject_managing/view.jsp" />
<action path="/porject_managing/edit_base_project" type="com.newtouch.portlet.project_managing.actions.ViewAction">
   <forward name="portlet.porject_managing.edit_base_project" path="/portlet/porject_managing/base_project.jsp"
/>
</action>
06. 在ext\ext-web\docroot\html\porject_managing目錄下添加 view.jsp和base_project.jsp
<<view.jsp>>
<%@ include file="/html/portlet/init.jsp" %>
<portlet:defineObjects />
<%
PortletURL portletURL = renderResponse.createRenderURL();
portletURL.setParameter("struts_action", "/porject_managing/edit_base_project");
portletURL.setWindowState(WindowState.MAXIMIZED);
%>
<table cellpadding="8" cellspacing="0" width="100%">
<tr>
<%portletURL.setParameter("itype", "1");%>
<td><a href="<%=portletURL.toString()%>"><%= LanguageUtil.get(pageContext, "asset") %></a></td>
<%portletURL.setParameter("itype", "2");%>
<td><a href="<%=portletURL.toString()%>"><%= LanguageUtil.get(pageContext, "undefined") %></a></td>
<%portletURL.setParameter("itype", "3");%>
<td><a href="<%=portletURL.toString()%>"><%= LanguageUtil.get(pageContext, "undefined") %></a></td>
</tr>
<tr>
<%portletURL.setParameter("itype", "4");%>
<td><a href="<%=portletURL.toString()%>"><%= LanguageUtil.get(pageContext, "undefined") %></a></td>
<%portletURL.setParameter("itype", "5");%>
<td><a href="<%=portletURL.toString()%>"><%= LanguageUtil.get(pageContext, "undefined") %></a></td>
<%portletURL.setParameter("itype", "6");%>
<td><a href="<%=portletURL.toString()%>"><%= LanguageUtil.get(pageContext, "undefined") %></a></td>
</tr>
</table>
<<base_project.jsp>>
<%@ taglib uri="http://java./portlet
" prefix="portlet" %>
<portlet:defineObjects />
This is the <b>Sample JSP Portlet</b>. Use this as a quick way to include JSPs.
07. 啟動(dòng)eclipse,新建工程,并選擇ext為project
08. 創(chuàng)建com.newtouch.portlet.project_managing.actions.ViewAction.java
package com.newtouch.portlet.project_managing.actions;
import javax.portlet.PortletConfig;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.liferay.portal.struts.PortletAction;
public class ViewAction extends PortletAction{
public ActionForward render(ActionMapping mapping, ActionForm form,
    PortletConfig config, RenderRequest req, RenderResponse res)
    throws Exception {
   req.setAttribute("itype",req.getParameter("itype"));
   return mapping.findForward("portlet.porject_managing.edit_base_project");
}
}
09. 在\ext\ext-ejb\classes\content目錄下建立文件Language-ext_zh_CN.properties.native
##
## Language settings
##
lang.dir=ltr
lang.line.begin=left
lang.line.end=right
##
## Portlet titles
##
javax.portlet.title.1100=項(xiàng)目管理
##
## Category titles
##
category.project=項(xiàng)目
##
##Project Managing
##
asset=資產(chǎn)
undefined=未定義
10. 在改目錄下運(yùn)行native2ascii -encoding UTF-8 Language-ext_zh_CN.properties.native Language-ext.properties
11. 在工作目錄ext\ext-ejb下運(yùn)行ant deploy部署jar文件
12. 在工作目錄ext\ext-web下運(yùn)行ant deploy部署相關(guān)web文件
注:
01. 這個(gè)問題可能是由于版本跟新造成的,3.6時(shí)jar都放在common目錄下,而4.0后jar放在了webapp\lib下,但是build沒有跟新,如果仍
然放在common目錄下由于調(diào)用次序原因就會(huì)造成類找不到以及語言屬性文件找不到
02. struts-config.xml在部署時(shí)會(huì)重命名為struts-config-ext.xml,其他文件就是直接copy(為啥要這樣做?)
03. 配置文件相關(guān)配置一覽表
struts-config:(web.xml)
   <servlet-name>MainServlet</servlet-name>
   <display-name>MainServlet</display-name>
   <servlet-class>com.liferay.portal.servlet.MainServlet</servlet-class>
   <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-ext.xml</param-value>
   </init-param>
   ......
tiles-defs:(struts-config.xml)
   <plug-in className="org.apache.struts.tiles.TilesPlugin" >
    <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml,/WEB-INF/tiles-defs-
ext.xml" />
    <set-property property="moduleAware" value="true" />
    <set-property property="definitions-parser-validate" value="true" />
   </plug-in>
portlet.xml,liferay-portlet,liferay-display.xml:(com.liferay.portal.servlet.MainServlet)
   String[] xmls = new String[] {
    Http.URLtoString(ctx.getResource("/WEB-INF/portlet.xml")),
    Http.URLtoString(ctx.getResource("/WEB-INF/portlet-ext.xml")),
    Http.URLtoString(ctx.getResource("/WEB-INF/liferay-portlet.xml")),
    Http.URLtoString(ctx.getResource("/WEB-INF/liferay-portlet-ext.xml"))
   };
Language.properties:(struts-config.xml)
   <message-resources parameter="content.Language,content.Language-ext"
factory="com.liferay.portal.struts.MultiMessageResourcesFactory" />
04. base_project.jsp目前只是簡(jiǎn)單實(shí)現(xiàn),以后在下接中會(huì)加入表單
05. STEP07,liferay已經(jīng)自動(dòng)為您創(chuàng)建了工程,所以只要導(dǎo)入就可以了,如果機(jī)器速度較慢建議關(guān)掉自動(dòng)編譯.

(#)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多