我常用于在jsp页面遍历集合和分页中的页面跳转事件。
jsp:
<!-- 引入jstl --> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!-- 引入JQuery --> <script type="text/javascript" src="js/jquery-3.2.1.js" ></script> <!-- 部分jsp代码 --> <c:forEach items="${list }" var="sn" > <tr> <td class="td2" >单选</td> <td class="td2" >${sn.operator_ID }</td> <td class="td2" >${sn.operator_Name }</td> <td class="td2" >${sn.is_Admin=="Y"?"管理员":"普通用户" }</td> <td class="td2" > <input type="button" onclick="updatethis('${sn.operator_ID }') " name="btnupdate" value="修改" /></td> </tr> </c:forEach> <!-- 以上jsp中调用的 onclick="updatethis('${sn.operator_ID }') " click事件中的updatethis();方法 --> <script type="text/javascript"> function updatethis(x){ window.location.href="hello_toUpdate.action?thisid="+x; }; </script>
问题:
使用这种方式向方法中传值: onclick="updatethis('${sn.operator_ID }') "
el表达式的单引号需要加上,代表传递过去的是字符串,当然不加的时候有时候也是没有问题的(原因不知道)。
常用代码:
<table id="table1"> <tr> <td style="text-align: left;" > [第${page.currentPage }页 | 共${page.totalPage }页] </td> <td style="text-align: center; " > <a href="javascript:void(0);" onclick="skipx(1)" >首页</a> <a href="javascript:void(0);" onclick="skipx(${page.currentPage-1 })" >上一页</a> <a href="javascript:void(0);" onclick="skipx(${page.currentPage+1 })" >下一页</a> <a href="javascript:void(0);" onclick="skipx(${page.totalPage })" >尾页</a> </td> <td style="text-align: right; " > 转到第<input type="text" value="${page.currentPage }" name="otherpage" style=" 20px;text-align: center;" />页 <input type="button" name="skipOther" value="跳转" /> </td> </tr> </table> <script type="text/javascript"> function skipx(x){ if(x<=${page.totalPage } && x>=1){ var keyid = $("[name='keyid']").val(); var keyname = $("[name='keyname']").val(); $("#keyid").val(keyid); $("#keyname").val(keyname); $("#currentPage").val(""+x); window.location.href="hello_keyList.action?keyid1="+keyid+"&keyname1="+keyname+"¤tPage1="+x; //document.getElementById.action="hello_keyList.action"; //$("[name='form2']").attr("action","hello_keyList.action"); //$("[name='form2']").submit(); } }; $("[name='skipOther']").click(function(){ var x = $("[name='otherpage']").val(); if(x<=${page.totalPage } && x>=1){ var keyid = $("[name='keyid']").val(); var keyname = $("[name='keyname']").val(); $("#keyid").val(keyid); $("#keyname").val(keyname); $("#currentPage").val(x+""); $("[name='form2']").attr("action","hello_keyList.action"); $("[name='form2']").submit(); }else{ alert("页码输入超出范围."); $("[name='otherpage']").val("${page.currentPage }"); } }); </script>
使用此方式可以写一个方法(或者说是两个)就可以进行页面跳转了。