如何使用 javascript 变量访问模型属性

Man*_* Zi 2 javascript java spring thymeleaf

ModelAndView在 spring 中添加了一个属性,之后我将其转发到我的 thymeleaf 视图。

在视图中我有以下代码:

<script th:inline="javascript">
        /*<![CDATA[*/
            var applicationName = /*[[${T(com.sample.constants.ApplicationConstants).MODEL_ATTR_COLLECTED_VALUES}]]*/ "Test";
            var collectedValueJson = [[${collectedValues}]];
            console.log(collectedUserJson);
        /*]]>*/
</script>
Run Code Online (Sandbox Code Playgroud)

由此得出的结果是

var applicationName = 'collectedValues';
var collectedUserJson = '[{\"givenname\":\"Muster\",\"surname\":\"Peter\"}]';
Run Code Online (Sandbox Code Playgroud)

没关系。现在我的愿望是,我可以使用var application这个变量访问模型属性,但这不起作用。

结果是这样的:

var tmp2 = ${applicationName};
Run Code Online (Sandbox Code Playgroud)

/*[[ ]]*/另一种尝试是,我可以使用第一次尝试的语法访问 modelattribute :

var applicationName = ${/*[[${T(com.sample.constants.ApplicationConstants).MODEL_ATTR_COLLECTED_VALUES}]]*/};
Run Code Online (Sandbox Code Playgroud)

但结果将是:

var tmp = ${'collectedValues'
Run Code Online (Sandbox Code Playgroud)

我不知道我能尝试什么。

还有其他建议吗?

提前致谢。

Muf*_*Man 5

有一个值得一提的解决方法:将属性写出

<span id="myvar" th:text="${attributeName}"></span>
Run Code Online (Sandbox Code Playgroud)

然后使用 JavaScript 读取它

document.getElementById("myvar").value
Run Code Online (Sandbox Code Playgroud)

或一些类似的 jQuery 调用:

$('#myvar').text() 
Run Code Online (Sandbox Code Playgroud)