上一页下一页

有效使用条件表达式

当在 insertText XML 标签使用 ifelseelseif 指令时,将对参与者文本进行预处理,以解析 if 指令并确定将在结果中包含哪一文本。ifelseif 指令采用表达式作为参数。条件表达式与 JavaScript 条件表达式情况相同,而且也可以包含服务器行为参数。诸如此类的指令使您可以根据服务器行为参数的值或者相互之间的关系来选择替换代码块。

例如,下面所示的 JSP 代码来自使用条件代码块的 Dreamweaver MX 服务器行为:

@@rsName@@.close();
<conditonal_code>
@@rsName@@_hasData = @@rsName@@.next();

如果服务器行为使用普通的记录集,则 <conditonal_code> 占位符将被替换为:

@@rsName@@ = Statement@@rsName@@.executeQuery();

如果服务器行为使用来自可调用对象的记录集,它将改用下列代码:

@@callableName@@.execute();
@@rsName@@ = @@callableName@@.getResultSet();

如果为可调用对象添加服务器行为,则用户应在服务器行为的“参数”对话框中输入 @@callableName@@ 参数的值。否则,@@callableName@@ 参数将为空。因此,可以将 @@callableName@@ 作为 if 参数来重写以前的插入文本。在此示例中,如果为 @@callableName@@ 参数提供了一个值,则选择第一个条件代码块(包含 getResultSet() 方法):

@@rsName@@.close();
<@ if (@@callableName@@ != '') @>
@@callableName@@.execute();
@@rsName@@ = @@callableName@@.getResultSet();@ else @>
@@rsName@@ = Statement@@rsName@@.executeQuery();
<@ endif @>
@@rsName@@_hasData = @@rsName@@.next();

  上一页下一页