JavaScript使用技巧之处理EL表达式

需求:
          需要将之前后台传进来的一个值做处理后输出

难点:

        1.后台传进来的的值是EL表达式,如:${PotContract.content},无法直接传进JavaScript里面;

          2.列表循环的部分如何获取每行的字段;
解决方案:
         使用隐藏域保存字段,然后通过在JavaScript里面的document.getElementById来获取相应的值。这样的话就需要将写在循环里面的隐藏域的ID做一下处理,不然有多个相同的ID,JavaScript只认第一个。所以我采用了序列,在循环标签那里定义一个序列,然后在隐藏域ID后面加上序列。

代码示例:
<script type="text/javascript">
	function getDateAndName(index) {
	 	var path=document.getElementById("path"+index).value;
 		var truePath=document.getElementById("truePath"+index).value;
 		var a = path.lastIndexOf('\\');//文件名
		var b = path.lastIndexOf('\\',a-1);//时间
		var Date = path.substring(b+1,a);
		var Name = path.substring(a+1);
		var temp = truePath+Date+"/"+Name;
		window.open(temp);
	}
</script>
</head>
<body>
	<h4 class="header">我的合同</h4>
	<div class="stream">
		<c:forEach items="${page.list}" var="porContract" varStatus="status">
			<div class="item">
				<p class="span3">名称:${porContract.name}</p>
				<p class="span2">状态:待审核</p>
				<p class="span3">合同编号:${porContract.code}</p>
				<p class="span3">创建人:桔子汽水蓝莓味</p>
				<form action="">
					<p id="content${status.index}"  hidden="hidden">${porContract.content}</p>
				</form>
				<p>
					<input type="hidden" name="path" id="path${status.index}" value="${porContract.path}">
					<input type="hidden" name="truePath" id="truePath${status.index}" value="${truePath}">
					<input type=button class="btn btn-success" onclick="getDateAndName(${status.index})" value="下载合同">
				</p>
			</div>
		</c:forEach>
	</div>
</body>
</html>

2016年3月27号与律林帮公司宿舍

你可能感兴趣的:(JavaScript,el表达式)