所以我发布了这个问题 Putting a simple expression language into java 并得到了一个关于使用 ScriptEngine 允许用户编写 javascript 的很好的答案,我这样做了,而且似乎有效
但是虽然像
这样的表达(artist.length>0 ? artist + '-' :'') + (album.length>0 ? album + '-' :'')
使用完整的 if 语句可以工作,但不能
if(artist.length>0) {artist + ':-'} + (album.length>0 ? album + '-' :'')
你可能会问我为什么这样做,我希望我可以使用 if:else if:else 语句,这是朝着这个目标迈出的一步
最佳答案
这根本就不是有效的 JavaScript。
<cond> ? <iftrue> : <iffalse>
是if-else的“表达式”形式,返回可以使用的值。
if {
} else {
}
是“语句”版本,用于执行代码,并且不返回值。
关于java - 无法使用 javascript 从 Java 中解析完整的 javascript if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737367/