关于表单页面的小结

最近一直在学习心得知识点,对之前学习表单等基础知识忘记了许多,在此做一个简单的总结,方便以后学习查阅。

1.想要做一个如下图所示效果的表单页面

这里写图片描述

2.大体的框架需要以下标签

这里写图片描述

这里写代码片

3.表单提交的servlet标准写法

这里写图片描述

<form action="${pageContext.request.contextPath}/addCustomerServlet" method="post">

4.数据回显的判断,

*首先需要引入标签库,函数库

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

在转发之前把数据封装到request里面

// 把邮箱存在的错误信息转发出去
request.setAttribute("old", c);// 如果错误把错误信息保存起来
request.setAttribute("email_exist_error", "邮箱已经存在");
// 如果邮箱错误,信息回显
request.getRequestDispatcher("/addCustomer.jsp").forward(request, response);

*1.文本框的回显

<input type="text" name="name" value="${old.name }">

*2.单选框的回显
利用标签进行判断,checked=”checked”可以简写成CHECKED;

<tr>
<td>选择性别:</td>
<td><input type="radio" name="gender" value="男"
<c:if test="${old.gender=='男'}" > CHECKED</c:if>>男 
<input type="radio" name="gender" value="女"
<c:if test="${old.gender=='女'}" > CHECKED</c:if>>女</td>
</tr>

*3.多选框的回迁
方式一:利用jstl中的contains函数

<tr>
<td>客户爱好:</td>

<td><input type="checkbox" name="hobby" value="篮球"
<c:if test="${fn:contains(old.hobby,'篮球')}" > CHECKED</c:if>>篮球

<input type="checkbox" name="hobby" value="足球"
<c:if test="${fn:contains(old.hobby,'足球')}" > CHECKED</c:if>>足球
<input type="checkbox" name="hobby" value="乒乓球"
<c:if test="${fn:contains(old.hobby,'乒乓球')}" > CHECKED</c:if>>乒乓球

<input type="checkbox" name="hobby" value="台球"
<c:if test="${fn:contains(old.hobby,'台球')}" > CHECKED</c:if>>台球

<input type="checkbox" name="hobby" value="电影"
<c:if test="${fn:contains(old.hobby,'电影')}" > CHECKED</c:if>>电影
<input type="checkbox" name="hobby" value="看书"
<c:if test="${fn:contains(old.hobby,'看书')}" > CHECKED</c:if>>看书</td>
</tr>

方式二:利用标签库的 切割 c:forTokens
根据jdbcUtil封装实体对象的,字符串连接的方式
这里写图片描述

3.下拉框的回显

<tr>
<td>客户类型:</td>
<td><
select name="type">

<option value="普通客户"
<c:if test="${old.type == '普通客户'}" > SELECTED</c:if>>普通客户</option>

<option value="黄金客户"
<c:if test="${old.type == '黄金客户'}" > SELECTED</c:if>>黄金客户</option>

<option value="钻石客户"
<c:if test="${old.type == '钻石客户'}" > SELECTED</c:if>>钻石客户</option>

</select>
</td>
</tr>

总结利用web域对象传递数据的时候,起名字一定要有意义,有规范,同一个项目中一般不要出现相同的名字。
后续再jsp页面中可以直接省略前面的域对象,直接使用old.name;这样的方式,tomcat自动会从小到大范围寻找,所以后面写的就简单多了!!!

request.setAttribute("old", c);// 如果错误把错误信息保存起来
request.setAttribute("email_exist_error", "邮箱已经存在");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值