<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)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲色视频在线| 日日AV拍夜夜添久久免费| 亚洲一区二区三区免费| 亚洲啪AV永久无码精品放毛片| 中文字幕免费观看| 久久久久久a亚洲欧洲AV| 特级一级毛片免费看| 日韩免费观看的一级毛片| avtt天堂网手机版亚洲| 免费无码毛片一区二区APP| 国产亚洲一区区二区在线| 久香草视频在线观看免费| 免费人成视频在线观看视频| 亚洲av成人中文无码专区| 国产高清视频在线免费观看| 久久精品国产亚洲AV未满十八| 日韩免费a级毛片无码a∨| 亚洲成a人无码亚洲成av无码| 狠狠躁狠狠爱免费视频无码| 91精品免费不卡在线观看| 色播亚洲视频在线观看| 999在线视频精品免费播放观看| 亚洲国产日韩在线| 国产福利免费在线观看| 日韩在线视频免费| 久久国产亚洲观看| 91频在线观看免费大全| 欧洲乱码伦视频免费国产| 久久精品国产亚洲综合色| 四虎在线最新永久免费| 春暖花开亚洲性无区一区二区| 中文字幕亚洲激情| 国产在线观看免费观看不卡| 免费的黄网站男人的天堂| 99久久亚洲综合精品成人网| 精品成人一区二区三区免费视频| 毛片网站免费在线观看| 国内成人精品亚洲日本语音| 亚洲精品无码av人在线观看| 成人特黄a级毛片免费视频| 五级黄18以上免费看|