Web 工具 - 发行说明

1.0 简介
2.0 对前发行版的更改
3.0 限制
   3.1 GTK 窗口系统上的颜色选择功能
   3.2 不能通过使用 Web Site Designer 中的“候选值窗口”来输入 DBCS 日语汉字
   3.3 页面模板将不应用于 Web 页面的情况
4.0 已知问题
   4.1 当从属 Java 发生更改时 JSP 验证器不进行自动编译
   4.2 性能提示:关闭不活动的项目
   4.3 性能提示:禁用自动验证
   4.4 在 Linux 上的只读文件夹中,文件不是由“Web 工具向导”创建的
   4.5 Page Designer 工具栏菜单定制限制
   4.6 Applet 上的断开的链接警告
   4.7 使用 Page Designer 在 HTML 和 JSP 文件中插入 applet
   4.8 对于使用数据库 Web 页面向导创建的代码进行数据类型转换的注意事项
   4.9 JSP 应该使用显式的 import 语句
   4.10 迁移 4.0.3 Web 项目中的关系数据
   4.11 在 DBCS 环境中为 WebSphere 5 服务器上的 J2EE 1.3 级别设计的 JSP 和 Java Servlet 需要额外的代码段
   4.12 将一些项拖放到快速编辑视图上
   4.13 将片段视图项与快速编辑视图中的简单操作配合使用
   4.14 Page Designer 的移动式语言支持
   4.15 Page Designer 的页面模板支持
   4.16 关于将站点部件与 Web Site Designer 配合使用的注意事项
   4.17 在 Motif 上的 Page Designer 的设计页面中显示欧元符号
   4.18 双击 DBCS 语言环境上的内容辅助建议
   4.19 编辑器中未保存文件上的搜索注释
   4.20 使用 Web Site Designer 或页面模板时的 ClearCase 限制
   4.21 数据库 Web 页面向导生成的 JSP 中的 Javascript 表单提交问题

1.0 简介

WebSphere Studio 中的 Web 开发环境提供了开发 Web 应用程序所必需的工具。Web 应用程序包括静态 Web 页面、JavaServer Pages(JSP)、Java Servlet、XML 部署描述符(web.xml)和其它 Web 资源。本自述文件描述与 Web 开发环境中使用的工具相关联的已知问题、限制和变通方法。

2.0 对前发行版的更改

现在,可以配置 Web 项目中的 Web ContentJava Source 文件夹名称。缺省名称为 WebContentJavaSource;但是,可以在 Web 工具 -> 新建项目首选项页面上更改新的 Web 项目的缺省名称。可以使用导航器来重命名现有项目的文件夹。
注意:非缺省文件夹名称将与 WebSphere Studio V5.0.0 不兼容。如果需要使工作空间与版本 5.0.0 保持兼容,则不要更改缺省名称。

两个新的视图已被添加至 Web 透视图来帮助进行 HTML/JSP 页面编辑。“选用板”视图包含一组项,可以将这些项拖放到 Page Designer 中的 Web 页面上。“快速编辑”视图允许用户在 Page Designer 中添加/编辑脚本和标记事件的脚本。有关更多详细信息,请参阅“帮助”系统。

3.0 限制

3.1 GTK 窗口系统上的颜色选择功能

可以从颜色视图、属性视图和样式视图中选择屏幕上的颜色;但是,此功能在 GTK 窗口系统上不起作用。如果想要使用颜色选择功能,则请选择 Motif 窗口系统。

3.2 不能通过使用 Web Site Designer 中的“候选值窗口”来输入 DBCS 日语汉字

在 Web Site Designer 中,当使用“canna”的候选值窗口来编辑文本字段时,输入 DBCS 日语汉字将失败。
为了避免发生此问题,应使用“Wnn”而不是使用“canna”。有关更多信息,参阅操作系统的安装手册。

3.3 页面模板将不应用于 Web 页面的情况

有一些情况可能会导致当使用任何页面模板向导时都不将页面模板应用于 Web 页面:

4.0 已知问题

4.1 当从属 Java 发生更改时 JSP 验证器不进行自动编译

当 JSP 文件引用的 Java 类发生更改时,JSP 验证器不会自动地重新验证该 JSP 文件。可以在“项目导航器”中选择该文件并从上下文菜单中选择运行验证来对它重新运行 JSP 验证器。

4.2 性能提示:关闭不活动的项目

建议您关闭任何没有使用的项目以改进性能。当执行全部重建时,只重建打开的项目。

4.3 性能提示:禁用自动验证

缺省情况下,当您在 Web 项目中保存资源时,验证器会自动运行。如果不想让验证器在您保存这些资源时自动运行,则从“J2EE 导航器”视图中的上下文菜单打开 Web 项目属性对话框。然后启用覆盖验证首选项选项,并从验证页面禁用将更改保存至资源时自动运行验证选项。也可以通过选择窗口 > 首选项,并从工作台页面禁用对资源修改自动执行构建来对所有项目禁用自动验证(和构建)。如果禁用自动构建,则可以通过选择项目 > 重建项目来手工运行构建(和验证)。

4.4 在 Linux 上的只读文件夹中,文件不是由“Web 工具向导”创建的

当您尝试在 Linux 上的只读文件夹中创建文件时,不会生成文件,也不会提供错误消息。

4.5 Page Designer 工具栏菜单定制限制

在使用定制透视图对话框(通过选择窗口 > 定制透视图来访问)定制了工具栏之后,Page Designer 工具栏菜单不能用来进一步定制该工具栏。在这种情况下,必须使用定制透视图对话框来定制要显示哪些工具栏项。

4.6 Applet 上的断开的链接警告

如果使用了全限定 Java 类名,则 LinksBuilder 可能不正确地将 applet 的代码属性值标志为无效链接:

<applet code="aaa.bbb.AnApplet" codebase="MyApplets">
可以安全地忽略此警告,当 applet 在服务器上运行时,它的行为不受影响。

通过使用路径分隔符(“/”)来代替(“.”)分隔符并确保显式声明了 .class 扩展名来避免此警告。例如:

<applet code="aaa/bbb/AnApplet.class" codebase="MyApplets">

4.7 使用 Page Designer 在 HTML 和 JSP 文件中插入 applet

Web 项目的 Java source 文件夹(缺省情况下为 JavaSource)用于服务器端类,因此不能将 applet 的源代码放在此文件夹中。因此,开发 applet 时有以下建议:

  1. 为 applet 创建 Java 项目,并在项目中创建 applet 类。
  2. 将 applet 类文件复制到 Web 项目的 Web content 文件夹(缺省情况下为 WebContent)。不要将这些文件复制到 WEB-INF 文件夹,原因是该文件夹仅适用于服务器端类。(为了查看类文件,将需要更改“项目导航器”视图过滤器,方法是从视图的菜单按钮下拉列表中选择过滤器)。
  3. 通过在 Page Designer 中选择插入 > 其它 > Java Applet 来在 Web 页面中插入 applet。同时,必须设置适当的代码和代码库属性。

    例如,如果 applet 类是 aaa.bbb.AnApplet 并且文件结构如下所示:

     WebContent/index.html
    WebContent/MyApplets/aaa/bbb/AnApplet.class
    code is "aaa.bbb.AnApplet"

    则 index.html 中的 applet 标记应包含:

    codebase is "MyApplets"

4.8 对于使用数据库 Web 页面向导创建的代码进行数据类型转换的注意事项

在使用“IBM 数据访问 Bean - 主详细信息模式”的“数据库 Web 页面”向导中,在执行从“字符串”到适当的“数据类型”的内部数据类型转换时,某些数据库会产生问题。例如,Oracle 8.17i 将不能把字符串转换为数字。

要解决此问题,在为每个 DataAccess 查询生成的 $Prefix$ViewBean.java 文件中,将需要在 prepareStatement() 方法中进行更改。

对于如下所示的代码:
//Add parameters descriptions to meta
data.DBParameterMetaData metaData = getDBSelect().getParameterMetaData();
metaData.setParameter(1, PARAM1_NAME, DatabaseMetaData.procedureColumnIn,
java.sql.Types.DECIMAL,
java.lang.String.class);

// Set parameters.
getDBSelect().setParameter(PARAM1_NAME, inSAL);

将需要把它更改为:
//Add parameters descriptions to meta data.
DBParameterMetaData metaData = getDBSelect().getParameterMetaData();
metaData.setParameter(1, PARAM1_NAME, DatabaseMetaData.procedureColumnIn,
java.sql.Types.DECIMAL,
java.math.BigDecimal.class);

// Set parameters.
getDBSelect().setParameterFromString(PARAM1_NAME, inSAL);
需要告诉“参数元数据”您的数据库期望哪种类型的 Java 对象。然后,在 DBSelect 实例上使用 setParmeterFromString 方法而不是 setParameter 方法。这将告诉 DBSelect 对象而不是数据库执行类型转换。

4.9 JSP 应该使用显式的 import 语句

JSP 文件应该使用页面伪指令的“import”属性来描述可用于该页面中的脚本编制环境的类型。在 J2EE1.2 项目中包含的 JSP 文件中已经隐式地导入了一些类型,但是如果将它们用于 J2EE1.3 项目中,则会产生错误。为了避免此问题,在 JSP 页面中始终都应该显式地导入类型(除非该类型包括在缺省导入列表:java.lang.*、javax.servlet.*、javax.servlet.jsp.* 和 javax.servlet.http.* 中)。

4.10 迁移 4.0.3 Web 项目中的关系数据

要从 WebSphere Studio 4.0.3 项目中迁移关系数据,将需要执行下列操作。

  1. 从 4.0.3 工作空间中,为每个可用的数据库生成 DDL 文件。
  2. (通过“数据定义”视图)从 Web 项目源/数据库文件夹中除去数据库
  3. 使用 WebSphere Studio V5 打开 4.0.3 工作空间。
  4. 迁移想要为其恢复关系数据的 Web 项目。
  5. 单击文件 > 导入 > 文件系统,并指定 4.0.3 工作空间中的 DDL 文件。
  6. 在“数据”透视图的“数据定义”视图中,选择在本地运行,并指定目标 Web 项目。

将恢复关系数据构件。

4.11 在 DBCS 环境中为 WebSphere 5 服务器上的 J2EE 1.3 级别设计的 JSP 和 Java Servlet 需要额外的代码段

此条目适用于在 DBCS 环境中为 WebSphere 5 服务器上的 J2EE 1.3 级别设计的 JSP 和 Java Servlet。在访问任何请求参数或属性之前,必须将以下代码段包括在源代码中:

  if(request.getCharacterEncoding() == null){  
request.setCharacterEncoding(<encoding>); // typically this would be the encoding of the JSP or servlet
}
//...normal jsp/servlet code which access request objects like
// <%=request.getParameter("message")%>

如果未完成上面的操作,并且请求不包括编码信息,则将用 ISO-8859-1 分析所有请求参数,因此,如果任何输入参数包括了 DBCS 字符,则这些字符就不会正确显示出来。

4.12 将一些项拖放到快速编辑视图上

在将一些项或文本从“片段”或“选用板”视图拖放到“快速编辑”视图上之前,首先应确保“快速编辑”视图清除了“插入操作/代码段”指示信息。

4.13 将片段视图项与快速编辑视图中的简单操作配合使用

对于“JavaScript 片段”视图中的每一项,在“快速编辑”视图中都提供了相应的简单操作。在“快速编辑”视图中,建议不要在同一事件脚本中将简单操作与“片段”视图中的项组合使用。如果必须对项进行组合,则应注意“片段”项的布置。当编辑器已经包含简单操作时,如果将项从“片段”视图拖放到“快速编辑”视图上,则可能会导致将“片段”项插入到错误位置上。如果发生这种情况,则应删除简单操作然后再重新插入该操作。

4.14 Page Designer 的移动式语言支持

可以从插入对话框或者属性视图中插入移动式语言(例如,cHTML 或 WML)中不受支持的属性。
但是,可以通过对 cHTML 文档使用工具 > 验证 HTML 语法,或者通过对 WML 文档使用工具 > 验证 WML 语法来检查代码的有效性。

4.15 Page Designer 的页面模板支持

只有 Page Designer 才支持页面模板,而 Page Designer Classic 则不支持页面模板。可以使用 Page Designer 来编辑使用“页面”模板函数的 HTML/JSP 页面。

4.16 关于将站点部件与 Web Site Designer 配合使用的注意事项

4.17 在 Motif 上的 Page Designer 的设计页面中显示欧元符号

当 Page Designer 在 Motif 系统上运行时,它将不能在“设计”页面上显示欧元符号。要显示欧元符号,必须使用 GTK 系统。

4.18 双击 DBCS 语言环境上的内容辅助建议

当使用 Linux(Motif 或 GTK)和 DBCS 语言环境时,双击内容辅助列表有时可能会导致 Java VM 终止。不是双击列表,而是使用箭头键和 Enter 键来从列表中进行选择。

4.19 编辑器中未保存文件上的搜索注释

在“源代码编辑器”和多页编辑器(例如,XML 编辑器)的“源代码”页面中,搜索功能对文件系统中的已保存资源起作用,而不是对编辑器中的内容起作用。任何未保存的编辑器中的搜索注释都可能不可靠。为了避免此问题,在执行搜索之前保存文件。

4.20 使用 Web Site Designer 或页面模板时的 ClearCase 限制

如果使用 Web Site Designer 来对 Web 项目工作,则必须首先确保项目文件(例如,html 或 jsp 文件及相关文件)从 ClearCase 库中检出。

另外,如果在 Web 项目中使用“页面”模板,则必须首先将适当的文件从 ClearCase 检出。

4.21 数据库 Web 页面向导生成的 JSP 中的 Javascript 表单提交问题

在某些由“数据库 Web 页面向导”生成的 JSP(尤其是标题为“***MasterView.jsp”的 JSP)中

页面中标题为“上一步”、“刷新”和其它内容的链接可能不会对所有的浏览器都可用。在某些浏览器(尤其是像 Mozilla 和 Konqueror 这样的浏览器)中,出现了一些问题。

要为大多数浏览器解决该问题,可更改 JSP 中名为“submitForm”的函数的 JavaScript 代码。

将方法中的变量“document.<formName>.elements.action”更改为“document.<formName>.action”。

例如,function submitForm(nav){ if(nav == 'SCHEMA_TABLEInputForm'){ document.myForm.elements.action = "/Web3/SCHEMA_TABLEInputForm.html"; } else if(nav == 'SCHEMA_TABLEMasterView'){ document.myForm.elements.action = "/Web3/SCHEMA_TABLEMasterView"; } else{ document.myForm.elements.action = "/Web3/SCHEMA_TABLEDetailsView"; }

变为

function submitForm(nav){ if(nav == 'SCHEMA_TABLEInputForm'){ document.myForm.action = "/Web3/SCHEMA_TABLEInputForm.html"; } else if(nav == 'SCHEMA_TABLEMasterView'){ document.myForm.action = "/Web3/SCHEMA_TABLEMasterView"; } else{ document.myForm.action = "/Web3/SCHEMA_TABLEDetailsView"; }

返回到主自述文件