el表达式对js方法的传值

我常用于在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; " >
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        <a href="javascript:void(0);" onclick="skipx(1)" >首页</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        <a href="javascript:void(0);" onclick="skipx(${page.currentPage-1 })" >上一页</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        <a href="javascript:void(0);" onclick="skipx(${page.currentPage+1 })" >下一页</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        <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="width: 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+"&currentPage1="+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>

使用此方式可以写一个方法(或者说是两个)就可以进行页面跳转了。

 

posted @ 2017-05-08 13:53  bloom_camellia  阅读(6996)  评论(0编辑  收藏  举报