gpt4 book ai didi

java - JSP 和添加 JSP 表达式 Scriptlet 返回的字符串

转载 作者:行者123 更新时间:2023-12-01 15:41:47 27 4
gpt4 key购买 nike

尝试执行以下操作时,我在 IE 中遇到“预期错误 ')'” 的脚本错误:

alert(<%=SystemConfig.getTranslatedTextByKey(LBIBOConstants.LANG_KEY_MODIFYTIME_ALRTMISSINGA, userLocale)%> + strMessageString + <%=SystemConfig.getTranslatedTextByKey(LBIBOConstants.LANG_KEY_MODIFYTIME_ALRTMISSINGB, userLocale)%>);

我最初只想提前添加一个字符串来发出警报,但我也尝试过,但没有成功。

我的猜测是你不能做这样的事情,但我没有很多其他选择(代码是由其他人开发的,所以我知道有比 Scriptlet 更好的选择)。

无论如何,JSP 表达式返回的这些字符串可以在constants.java 文件中找到,这些文件又从语言包中加载,以防你们都想知道。我已经仔细检查过这些,它们很好。

当一个值是页面内的 var,而其他值位于 scriptlet 标记内时,如何将这些字符串添加在一起?可能吗?

最佳答案

JSP = 服务器端

JavaScript = 客户端

JSP 生成的 JavaScript 代码必须是有效的 JavaScript 代码。使用浏览器的“查看页面源代码”菜单项查看生成的 JavaScript,并修复 JSP 代码,使其生成有效的 JavaScript 代码。

如果您的 JSP 生成了不正确的 HTML 代码,您会怎么做。

您可能遗漏了一些引号。但还要确保 scriptlet 表达式不会返回应该由 JavaScript 转义的字符。或者使用 commons-lang StringEscapeUtils.escapeEcmaScript 来转义这些字符:

alert('<%= ... %>' + strMessageString + '<%= ... %>');
^----------^----------------------^----------^-- quotes!

表达式 (...) 应该是转义的表达式:

StringEscapeUtils.escapeEcmaScript(yourOriginalExpression)

关于java - JSP 和添加 JSP 表达式 Scriptlet 返回的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com