我需要更改(解析)一个object属性。是否可以将解析值保存在js变量中,然后将其传回。这就是我尝试过的但它不起作用:
<c:forEach var="user" items="${requestScope.users}">
var parsedName= parseUserName("${user.name}");
<c:set target = "${user}" property = "parsedName" value ="${parsedName}"/>
</c:forEach>
答案 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方法逻辑。