You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script HTML模板用scriptlet条件渲染报语法错误如何解决?

问题原因

你使用的三元运算符语法不符合Google Apps Script HTML模板的scriptlet书写规则:

  • 你将完整的三元表达式拆到了三个独立的scriptlet块中,单独的<? assigment_letter == "" ? ?>属于不完整的表达式,模板解析时会自动在末尾补充分号,最终生成assigment_letter == "" ? ;的无效代码,触发 unexpected token ';' 语法错误。
  • <? ?>属于执行类scriptlet,仅运行内部代码不输出内容,你后续的<? : "" ?>也是独立的无效语法片段。

解决方法

推荐优先使用逻辑更清晰的if条件块实现条件渲染,写法如下:

<tbody>
<? console.log("assigment_letter: " + assigment_letter)?>
<? if (assigment_letter == "") { ?>
<tr style="font-size:14px;text-align:center;color:black">
<td style="padding:5px 40px;border: 1px solid #ddd;">Assigment Letter</td>
<td style="padding:5px 40px;border: 1px solid #ddd;">NOT FOUND</td>
</tr>
<? } ?>    
</tbody>

如果一定要使用三元运算符,需要将完整表达式放在输出类scriptlet(<?= ?>)中:

<tbody>
<? console.log("assigment_letter: " + assigment_letter)?>
<?= assigment_letter == "" ? `
<tr style="font-size:14px;text-align:center;color:black">
<td style="padding:5px 40px;border: 1px solid #ddd;">Assigment Letter</td>
<td style="padding:5px 40px;border: 1px solid #ddd;">NOT FOUND</td>
</tr>
` : "" ?>
</tbody>

内容的提问来源于stack exchange,提问作者Luis Alberto Delgado de la Flo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:57:02