数据回显

    文本框输入的值对应的是一个value,所以通过el表达式获取域中数据后给到value

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <%--导入jstl标签库--%>
    3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    4. <%
    5. String path = request.getContextPath();
    6. %>
    7. <html>
    8. <head>
    9. <title>编辑界面</title>
    10. </head>
    11. <%--引入jquery框架--%>
    12. <script src="<%=path%>/jquery/jquery-1.7.2.js"></script>
    13. <script>
    14. //文本就绪函数
    15. $(function (){
    16. /**单选框的回显
    17. */
    18. var els = $([name = 'sex'])
    19. //each() 遍历方法
    20. els.each(function (){
    21. //获取的是当前标签对象对应的value的值
    22. //this 表示当前标签对象 原生js对象,val()是jquery方法,所以要将this封装成jquery对象
    23. var value = $(this).val()
    24. //获取域对象中的sex值
    25. //加单引号使之成为一种数据类型,否则接收不到
    26. var sex = '${student.sex}'
    27. if(value == sex){
    28. $(this).checked(true)
    29. }
    30. })
    31. /**多选框的回显
    32. 因为在后端中我们将hobby用逗号隔开,因此此时需要根据逗号将爱好分割开
    33. */
    34. /**
    35. 1、要取到域对象中的hobby字段,把每一个爱好的值分割
    36. */
    37. var hobby = '${student.hobby}'
    38. //切割 split()根据传递的参数进行字符串的分割,分割成一个数组
    39. var hobbies = hobby.split(",");
    40. for(var i = 0;i < hobbies.length;i++){
    41. $([name = 'hobby']).each(function (){
    42. //取出对应多选框标签的value的值
    43. var value = this.value;
    44. if(value==hobbies[i]){
    45. this.checked(true)
    46. }
    47. })
    48. }
    49. })
    50. </script>
    51. <body>
    52. <h1 align="center"> 学生编辑页面</h1>
    53. <%--
    54. <input type="radio"> 单选框
    55. <input type="checkbox"> 多选框
    56. <input type="date"> 日期选择
    57. name 用于分组
    58. 文本输入框的name属性将作为获取数据的key
    59. <input type="hidden" >隐藏域标签,客户端不可见,但真实存在
    60. --%>
    61. <form action="http://localhost:8080/managerWeb/stu?flag=update" method="post">
    62. <input type="hidden" name="id" value="${student.id}">
    63. <table align="center">
    64. <tr>
    65. <td>学生姓名:</td>
    66. <td>
    67. <input type="text" name="sname" value="${student.sname}">
    68. </td>
    69. </tr>
    70. <tr>
    71. <td>学生年龄:</td>
    72. <td>
    73. <input type="text" name="age" value="${student.age}">
    74. </td>
    75. </tr>
    76. <tr>
    77. <td>学生性别:</td>
    78. <td>
    79. 男:<input type="radio" name="sex" value="1">
    80. 女:<input type="radio" name="sex" value="2">
    81. </td>
    82. </tr>
    83. <tr>
    84. <td>学生住址:</td>
    85. <td>
    86. <input type="text" name="address" value="${student.address}">
    87. </td>
    88. </tr>
    89. <tr>
    90. <td>生日:</td>
    91. <td>
    92. <input type="date" name="birthday" value="${student.birthday}">
    93. </td>
    94. </tr>
    95. <tr>
    96. <td>爱好:</td>
    97. <td>
    98. 下棋:<input type="checkbox" name="hobby" value="下棋">
    99. 舞剑:<input type="checkbox" name="hobby" value="舞剑">
    100. 论道:<input type="checkbox" name="hobby" value="论道">
    101. 布阵:<input type="checkbox" name="hobby" value="布阵">
    102. 弄枪:<input type="checkbox" name="hobby" value="弄枪">
    103. </td>
    104. </tr>
    105. <tr align="center">
    106. <td colspan="10"><input type="submit" value="编辑" ></td>
    107. </tr>
    108. </table>
    109. </form>
    110. </body>
    111. </html>

    JavaScript是运行在浏览器端的脚本语言,是一门编程语言,弱类型语言,即所有的数据类型都使用一个关键字var去接收

    jquery是一种前端的框架

    <%—引入jquery框架—%>

    1. //相对路径
    2. <script src="../jquery/jquery-1.7.2.js"></script>
    3. scr 用以引入js文件
    4. ../表示上级目录
    5. ./表示当前目录
    6. //绝对路径
    7. //在jsp开头写个绝对路径
    8. <%
    9. String path = request.getContextPath();
    10. %>
    11. //使用绝对路径
    12. <script src="<%=path%>/jquery/jquery-1.7.2.js"></script>

    html中可以直接写js的语法

    js的语法都写在

    1. <script></script>

    标签中

    var 表示变量接收的类型,可以接收任意数据类型(et 与var功能相同)

    js中定义方法要使用function关键字,无返回值类型
    格式:function +方法名称
    所定义的方法可以在script标签内部中通过标签内的属性调用;也可以在<script>中;若是要在<script>标签之外某些标签的内部进行调用,就需要绑定事件,这种绑定是静态绑定
    如下图

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <html>
    3. <head>
    4. <title>JavaScript</title>
    5. <script>
    6. function getMethod(){
    7. }
    8. function getMethod1(){
    9. }
    10. </script>
    11. <body>
    12. <%--给当前按钮绑定事件--%>
    13. <%--onclick 鼠标单击事件的属性--%>
    14. <input type="button" value="ceshi" onclick="getMethod()">
    15. </body>
    16. </html>

    通过js获得标签对应的文本值:

    用document的方法

    如document.getElementById() 这里是Element,因为id是唯一的

    document.getElementsByName()这里是Elements,因为name可以有多个。

    1. <input type="text" name="name" id="name"> //文本框
    2. var el1 = document.getElementById('name') //此时获取的是文本框的input属性
    3. var el1 = document.getElementById('name').value //此时获取的是标签对象的文本值,即从文本框输入提交的值。

    jquery底层对js的所有属性都进行了封装

    使用jquery:

    1. //原生js获取标签以及标签对应的文本值
    2. var el1 = document.getElementById(`name`).value;
    3. //通过jQuery框架获取
    4. //jQuery核心对象 $
    5. //# 是id属性选择符,#name 选择id为name的标签
    6. var el2 = $("#name").val();
    7. //var el2 = $("#name").val();等价于var el1 = document.getElementById('name').value;

    单选框中加入checked属性,checked为true表示默认选中。