软件工程项目

写在前面:希望通过每次学习的记录能够完成这个项目!加油!

 

商品管理案例及其优化:

JavaWeb学习笔记

<body>

<h1>商品管理</h1>

<hr>

<a>添加</a>

<table border="1">

    <tr>

        <td>商品名</td><td>描述</td><td>价格</td><td>库存</td><td>操作</td>

    </tr>

    <%

    //因为返回的对象是Object类型所以需要强制转换成list类型

    List<Goods> list =(List<Goods>)request.getAttribute("list");

    if(list!=null)

    {

        for(Goods goods:list){

            %>

            <tr>

            <td><%=goods.getName()%></td><td><%=goods.getDes()%></td><td><%=goods.getInventory()%><td><%=goods.getPrice()%></td><td>删除、修改</td>

        <tr>

        <%

        }

    }

    %>

   

</table>

</body>

 

 

 

EL表达式是为了使在JSP页面中书写代码更加简便:${ }

JSTL表达式需要和EL表达式结合起来JSTL类似一个标签库、引入JSTL后就可以使用里面的标签了

         <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

         <c:out value="${username}"></c:out>

         <c:remove var="${username}"/>

         <c:set var="username" value="sikiedu" scope="request"></c:set>  

=>    <%request.setAttribute("username", "sikiedu"); %>    

         <c:if test="true">true</c:if>

eg1:

<c:set var="age" value="20" scope="request"></c:set>

<c:if test="${age>=18}">

<font color="green">你已经长大了</font>

刷新后jsp页面上会显示绿色的你已经长大了

Eg2: JSTL的if-else

JavaWeb学习笔记

JavaWeb学习笔记

Eg:3Foreach表达式

<c:forEach var="i" begin="1" end="10">

        <br>${i}

</c:forEach>

JavaWeb学习笔记

JSTL是没有办法取得数据的,所以需要用el表达式

<%

    List<User> list = new ArrayList<User>();

    User u = new User("中国","123",90,"",false);

    list.add(new User("中国","123",90,"",false));

    list.add(new User("中国","123",90,"",false));

    list.add(new User("中国","123",90,"",false));

    list.add(new User("中国","123",90,"",false));

    list.add(new User("中国","123",90,"",false));

    request.setAttribute("list", list);

%>

<c:forEach items="${list }" var="u" >

    <br>${u.userName}:${u.age}

</c:forEach>

 

Eg:练习把最开始的代码用EL表达式+JSTL表达式表示出来:

  1. 查询servlet的DoGet()方法:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        List<Goods> list=new GoodsService().seletAllGoods();

        request.setAttribute("list", list);

request.getRequestDispatcher("/admin/goods_list.jsp").forward(request, response);

    }

得知list的属性是“list

2、引入JSTL<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<table border="1">

    <tr>

        <td>商品名</td><td>描述</td><td>价格</td><td>库存</td><td>操作</td>

    </tr>

    <c:forEach items="${list}" var="list">

    <tr>

    <td>${list.name}</td><td>${list.des}</td><td>${list.price}</td><td>${list.inventory}</td><td>操作</td>

JavaWeb学习笔记    </tr>

    </c:forEach>

</table>   运行效果:

 

 

 

 

 

 

 

 

Json格式的数据

https://jeson.org/2017/04/25/%E7%AC%94%E8%AE%B0-JavaWeb(%E4%B8%80)/

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。一般用于数据传输

JSON[1] 结构有两种结构[2]

json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构

1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

JavaWeb学习笔记

// 序列化与反序列化

        Goods goods = new Goods("香蕉", "夏威夷香蕉", 100, 400);

        String jsonString=JSON.toJSONString(goods);

        System.out.println(jsonString);

JavaWeb学习笔记

 

Ajax = Asynchronous JavaScript and XML

 

${pageContext.request.contextPath}z指向Web的项目名!!!

相关文章: