<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 眼鏡蛇 閱讀(3147) 評論(1)  編輯  收藏 所屬分類: Liferay

    評論

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

    ddd  回復  更多評論   

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 老司机午夜免费视频| 亚洲无码一区二区三区| 国产高清视频免费在线观看| 四虎www成人影院免费观看| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲欧洲视频在线观看| 男人j进入女人j内部免费网站| 国产V亚洲V天堂A无码| 永久免费AV无码网站国产| 亚洲AV无码成人精品区蜜桃| 日韩a级无码免费视频| 亚洲av日韩av无码黑人| 99精品视频在线视频免费观看| 久久久久亚洲精品美女| 中文字幕天天躁日日躁狠狠躁免费| 亚洲黄色在线网站| 一本无码人妻在中文字幕免费| 亚洲伊人久久大香线蕉AV| 国产精品国产午夜免费福利看| 女人裸身j部免费视频无遮挡| 国产亚洲精品国看不卡| 免费人妻无码不卡中文字幕系| 亚洲无人区视频大全| 成人免费无码大片A毛片抽搐色欲| 久久亚洲AV成人无码国产最大| 亚洲国产午夜中文字幕精品黄网站 | 亚洲一区二区在线免费观看| 亚洲中文字幕在线无码一区二区| 全免费一级毛片在线播放| 特a级免费高清黄色片| 亚洲精品无码mv在线观看网站 | 免费人成网站在线播放| 国产高潮流白浆喷水免费A片 | 亚洲精品理论电影在线观看| 免费在线观看视频a| 日韩电影免费观看| 亚洲欧洲国产综合AV无码久久| 亚洲国产精品狼友中文久久久 | 日韩免费视频播播| 99久久免费国产特黄| 亚洲一级毛片在线播放|