只需让Java / JSP打印语法上有效的JS数组语法即可。请记住,Java / JSP和Javascript不会同步运行。Java /
JSP产生HTML很大,
String而JS只是其中的一部分。一旦JS从Java/JSP检索了所有HTML输出,它最终将在Web浏览器中运行。
假设您最终想要以下有效的JS数组语法:
<script type="text/javascript"> var strComboValue = [ "one", "two", "three" ];</script>
然后,您应该相应地编写Java / JSP代码,以便它准确地打印该语法:
<script type="text/javascript"> var strComboValue = [ <% String[] options = DBComboOptions.getOptions(combos); for (int i = 0; i < options.length; i++) {%> "<%= options[i] %>"<% if (i + 1 < options.length) {%> ,<% } }%> ];</script>这是完全不可读的。但是,更简单的方法是获取一个类似于GoogleGson的JSON(Javascript对象表示法)库,并创建一个
getOptionsAsJson()执行以下操作的附加方法:
public getOptionsAsJson(Object value) { return new Gson().toJson(getOptions(value));}最后改为使用它:
<script type="text/javascript"> var strComboValue = <%=DBComboOptions.getOptionsAsJson(combos)%>;</script>



