我们如何通过JSP scriptlet获取JavaScript数组

2023-12-02

我需要由 Java 类返回的 JavaScript 数组/多维,

<script type="text/javascript">
     var strComboValue  = <%=DBComboOptions.getOptions(combos)%>;
</script>

Here, strComboValue是一个 JavaScript 变量,DBComboOptions.getOptions(combos)返回 Java 类中的数组。现在我想要 JavaScript 中的数组。


只需让 Java/JSP 打印语法上有效的 JS 数组语法即可。请记住,Java/JSP 和 JavaScript 并不同步运行。 Java/JSP 生成 HTML 作为一大块String而JS只是其中的一部分。一旦 WAS 从 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>

它只是非常不可读(并且不仅仅是因为使用老式的 小脚本而不是标签库)。然而,更简单的是获取 JSON(JavaScript 对象表示法)库,例如谷歌Gson并创建一个附加方法getOptionsAsJson()它执行类似以下操作:

public getOptionsAsJson(Object value) {
    return new Gson().toJson(getOptions(value));
}

最后用它来代替:

<script type="text/javascript">
    var strComboValue = <%=DBComboOptions.getOptionsAsJson(combos)%>;
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们如何通过JSP scriptlet获取JavaScript数组 的相关文章

  • angularjs:如何向资源对象添加缓存?

    在 http 中添加缓存非常简单 通过传递cache true http docs angularjs org api ng http https docs angularjs org api ng service 24http有缓存选项
  • 我如何在 AngularJS 中监听点击并按住的情况?

    我制作了一个时间计数器 您可以通过单击按钮来增加或减少时间 然而 我希望当我单击并按住按钮时 时间的价值会不断攀升 所以目前如果你看到我的Plunkr http plnkr co edit BxX9x5zYFMXVqt5JsN1F p pr
  • 如何将udp发送到udp node.js服务器?

    我对此很陌生 所以我真的不知道我在做什么 但我已经设置了一个 node js udp 服务器 我想从客户端 来自网站 向它发送一个数据包 但我不知道如何在 javascript 中做到这一点 或者是否可能 我不是在研究如何从 Node js
  • 仅当表单已提交时才触发 jQuery 表单验证?

    不引人注目的验证基于这样的想法 don t进行表单验证 直到用户提交表单 一旦发生这种情况 如果表单上的某些内容无效 那么一旦用户更改了每个字段 就会立即验证它 我想做的是 不显眼地 触发表单元素的验证 也就是说 only如果用户已尝试提交
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 如何按照编写的顺序迭代 javascript 对象属性

    我发现了代码中的一个错误 我希望通过最少的重构工作来解决该错误 此错误发生在 Chrome 和 Opera 浏览器中 问题 var obj 23 AA 12 BB iterating through obj s properties for
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • 如何使用 JavaScript 获取没有 HTML 元素的纯文本?

    我的 HTML 中有 1 按钮和一些文本 如下所示 function get content I don t know how to do in here
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • 如何在jquery中获取保存时间和当前时间的差异?

    我想在 javascript 或 jquery 中获取保存时间和当前时间之间的时差 我节省的时间看起来像Sun Oct 24 15 55 56 GMT 05 30 2010 java中的日期格式代码如下 String newDate 201
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值
  • 单击列表时使用 bootstrap Dropdown 防止下拉菜单消失

    我正在使用使用引导下拉菜单 http twitter github com bootstrap javascript html dropdowns生成下拉菜单 我想防止点击菜单时菜单消失 我已经实现了以下代码 但它不起作用 知道如何修复它吗
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 在 GWT 中,在任何主机页标记上添加事件处理程序

    我想为任何标签添加 MouseOver 事件处理程序 举个例子 我想为旧版 HTML 页面中的每个锚点页面添加事件处理程序 继GWT指南 http code google com webtoolkit doc 1 6 DevGuideUse

随机推荐

  • SRSS 2008 R2 的 C# 报表呈现器 - 缺少参数

    我正在使用 C 呈现来自 SRSS 2008 R2 的报告 该报告有参数 很长一段时间我在渲染输出时都没有问题 然而今天它决定行不通了 这是错误 ReportServerException This report requires a de
  • 根据生成构建文件时不可用的源文件在 CMake 中创建库

    我有一个构建两个库的 CMake 配置文件 第三方库 此处称为 ThirdPartyLib 包含来自供应商的实时操作系统 主板支持包 它是使用 autotools 工具链在 CMake 外部构建的 前一个库的扩展版本 此处称为 Extend
  • 为什么 Maven 在安装过程中可能会忽略更新的类?

    在进行 war 安装时 我在 Maven 2 2 1 安装中看到了奇怪的行为 有时 我会更新一个类 但更新的版本没有打包在 mvn install 生成的工件中 到目前为止 我已经确定在目标目录中生成了更新的 class文件 并且生成的 w
  • 在phantomjs中设置一个字符串作为网页的响应

    嗨 我想做的不是将网页获取为 page open url 而是设置一个已经作为页面响应检索到的字符串 可以吗 是的 就像分配给 page content 一样简单 通常还值得设置一个 page url 否则 如果使用 Ajax SSE 等进
  • WSO2 身份服务器电子邮件作为用户名

    我们目前正在评估 WSO2 身份服务器 我们想使用电子邮件地址作为用户名 默认情况下 用户名是 30 个字符 不够长 而且它必须同时支持两者 和用户名中的 有没有办法配置这个 用户存储是一个 JDBC Mysql 存储 Thanks 是的
  • 实时更新网页

    我正在制作一款类似于 Risk 的基于浏览器的多人回合制策略游戏 现在 最简单的方法似乎就是让它像普通网页一样 每次玩家刷新时 网页都会向数据库查询所需的信息 这是可以接受的 但我更愿意实时更新页面 这样玩家就不必不断刷新页面 我可以让网页
  • 导出 ES6 模块中的多个类

    我正在尝试创建一个导出多个 ES6 类的模块 假设我有以下目录结构 my module Foo js Bar js index js Foo js and Bar js每个导出一个默认的 ES6 类 Foo js export defaul
  • 在应用程序工厂之外访问 Flask 配置

    我目前正在使用带有蓝图的 Flask 应用程序工厂模式 我遇到的问题是如何访问应用程序工厂之外的 app config 对象 我不需要 Flask 应用程序中的所有配置选项 我只需要6把钥匙 因此 我当前执行此操作的方法是在调用 creat
  • 使用变量从 SSIS 执行进程任务运行 SQLCMD 脚本

    我有一个 sql 文件 其中包含包含 SQLCMD 元素的脚本 我需要让它从 SSIS 包运行 我无法从 执行SQL Task 根据这个http www sqlservercentral com Forums Topic818940 147
  • Python 神经网络中不需要的 [Nan] 输出

    这里是新手 刚刚从 JS 切换到 Python 来构建神经网络 但从中获得了 Nan 输出 奇怪的是我的 sigmoid 函数 似乎没有遇到任何溢出 但导数会导致混乱 import numpy as np def sigmoid x ret
  • 反向网格排列?

    我的右侧有一个侧边栏 左侧有内容 div class col md 9 p Main At large zoom currently it goes to top I want it to go to the bottom p div di
  • array_merge 和 array + array 有什么区别? [复制]

    这个问题在这里已经有答案了 一个相当简单的问题 有什么区别 merged array merge array1 array2 and merged array1 array2 这是一个简单的说明性测试 ar1 0 gt 1 0 a gt 1
  • Cocos2d 应用中的 NSTimer

    Cocos2d 文档中写道 使用 NSTimer 不是一个好主意 为什么不推荐使用NSTimer 我知道Cocos2d有一个schedule方法 尽量不要使用 Cocoa 的 NSTimer 而是使用 cocos2d 自己的调度程序 如果您
  • 通过 TCP/IP 接收对象

    我将通过 TCP IP 编写一个程序 我应该通过客户端或服务器发送对象 当我想发送或接收字符串但当我尝试读取对象时 它会正常进行 private Socket client public ThreadedClient Socket clie
  • 使用 applicationcontext.getbean 与 @configurable 的优点[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 使用有什么好处 可配置与上
  • 从原始资源文件夹播放 .MP4 视频

    我见过很多类似的问题 但到目前为止我还没有能够解决任何问题 我正在尝试从 res raw 文件夹播放视频 MP4 但只获得音频 没有视频 视频很短 约3秒 很小 350KB 如果我将视频直接放在设备 Motorola Droid 上 它可以
  • 下载之前如何知道文件的大小?

    我必须下载一个文件并且我正在使用这段代码 这基本上是一个AsyncTask这是为了更新进度条 但是 由于我不知道文件大小是多少 所以我不得不使用旋转进度条 那么 如何在开始下载之前获取文件大小 以便我可以使用正常的进度条 你可以获得一个名为
  • 使用 ARM NEON 汇编对 atan2 进行 SIMD 向量化

    我想使用 neon 指令 SIMD 和臂组件来计算 4 个点的大小和角度 大多数语言都有一个内置库 在我的例子中是 C 它计算角度 atan2 但仅针对一对浮点变量 x 和 y 我想利用处理 q 寄存器的 SIMD 指令来计算 4 个值向量
  • 如何使 sbt 任务在多个范围下运行

    我编写了一个 sbt 插件 可以生成一些源代码和资源 它经过硬编码以在编译范围内工作 如何让它在测试范围内工作 以便我可以在运行测试时使用该插件 并且它将查找并输出到正确的文件夹 例如 在我引用的代码中的各个点resourceManaged
  • 我们如何通过JSP scriptlet获取JavaScript数组

    我需要由 Java 类返回的 JavaScript 数组 多维 Here strComboValue是一个 JavaScript 变量 DBComboOptions getOptions combos 返回 Java 类中的数组 现在我想要