首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问javascript中的动态请求变量

访问javascript中的动态请求变量
EN

Stack Overflow用户
提问于 2017-06-06 01:30:03
回答 1查看 117关注 0票数 0

在我的控制器类中,我为请求设置了一些属性,如下所示。

代码语言:javascript
复制
for(ConsumerVO dep:quoteVO.getConsumerFamily().getDependents())
            {
                request.setAttribute("dependent_"+depCount+"_birthdateMM", dep.getBirthdateMM());
                request.setAttribute("dependent_"+depCount+"_birthdateDD", dep.getBirthdateDD());
                request.setAttribute("dependent_"+depCount+"_birthdateYYYY", dep.getBirthdateYYYY());
                depCount++;
            }

在jsp中,我试图通过动态设置变量名来访问它。但它不起作用。${depMM}、${depDD}等中没有数据。我要查找类似${${depMM}}的内容。如何在循环中访问请求变量?

代码语言:javascript
复制
    jQuery(function(){

        var dependent_data = [];
        for(j=1;j<16;j++){
            var depMM = "dependent_"+j+"_birthdateMM";  
            var depDD = "dependent_"+j+"_birthdateDD"; 
            var depYY = "dependent_"+j+"_birthdateYYYY"; 
            if (typeof '${depMM}' !== 'undefined' && '${depMM}' !=="") {
            dependent_data.push('${depMM}','${depDD}','${depYYYY}');
            }
        }

PS:当我这样做的时候,它打印了数据。

代码语言:javascript
复制
var dependent1MM_data = '${dependent_1_birthdateMM}';
alert(dependent1MM_data);
EN

回答 1

Stack Overflow用户

发布于 2017-06-06 02:51:23

你不能像这样访问变量。您正在混合使用JavaScript和JSP。加载页面后,for循环将在客户端运行。您不能访问JavaScript中的变量。相反,您可以将其转换为jsp for循环并访问其中的变量。

下面是一些方法: 1.创建一个for循环(JSP for loop或JSTL ),然后访问请求参数并创建一个输入隐藏标记,在JS中访问。(或者) 2.您可以在JSP中编写一个JSON字符串,并在JavaScript中访问它。

代码语言:javascript
复制
var myObject = <%= JSON output of dependedents %>; 

以下语句之所以有效,是因为

代码语言:javascript
复制
var dependent1MM_data = '${dependent_1_birthdateMM}';
alert(dependent1MM_data);

当呈现JSP模板时,模板引擎设置此变量中的值。它与JS引擎无关,而是与JSP呈现引擎绑定在一起。

我建议创建一个JSON字符串,因为如果数据太大,您将创建更多的变量和input.hidden元素。因此,编写JSON将是一个很好的解决方案

注意:我不擅长JSP或Spring。但我确实在模板语言方面有一些经验。所以我只是在这里指出错误

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44374432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档