为了用Javascript生成一些Java代码,我使用了反引号语法:
${body ? `con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();` : ``}
int responseCode = con.getResponseCode();但是,当body为null时,生成的代码包含3-4个空行,然后是"int responseCode ..“线路。我尝试将body为true的部分提取到单独的常量中,或者将作为语句的第一个,但都不起作用。有什么建议吗?
提前感谢!
发布于 2017-02-22 02:48:39
也许如果你检查正确的身体的var,例如:
typeof body == "undefined" ? `con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();` : ``将返回以下字符串:
"con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();"不仅仅是使用body ? "string" : "",还要对body的变量进行一些操作。(例如body == ""或typeof body == "undefined")
https://stackoverflow.com/questions/42375348
复制相似问题