HTML中得表格和表单

HTML中得表格和表单

表格

表格属性

表格属性
属性名含义常用属性值
border设置表格的边框(默认border="0"是无边框)像素值
cellspacing设置单元格与单元格边框之间的空白间距像素值(默认为2)
cellspadding设置单元格内容与单元格边框之间的空白间距像素值(默认为1)
width设置表格的宽度像素值
height设置表格的高度像素值
align设置表格在网页中的水平对齐方式left,center,right
12像素值

<table border="1">
        <caption>标题</caption>
        <thead>
            <tr>
                <th>属性名</th>
                <th>含义</th>
                <th>常用属性值</th>
            </tr>
        </thead>
        <tbody>
        <tr>
            <th>border</th>
            <th>设置表格的边框(默认border="0"是无边框)</th>
            <th>像素值</th>
        </tr>
        <tr>
            <th>cellspacing</th>
            <th>设置单元格与单元格边框之间的空白间距</th>
            <th>像素值(默认为2)</th>
        </tr>
        <tr>
            <th>cellspadding</th>
            <th>设置单元格内容与单元格边框之间的空白间距</th>
            <th>像素值(默认为1)</th>
        </tr>
   <tr>
            <th>width</th>
            <th>设置表格的宽度</th>
            <th>像素值</th>
        </tr>
  <tr>
            <th>height</th>
            <th>设置表格的高度</th>
            <th>像素值</th>
        </tr>
  <tr>
            <th>align</th>
            <th>设置表格在网页中的水平对齐方式</th>
            <th>left,center,right</th>
        </tr>
      </tbody>
        <tfoot>
        <tr>
            <th>1</th>
            <th>2</th>
            <th>像素值</th>
        </tr>
        </tfoot>
    </table>
<hr/>

表头标签

表头一般位于表格的第一行或第一列,

表格结构

见表格属性代码

表格标题

caption标签必须紧随table标签之后

<table>
	<caption>标题</caption>
</table>

合并单元格

跨行合并:rowspan 跨列合并:colspan

表格总结

  1. 表格提供了HTML中定义表格数据的方法。
  2. 表格中由行中的单元格组成。
  3. 表格中没有列元素,列的个数取决于行的单元格个数。
  4. 表格不要纠结于外观,那是css的作用。

表单

表单标签(掌握)

目的是为了收集用户信息。

input控件

标题
属性属性值描述
typetext单行文本输入框
password密码
redio单选按钮
checkbox复选框
button普通按钮
submit提交按钮
reset重置按钮
image图像形式的提交按钮
file文件域
name用户自定义控件名称
value用户自定义input控件默认文本值
size正整数input控件在页面显示宽度
checkedchecked定义选择控件默认被选中的项
maxlength正整数控件允许输入的最多字符数
<table border="1">
        <caption>标题</caption>
        <thead>
            <tr>
                <th>属性</th>
                <th>属性值</th>
                <th>描述</th>
            </tr>
        </thead>
        <tbody>
        <tr>
            <th rowspan="9">type</th>
            <th>text</th>
            <th>单行文本输入框</th>
        </tr>
        <tr>
            <th>password</th>
            <th>密码</th>
        </tr>
        <tr>
            <th>redio</th>
            <th>单选按钮</th>
        </tr>
   <tr>
            <th>checkbox</th>
            <th>复选框</th>
    </tr>
   <tr>
            <th>button</th>
            <th>普通按钮</th>
     </tr>
  <tr>
            <th>submit</th>
            <th>提交按钮</th>
     </tr>
       <tr>
            <th>reset</th>
            <th>重置按钮</th>
     </tr>
       <tr>
            <th>image</th>
            <th>图像形式的提交按钮</th>
     </tr>
       <tr>
            <th>file</th>
            <th>文件域</th>
     </tr>
         <tr>
         <th>name</th>
            <th>用户自定义</th>
            <th>控件名称</th>
     </tr>
      <tr>
         <th>value</th>
            <th>用户自定义</th>
            <th>input控件默认文本值</th>
     </tr>
      <tr>
         <th>size</th>
            <th>正整数</th>
            <th>input控件在页面显示宽度</th>
     </tr>
        <tr>
         <th>checked</th>
            <th>checked</th>
            <th>定义选择控件默认被选中的项</th>
     </tr>
      </tbody>
        <tfoot>
        <tr>
            <th>maxlength</th>
            <th>正整数</th>
            <th>控件允许输入的最多字符数</th>
        </tr>
        </tfoot>
    </table>

label标签(理解)

label标签为input元素定义标注(标签)

<label for="male">Male</label>
<input type="radio" name="sex" id="male" value="male">

textarea控件(文本域)

如果需要输入大量的信息,需要用到textarea 标签。

文本内容

<textarea cols="每行中的字符数" rows="显示的行数">
文本内容
</twxtarea>

下拉菜单

选项1 选项2 选项3
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
</select>

表单域

各种表单控件
<form action="url地址" method="提交方式" name="表单名称">各种表单控件
</form>
<think> 我们正在讨论Java中的DTOVO。根据之前的引用内容,我们可以总结如下: 1. **DTO(数据传输对象)**: - 设计目的:用于不同系统或层级之间的数据传输,尤其是在服务层与外部系统(如前端、其他微服务)之间传递数据[^1][^2][^3]。 - 数据内容:包含业务逻辑所需的原始数据字段(例如数据库ID、状态码等),不关注UI展示细节[^1][^3]。 - 复用性:可能被多个接口复用(如Web端移动端共用同一个DTO)[^3]。 - 层级归属:通常属于服务层或接口层[^3]。 2. **VO(视图对象 / 值对象)**: - 设计目的:为前端展示层定制数据,与用户界面(UI)强绑定[^1][^2][^3]。 - 数据内容:仅包含前端需要的字段,并可能对数据进行格式化(如日期转"YYYY-MM-DD"、金额加千位分隔符等)[^1][^3]。 - 复用性:通常针对特定页面或组件定制,复用性较低[^3]。 - 层级归属:属于表现层(Controller层或前端直接使用的模型)[^3]。 ### 核心区别对比表 | **特性** | **DTO** | **VO** | |------------------|----------------------------------|----------------------------------| | 设计目的 | 跨层/跨系统数据传输 | 为UI展示定制数据 | | 数据内容 | 原始业务数据字段 | 前端所需字段+格式化数据 | | 格式控制 | 保持原始格式 | 按UI需求格式化(如日期、金额) | | 复用性 | 较高(多接口复用) | 较低(页面/组件定制) | | 典型使用层级 | 服务层/接口层 | 表现层(Controller) | ### 实际场景举例 假设有一个订单详情接口: - **数据库实体类** `Order`:包含所有数据库字段(如`orderId`, `totalAmount`, `createTime`等)。 - **DTO** `OrderDTO`:服务层返回给Controller的数据,可能包含实体类的子集或计算字段(如`orderId`, `totalAmount`),但未格式化。 - **VO** `OrderVO`:Controller返回给前端的对象,对DTO进一步加工: ```java public class OrderVO { private String orderNo; // 格式化为"ORDER-10001" private String formattedAmount; // 格式化为"¥1,000.00" private String createDate; // 格式化为"2023-01-01" } ``` ### 为何需要区分? - **解耦与单一职责**:DTO确保业务数据在传输中不被污染,VO专注展示逻辑[^2]。 - **安全性**:DTO可隐藏敏感字段(如数据库ID),VO进一步过滤不必要的数据[^1]。 - **灵活性**:同一DTO可适配多个VO(如Web端App端展示不同)[^3]。 通过区分DTOVO,代码更易维护且各层职责清晰[^2][^3]。 §§相关问题§§ 1. DTOVO在Spring Boot项目中如何具体实现? 2. 实体类(Entity)与DTO/VO之间如何转换? 3. 什么情况下DTOVO可以合并使用? </think> ### Java 中 DTO VO 的含义解析 #### 1. **DTO(Data Transfer Object,数据传输对象)** - **核心目的**:在不同系统层级(如服务层、控制器层)或微服务之间**高效传输原始数据**,**不关注数据展示逻辑**[^1][^2][^3]。 - **典型场景**: - 服务层返回给控制器的数据(如从数据库查询的原始结果)。 - 微服务间 API 调用的请求/响应体(需包含完整业务字段,如 `userId`, `orderStatus`)[^3]。 - **特点**: - 字段与数据库/业务模型基本一致,包含 ID、状态码等底层细节[^3]。 - 无数据格式化(如日期、金额保持原始格式)。 - 可被多个接口复用(如 Web 端 App 端共用同一 DTO)[^3]。 #### 2. **VO(View Object / Value Object,视图对象)** - **核心目的**:为前端展示层**定制对用户友好的数据**,**关注 UI 展示逻辑**[^1][^2][^3]。 - **典型场景**: - 控制器返回给前端的响应数据(如页面渲染所需的格式化数据)。 - 移动端 API 响应(仅包含前端必需的字段)。 - **特点**: - 字段按前端需求裁剪,移除敏感或冗余字段(如隐藏数据库 ID)[^1][^3]。 - 数据经过格式化(如日期转为 `YYYY-MM-DD`,金额转为 `¥1,000.00`)[^3]。 - 通常为特定页面/组件定制,复用性低(如 `OrderDetailVO` 仅用于订单详情页)[^3]。 --- ### DTO vs VO 核心区别对比表 | **特性** | **DTO** | **VO** | |------------------|----------------------------------|----------------------------------| | **设计目的** | 跨层/跨系统数据传输 | 为 UI 展示定制数据 | | **数据内容** | 原始业务数据字段 | 前端所需字段 + 格式化数据 | | **格式控制** | 保持原始格式 | 按 UI 需求格式化(日期/金额等) | | **复用性** | 高(多接口复用) | 低(页面/组件定制) | | **使用层级** | 服务层 → 控制器层 | 控制器层 → 前端 | --- ### 实际应用示例 假设查询订单详情的场景: 1. **数据库实体**: ```java public class OrderEntity { private Long id; // 数据库ID private BigDecimal amount; // 原始金额值: 1000.00 private Date createTime; // 时间戳: 1672531200000 } ``` 2. **DTO(服务层 → 控制器)**: ```java public class OrderDTO { private Long orderId; // 保留ID(内部使用) private BigDecimal amount; // 原始值: 1000.00(未格式化) private Date createTime; // 时间戳(未转换) } ``` 3. **VO(控制器 → 前端)**: ```java public class OrderVO { private String orderNo; // 前端显示: "ORDER-10001"(隐藏ID) private String formattedAmount; // 格式化: "¥1,000.00" private String createDate; // 格式化: "2023-01-01" } ``` #### 为何需要区分? - **解耦**:DTO 确保业务数据一致性,VO 隔离展示逻辑变化[^2]。 - **安全性**:VO 隐藏敏感字段(如数据库 ID)[^1]。 - **灵活性**:同一 DTO 可适配多个 VO(如 Web 端 App 端展示不同)[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值