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

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

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

    posts - 61,  comments - 2033,  trackbacks - 0
    ?? 由于web中的文件不能直接通過url方式讀取opencms的sites下的文件,所以必須繞個彎子解決。查閱了一下opencms的源代碼,我的解決思路如下:
    ?
    第一 拷貝方式:
    ?
    ?? 1.第一次訪問時,根據opencms提供的接口,把文件從數據庫讀到java對象obj
    ?? 2.將obj對象拷貝到web中的對應目錄
    ?? 3.將web中的對應目錄的URL確定,即可直接調用。
    ?? 4.第二次及其以后訪問時,根據對象obj的最后修改時間屬性,確定是否需要重復1-3步驟。

    參考源代碼:
    ?
    <!-- ?$Id:?test.jsp,v? 1.5 ? 2006 / 08 / 11 ? 04 : 59 : 31 ?davidye?Exp?$ -->
    ?
    <% @?page?pageEncoding = " UTF-8 " ? %>
    <% @?page?buffer = " none " ? import = " org.opencms.util.*,?org.teema.eeonline.exhibition.ExhibitionConstants,com.tblink.common.util.StringUtil,org.opencms.frontend.templateone.modules.*,javax.servlet.ServletOutputStream,?org.opencms.file.*,java.util.*,?java.io.*,?org.opencms.frontend.templateone.* " ? %>
    <% @?taglib?uri = " http://jakarta.apache.org/struts/tags-bean " ?prefix = " bean " %>
    <% @?taglib?prefix = " cms " ?uri = " http://www.opencms.org/taglib/cms " ? %>
    <% @?taglib?prefix = " fmt " ?uri = " http://java.sun.com/jstl/fmt " ? %>
    <% @?taglib?prefix = " c " ?uri = " http://java.sun.com/jstl/core " ? %>
    <% @?include?file = " ../elements/common/common.jsp " ? %>

    <%!
    private ?String?copyFile(CmsFile?cmsFile){
    ????
    try {
    ????????
    byte []?byteFile? = ?cmsFile.getContents();
    ????????String?path?
    = ?StringUtil.getRealPath(StringUtil. class , " WEB-INF " ,ExhibitionConstants.EXHIBITION_FLASH_DIRECTIONARY);
    ????????RandomAccessFile?rf
    = new ?RandomAccessFile(path? + ?ExhibitionConstants.EXHIBITION_FLASH_NAME, " rw " );?
    ????????rf.write(byteFile);?
    ????????rf.close();
    ????????
    return ?path.substring( 0 ,path.length() - 1 );
    ????}
    ????
    catch (Exception?e)
    ????{
    ????????
    return ? "" ;
    ????}
    }
    %>

    <%
    String?direct?
    = ?ExhibitionConstants.EXHIBITION_FLASH_DIRECTIONARY? + ?ExhibitionConstants.EXHIBITION_FLASH_NAME;
    String?flashUrl?
    = ? "" ;
    try {
    CmsFile?cmsFile?
    = ?__cmsJSP.getCmsObject().readFile(direct);
    long ?l? = ?cmsFile.getDateLastModified();
    String?lstr?
    = ?(String)application.getAttribute(ExhibitionConstants.APPLICATION_FLASH_DATE_INDEX);
    flashUrl?
    = ?(String)application.getAttribute(ExhibitionConstants.APPLICATION_FLASH_URL_INDEX);

    if (lstr == null ? || ? ! StringUtil.isNums(lstr)){
    ????direct?
    = ?copyFile(cmsFile);
    }
    else ? if (Long.parseLong(lstr) == l){
    ????
    if (flashUrl == null ){
    ????????direct?
    = ?copyFile(cmsFile);
    ????}
    }
    else {
    ??????direct?
    = ?copyFile(cmsFile);
    }
    flashUrl?
    = ??request.getContextPath()? + ?ExhibitionConstants.EXHIBITION_FLASH_DIRECTIONARY? + ?ExhibitionConstants.EXHIBITION_FLASH_NAME;
    application.setAttribute(ExhibitionConstants.APPLICATION_FLASH_DATE_INDEX,lstr);
    application.setAttribute(ExhibitionConstants.APPLICATION_FLASH_URL_INDEX,flashUrl);

    }
    catch (Exception?e)
    {
    ????out.println(e);?
    }
    %>

    < object?classid = " clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 " ?codebase = " http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 " ?width = " 760 " ?height = " 266 " >
    ???????
    < param?name = " movie " ?value = " <%=flashUrl%> " >
    ???????
    < param?name = " quality " ?value = " high " >
    ???????
    < embed?src = " <%=flashUrl%> " ?quality = " high " ?pluginspage = " http://www.macromedia.com/go/getflashplayer " ?type = " application/x-shockwave-flash " ?width = " 760 " ?height = " 266 " ></ embed >
    </ object >



    第二、新增Resource Type方式

    ? 1.新建Resource Type,詳細請見前一篇文章
    ??2.在opencms控制臺,新增該類別的文件
    ? 3.調用相關API顯示出來,代碼如下

    ?
    <%
    ????
    if?(getResourceCount(__cms,?"TEEMA_Ad/Home/Wide_Block_1/|teemaAd",?false)?>?0)?{?
    %>??

    ????????????
    <cms:contentload?collector="allInFolderDateReleasedDesc"?param="TEEMA_Ad/Home/Wide_Block_1/|teemaAd"?editable="true">
    ????????????????????
    <%?
    ?????????????????
    if(bannerTextCount<1)?{
    ????????????????bannerTextCount
    ++;
    ????????????
    %>

    ????????????????????????????
    <a?href='<cms:contentshow?element="URL"/>'?target="_blank">
    ??????????????????????????????
    <img?src="/eeonline/cms<cms:contentshow?element="Image/Image"/>"?width="440"?height="75">
    ????????????????????????????
    </a>

    ????????????
    <%???}?%>
    ??????????????????
    </cms:contentload>
    ????????
    </tr>
    <%
    ????}?
    %>??

    ?

    歡迎提出新的意見!
    posted on 2006-08-11 12:59 魚上游 閱讀(3860) 評論(1)  編輯  收藏 所屬分類: 爪哇世界探險


    FeedBack:
    # re: 關于opencms把sites目錄中的文件根據URL顯示到網頁的解決方法
    2006-09-01 12:44 | 孟厚
    不錯,opencms文章太少,多一篇都是好的  回復  更多評論
      
    <2006年8月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(82)

    隨筆分類(59)

    文章分類(21)

    相冊

    收藏夾(40)

    GoodSites

    搜索

    •  

    積分與排名

    • 積分 - 1267192
    • 排名 - 22

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲无码视频在线| 国产成人精品免费视频网页大全| 日韩视频免费在线| 亚洲а∨精品天堂在线| 韩国日本好看电影免费看| 亚洲国产精品ⅴa在线观看| 成人免费无码大片A毛片抽搐色欲| 亚洲一区二区三区久久| 妞干网免费观看视频| 久久无码av亚洲精品色午夜| 免费少妇a级毛片人成网| 一区二区三区在线观看免费| 亚洲色无码专区在线观看| 国产亚洲免费的视频看| 亚洲欧洲综合在线| 女人被男人躁的女爽免费视频 | 中文日本免费高清| 亚洲国产精品嫩草影院在线观看 | 美女视频黄的全免费视频网站| 亚洲人成网站在线观看播放动漫 | 免费a在线观看播放| 丰满人妻一区二区三区免费视频| 亚洲成色在线综合网站| 精品久久久久成人码免费动漫| 亚洲AV色无码乱码在线观看| 久久久久无码专区亚洲av| 18女人毛片水真多免费| 亚洲AV永久无码精品网站在线观看| 亚洲国产日韩在线观频| 57pao国产成视频免费播放| 亚洲码和欧洲码一码二码三码 | 亚洲一本之道高清乱码| 日韩免费毛片视频| a在线观看免费视频| 亚洲xxxx18| 亚洲理论电影在线观看| 一个人看www在线高清免费看 | 亚洲无码视频在线| 最近中文字幕mv手机免费高清| xxxxxx日本处大片免费看| 亚洲一卡二卡三卡四卡无卡麻豆 |