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>

使用此方式可以寫一個方法(或者說是兩個)就可以進行頁面跳轉了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM