跳到导航
BEA Dev2Dev Oracle and BEA
首页 资源中心 dev2dev学堂 在线技术论坛 User Group CodeShare
WebLogic Platform 8.1 SP3 简体中文版发行
WebLogic Portal 8.1 SP3:使用简体中文环境
WebLogic Portal 8.1 SP3 的注意事项
限制
已知问题
已解决问题

WebLogic Portal 8.1 SP3 的注意事项
为 Portlet 图标和消息(简体中文)制作弹出式文本
netuix-config.xml 文件中包含 portlet 图标的弹出式文本,您可以添加如下(粗体部分)简体中文文本。
<!-- 支持容器的窗口状态 -->
   <window-state name="minimized">
        <activate-image>titlebar-button-minimize.gif</activate-image>
        <deactivate-image>titlebar-button-unminimize.gif</deactivate-image>
        <alt-text>
            <locale language="zh">
                <activate>最小化</activate>
                <deactivate>恢复</deactivate>
            </locale>
            <locale language="en">
                <activate>Minimize</activate>
                <deactivate>Restore</deactivate>
            </locale>
        </alt-text>
    </window-state>
使用 Workshop 创建门户 Web 项目时,将在 WEB-INF 下的子级文件夹中创建 netuix-config.xml 文件。
创建基于 GB2312 的门户应用程序的方法
要基于 GB2312 使用 JSP 或 PageFlow 创建门户应用程序,请添加独立的 JSP 或 PageFlow 设置,然后配置 portal 本身的设置。
首先,使用 GB2312 设置创建 JSP 或 PageFlow 时,必须执行以下设置步骤。
  1. 更改或添加 JSP ContentType <%@ page language="java" contentType="text/html;charset=GB2312"%>
  2. 更改或添加 weblogic.xml jsp-param
      <jsp-param>
    <param-name>encoding</param-name>
    <param-value>GB2312</param-value>
    </jsp-param>
  3. 更改 Web 应用程序字符编码
    从 Workshop 菜单中打开 Web 应用程序的字符编码设置屏幕(单击“工具”->“应用程序属性”->“编码”)。取消选择“使用默认值 (UTF-8)”,并在编码输入字段中设置“GB2312”。
    注意:使用 PortalProject 时,必须执行 3-a 设置步骤。
    3-a. 添加 weblogic.xml 字符集参数。

    <charset-params>
    <input-charset>
    <resource-path>/*</resource-path>
    <java-charset-name>GB2312</java-charset-name>
    </input-charset>
    </charset-params>

    删除 web.xml 文件下的描述符。
    <context-param>
    <param-name>weblogic.httpd.inputCharset./*</param-name>
    <param-value>UTF-8</param-value>
    </context-param>

  4. 更改 Portal 文件
    .portal 文件中包含 ContentType 设置,标准设置为 UTF-8。
    使用 GB2312 时,必须进行以下更改。

    <portal:directive.page contentType="text/html;charset=GB2312"/>


    更改方法
    1. 在 Workshop 菜单中选择“工具”->“应用程序属性”。
    2. 在对话框中选择“协议”,并选中“作为 XML 打开”
    3. 用鼠标右键单击创建的 .portal 文件,并选中“作为 XML 打开”
    4. 此时,您可以编辑 portal 文件的源代码。
  5. 流显示
    使用 WebLogic Administration Portal 基于采用 GB2312 创建的 portal 来创建桌面时,必须更新数据库表。
    更新对象表:L10N_LOCALE
    更新对象列:ENCODING(标准设置为 UTF-8)


    更改方法
    执行如下所示的步骤。
    1. 部署门户应用程序。
    2. 启动 WebLogic Administration Portal 并登录。
    3. 对于数据库中的 L10N_LOCALE 表,将“LANGUAGE”列(对应的行为 zh)的“ENCODING”列中的 UTF-8 更改为 GB2312。
    4. 使用 WebLogic Administration Portal 创建桌面。
      此后,创建的所有桌面都是以 GB2312 为基础的。


    补充内容 1. 表更新计时
    必须更改 L10N_LOCALE 表中与下面的两行对应的 ENCODING 列:LANGUAGE 为 zh 且 COUNTRY 为 CN 的行以及 LANGUAGE 为 zh 的行。部署门户应用程序时会自动创建 LANGUAGE 为 zh 且 COUNTRY 为 CN 的行。但是,由于所创建的门户应用程序的内容,部署时不会注册 LANGUAGE 为 zh 的行。 这种情况下,登录到 WebLogic Administration Portal 时将自动创建该行。因此,更可靠的方法是登录到 WebLogic Administration Portal 后再对表进行更改。


    示例:Oracle9i 列更新
    SQL> UPDATE L10N_LOCALE SET ENCODING='GB2312' WHERE LANGUAGE='zh'; 更新两列。
    SQL> commit;


在门户应用程序中添加布局、外壳和外观及感觉的简体中文注册信息的方法
屏幕上将显示以下门户管理消息。


尚未设置 [zh_CN] 区域的标题。


这是因为没有为布局、外壳和外观及感觉等门户骨架注册简体中文信息。默认情况下仅包含“en”的注册信息。要正确显示其他区域,必须执行下列操作。


PortalAdmin 中的设置:
  1. 启动 portalAdmin
    (将浏览器语言设置为“en”)
  2. 选择“PortalResources”->“布局”
  3. 对于树中显示的每一项,选择“添加新区域”。
    (设置要添加的语言,如“zh_CN”,然后描述标题。)
  4. 将浏览器恢复初始语言设置,并重新显示。
通过执行上述步骤,布局、外壳和外观及感觉的注册信息将存储在数据库(表名:L10N_RESOURCE)中。



Workshop 中的设置:
骨架文件(如 fourcolumn.layout、text.laf 等)位于在 Workshop 中创建的门户 Web 项目的 framework\markup\ 文件夹中。如果事先将这些文件中的区域值设置为“zh”,将不会显示上述消息。%WL_HOME%\workshop\templates\portal-project.zip 作为模板的一部分,位于 portal.war 文件中。
使搜索功能支持简体中文
为使搜索功能能够处理简体中文,必须通过以下链接下载亚洲区域软件包,并将其应用于该产品。
注意:RedHat Linux 不支持简体中文。

Windows:
Solaris:


为了应用亚洲区域软件包,请将相应文件解压缩到以下目录中。
  • Windows: %BEA_HOME%\weblogic81\portal\thirdparty\search\windows
  • Solaris: $BEA_HOME/weblogic81/portal/thirdparty/search/solaris


应用亚洲区域软件包之后,请参考:


%WEBLOGIC_HOME%\portal\thirdparty\search\common\docs\dre\dre4_axe_4.3.pdf,


并执行必要的设置。下面是获得简体中文支持所必需的设置的示例。
在 PortalSearchDRE.cfg 中:
Windows:
[chSimplified]
LanguageCode=4
SentenceBreaking=..\langfiles\chinesebreaking.dll
Language=CHINESE
Encoding=CHINESESIMPLIFIED
[LanguageTypes]
DefaultLanguageType=chSimplified

 

限制
  1. 使用门户管理时,必须使用 Internet Explorer。(有关版本信息,请参阅“支持的平台”页上的“支持的 Web 浏览器”。)某些情况下,Netscape Navigator 不能完全正确地处理简体中文。
  2. 不要在下列名称中使用双字节字符。否则,可能会出现错误。
    • 应用程序名称 (Workshop)
    • 门户 Web 项目名称 (Workshop)
    • 为门户 Web 项目新建的所有文件 (Workshop)
    • Content-management-type 属性文件(门户管理)
    • 服务管理可以使用的所有输入/输出字段(门户管理)
  3. 使用远程 portlet 时,在生成器和使用者两端使用相同的字符编码。如果两者不同,则会出现错误。




已知问题
  • 内容管理的内容创建/编辑日期 内容管理的内容创建/编辑日期以 dd-mm-yyyy US 区域日期表示法显示。
  • 发送宣传商业活动的电子邮件 如果通过电子邮件发送的商业活动文档是在 UTF-8 环境中创建的,则传送的结果将为无效字符。
    解决办法:必须在 JSP 文件(描述要发送的文档)的 contentType 指令中指定系统默认编码。



已解决问题
  • 创建 Portlet 时必须执行的步骤 以下是过去使用 WebLogic Portal 8.1 SP2 创建 portlet 时必须执行的步骤,但现在已没有这种必要。

    本地化验证
    将以下描述符添加到 WEB-INF/netuix-config.xml 文件后,本地化才能有效。
    <!-- 启用或禁用本地化 -->
    <localization>
      <enable>true</enable>
      <default-locale language="en"/>
    </localization>
    
  • 在 Java Portlet 中显示简体中文的步骤 以下步骤是过去使用 WebLogic Portal 8.1 SP2 在 Java portlet 中显示简体中文所必需的,但现在已没有这种必要。无论使用 RenderRespnse 类的 getWriter() 方法还是 getPortletOutputStream() 方法,简体中文字符都会正确显示。

    在 Java portlet 中显示简体中文
    使用 portlet 向导创建 Java portlet 时,将自动生成用于在 portlet 中输出 Hello World 的代码。将此 Hello World 转换为简体中文时,如果应用程序编码保留为默认设置 (UTF-8),则将出现无效字符。为了正确输出简体中文,请使用 getPortletOutputStream() 方法,而不要使用 RenderRespnse 类的 getWriter() 方法。


    简体中文输出示例:
    1. 新建 portlet,然后从 portlet 向导中选择 Java portlet。
    2. 选择新建 portlet
    3. 在向导设置中输入以下值 标题:Hello World
      定义标签:helloworld
      类名称:example.portlet.HelloWorld
    4. 单击“完成”按钮
    5. 打开 WEB-INF/src/example/portlet/HelloWorld.java
    6. 如下所示编辑内容
      编辑前
      public class HelloWorld extends GenericPortlet
      {
          public void doView(RenderRequest request, RenderResponse response) 引发 PortletException, IOException
          {
              response.setContentType("text/html");
              response.getWriter().write("<p>Hello World</p>");
          }
      }
      

      编辑后:
      import java.io.OutputStream;
      public class HelloWorld extends GenericPortlet
      {
          public void doView(RenderRequest request, RenderResponse response) 引发 PortletException, IOException
          {
              response.setContentType("text/html");
              String message = "<p>世界您好!!</p>";
              OutputStream os = response.getPortletOutputStream();
              os.write( message.getBytes("UTF-8") );
          }
      }
      
  • 样例门户 My Mail 样例门户简体中文邮件正文中的无效字符问题已得到了修正。
  • 使用 JRockit 8.1 SP2 的简体中文环境 WebLogic Portal 8.1 SP3 中使用的 JRockit 版本是 JRockit 8.1 SP3。不必应用以下修补程序,这些修补程序是使用 JRockit 8.1 SP2 时必需的。

    对于 32 位环境,在非英语区域下使用 JRockit 时会出现问题。在 32 位简体中文环境中使用 JRockit 时,请安装 JRockit 8.1 SP2 RP1。有关下载和安装修补程序的信息,请参阅下载并安装 JRockit 8.1SP2 修补程序