将javascript变量传递给jstl标记

时间:2016-11-16 15:21:08

标签: javascript java jsp jstl

我需要更改(解析)一个object属性。是否可以将解析值保存在js变量中,然后将其传回。这就是我尝试过的但它不起作用:

    <c:forEach var="user" items="${requestScope.users}">
       var parsedName= parseUserName("${user.name}");
       <c:set target = "${user}" property = "parsedName" value ="${parsedName}"/>  
    </c:forEach>

3 个答案:

答案 0 :(得分:2)

你的想法是:

<c:forEach var="user" items="${requestScope.users}">
    <script type="javascript">
        var parsedName= parseUserName("${user.name}");
    </script>
    <c:set target = "${user}" property = "parsedName" value ="${parsedName}"/>
</c:forEach>

不幸的是,这是不可能的。

jstl代码发生在服务器端,javascript发生在客户端。

答案 1 :(得分:2)

不,你不可能做你想做的事。唯一可行的解​​决方案是使用部分刷新将变量发送到服务器,并在页面刷新后设置所需的属性

答案 2 :(得分:0)

如果可能,尝试使用JSTL在JSP本身中实现parseUserName()逻辑。

如果您需要帮助,请在此处发布JS方法逻辑。