<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    兩個portlet之間跳轉并傳值

    在不同的Portlet之間傳參數,這想這是所有用Liferay的人都想實現的,但在以前的版本中確實做不到。現在的版本可以了,并且很簡單
     
    首先,打開portlet.xml文件,找到你想實現傳值和接收值的portlet片段,在每個片段中加上下面這行代碼:
    <supported-public-render-parameter>參數名</supported-public-render-parameter>
    然后,在最后面定義這個參數,寫法是這樣的:
    <public-render-parameter>
      <identifier>參數名</identifier>
      <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:參數名</qname>
     </public-render-parameter>
    整體是這樣
    <?xml version="1.0"?>

    <portlet-app
        
    version="2.0"
        xmlns
    ="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
    >
        
            
    <portlet>
            
    <portlet-name>chartcontroler</portlet-name>
            
    <display-name>ChartControler</display-name>
            
    <portlet-class>
                com.noah.action.ChartControlerPortlet
            
    </portlet-class>
            
    <init-param>
                
    <name>view-jsp</name>
                
    <value>/html/chartcontroler/view.jsp</value>
            
    </init-param>
            
    <expiration-cache>0</expiration-cache>
            
    <supports>
                
    <mime-type>text/html</mime-type>
                
    <portlet-mode>VIEW</portlet-mode>
            
    </supports>
            
    <resource-bundle>content/Language</resource-bundle>
            
    <portlet-info>
                
    <title>ChartControler</title>
                
    <short-title>ChartControlerPortlet</short-title>
                
    <keywords></keywords>
            
    </portlet-info>
            
    <portlet-preferences>
                
    <preference>
                    
    <name>years</name>
                    
    <value>2010,2011,2012</value>
                
    </preference>
            
    </portlet-preferences>
            
    <security-role-ref>
                
    <role-name>administrator</role-name>
            
    </security-role-ref>
            
    <security-role-ref>
                
    <role-name>guest</role-name>
            
    </security-role-ref>
            
    <security-role-ref>
                
    <role-name>power-user</role-name>
            
    </security-role-ref>
            
    <security-role-ref>
                
    <role-name>user</role-name>
            
    </security-role-ref>
            
    <supported-public-render-parameter>currentYear</supported-public-render-parameter>
            
    <supported-public-render-parameter>report</supported-public-render-parameter>
            
    <supported-public-render-parameter>partner</supported-public-render-parameter>
            
    <supported-public-render-parameter>portfolio</supported-public-render-parameter>
        
    </portlet>
        
    <portlet>
            
    <portlet-name>chart</portlet-name>
            
    <display-name>Chart</display-name>
            
    <portlet-class>com.noah.action.ChartPortlet</portlet-class>
            
    <init-param>
                
    <name>view-jsp</name>
                
    <value>/html/chartportlet/view.jsp</value>
            
    </init-param>
            
    <expiration-cache>0</expiration-cache>
            
    <supports>
                
    <mime-type>text/html</mime-type>
                
    <portlet-mode>VIEW</portlet-mode>
            
    </supports>
            
    <resource-bundle>content/Language</resource-bundle>
            
    <portlet-info>
                
    <title>Chart</title>
                
    <short-title>ChartPortlet</short-title>
                
    <keywords></keywords>
            
    </portlet-info>
            
    <security-role-ref>
                
    <role-name>administrator</role-name>
            
    </security-role-ref>
            
    <security-role-ref>
                
    <role-name>guest</role-name>
            
    </security-role-ref>
            
    <security-role-ref>
                
    <role-name>power-user</role-name>
            
    </security-role-ref>
            
    <security-role-ref>
                
    <role-name>user</role-name>
            
    </security-role-ref>
            
    <supported-public-render-parameter>currentYear</supported-public-render-parameter>
            
    <supported-public-render-parameter>report</supported-public-render-parameter>
            
    <supported-public-render-parameter>partner</supported-public-render-parameter>
            
    <supported-public-render-parameter>portfolio</supported-public-render-parameter>
        
    </portlet>
        
        
    <public-render-parameter>
            
    <identifier>currentYear</identifier>
            
    <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:currentYear</qname>
        
    </public-render-parameter>
        
    <public-render-parameter>
            
    <identifier>report</identifier>
            
    <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:report</qname>
        
    </public-render-parameter>
        
    <public-render-parameter>
            
    <identifier>partner</identifier>
            
    <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:partner</qname>
        
    </public-render-parameter>
        
    <public-render-parameter>
            
    <identifier>portfolio</identifier>
            
    <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:portfolio</qname>
        
    </public-render-parameter>
    </portlet-app>
    對參數進行賦值的話,就是在Action中用下面這句話:
    actionResponse.setRenderParameter("參數名", 參數值);
    獲取的話,就直接像取其它參數一下直接獲取:
    在Action中,String 變量 = ParamUtil.getString(request, "參數名", "默認值");
    在JSP中,<%=renderRequest.getParameter("參數名")%>
     
    整體代碼如下:
    /**
     * 
    @author noah.xiang
     
    */

    public class ChartControlerPortlet extends MVCPortlet {

        @Override
        
    public void processAction(ActionRequest actionRequest,
                ActionResponse actionResponse) 
    throws IOException, PortletException {
            String currentYear 
    = ParamUtil.getString(actionRequest, "currentYear""2010");
            String report 
    = ParamUtil.getString(actionRequest, "report""");
            String partner 
    = ParamUtil.getString(actionRequest, "partner""Bocholter Energie- und Wasserversorgung GmbH");
            String portfolio 
    = ParamUtil.getString(actionRequest, "portfolio""");
            
            actionResponse.setRenderParameter(
    "currentYear", currentYear);
            actionResponse.setRenderParameter(
    "report", report);
            actionResponse.setRenderParameter(
    "partner", partner);
            actionResponse.setRenderParameter(
    "portfolio", portfolio);
            
    //actionResponse.setRenderParameter("jspPage", "/html/chartportlet/view.jsp");
            super.processAction(actionRequest, actionResponse);
        }


        @Override
        
    public void render(RenderRequest request, RenderResponse response)
                
    throws PortletException, IOException {
            String currentYear 
    = ParamUtil.getString(request, "currentYear""2010");
            String report 
    = ParamUtil.getString(request, "report""");
            String partner 
    = ParamUtil.getString(request, "partner""");
            String portfolio 
    = ParamUtil.getString(request, "portfolio""");

            PortletPreferences prefs 
    = request.getPreferences();
            String years 
    = prefs.getValue("years""2010,2011,2012");
            
    //String portfolios = prefs.getValue("portfolios", "Absatzportfolio: A-a,Absatzportfolio: B-b,Absatzportfolio: C-c");
            
    //String partners = prefs.getValue("partners", "");

            //順便說一下,這一行,可以實現通過Session傳值,有興趣的可以研究一下
            request.getPortletSession().setAttribute(DataPoolUtil.SESSION_SHARED_YEAR, currentYear, PortletSession.APPLICATION_SCOPE);

            request.setAttribute(
    "years", years);
            request.setAttribute(
    "portfolios", portfolio);
            request.setAttribute(
    "currentYear", currentYear);
            request.setAttribute(
    "report", report);
            request.setAttribute(
    "partner", partner);
            
    super.render(request, response);
        }

     

    }
     


    眼鏡蛇

    posted on 2011-10-27 18:36 眼鏡蛇 閱讀(3148) 評論(1)  編輯  收藏 所屬分類: Liferay

    評論

    # re: 兩個portlet之間跳轉并傳值[未登錄] 2014-09-26 09:07 dd

    ddd  回復  更多評論   

    <2014年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    導航

    統計

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产妇乱子伦视频免费| 亚洲国产V高清在线观看| 在线观看亚洲精品国产| 偷自拍亚洲视频在线观看| 好吊妞788免费视频播放| 精品亚洲AV无码一区二区三区| 中文在线免费观看| 亚洲欧洲精品无码AV| 一级做a爱过程免费视| 亚洲国产香蕉人人爽成AV片久久| 美女视频黄频a免费大全视频| 免费人成视网站在线观看不卡| 日本系列1页亚洲系列| 亚洲精品无码av天堂| 国产日韩久久免费影院| 亚洲日本一区二区三区| 亚洲高清免费在线观看| 亚洲高清在线观看| 99ri精品国产亚洲| 精品国产免费人成电影在线观看| 亚洲成年人免费网站| 亚洲AV无码一区二区乱子仑| 国产婷婷成人久久Av免费高清| 久久被窝电影亚洲爽爽爽 | 亚洲国产成人资源在线软件 | 免费日本一区二区| 亚洲视频免费在线看| 午夜高清免费在线观看| 污污免费在线观看| 亚洲AV无码一区东京热| 国产成人yy免费视频| 免费看一级高潮毛片| 国产成人无码综合亚洲日韩| 99久久免费精品视频| 亚洲av永久无码天堂网| 亚洲中文字幕无码久久2017 | 99ee6热久久免费精品6| 亚洲av无码一区二区三区在线播放| 日韩中文无码有码免费视频| 亚洲国产另类久久久精品小说| 全免费一级午夜毛片|