我使用 c:forEach 标记填充了一些值。我想在我的 javascript 中获取这些值。
如果我点击 GetCtag 值按钮,那么我想在 javascript 中读取 (c:forEach) 值。
是否有任何其他方式来检索 c:forEach 标记值
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function getCTagValue(ctagObject)
{
alert("CFor Each Tag Object Value: " + ctagObject);
// Here i want write code for retrieve the c:forEach tag value
}
</script>
</head>
<body>
<h:form id="cTagForm" >
<c:forEach items="${cTagBean.tagList}" var="ctag">
<c:out value="${ctag.name} : "/>
<c:out value="${ctag.age}"/></br>
</c:forEach>
<a4j:commandButton id="GetCtagId" value="GetCtag" oncomplete="getCTagValue('#{cTagBean.tagList}')"/>
</h:form>
</body>
</html>
帮帮我。 提前致谢。
最佳答案
只需使用 JavaScript 语法而不是 HTML 语法打印即可。
<script>
var data = {
<c:forEach items="${cTagBean.tagList}" var="ctag" varStatus="loop">
'${ctag.name}': ${ctag.age}${!loop.last ? ',' : ''}
</c:forEach>
};
</script>
因此它最终成为有效的 JavaScript 对象(假设 name
返回 String
并且 age
返回 Number
):
<script>
var data = {
'foo': 10,
'bar': 5,
'waa': 20
};
</script>
关于javascript - 可能是 : javascript extract value from c:forEach tag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4506816/