jsp <tr>中<td>隐藏,下一个<td>补齐上去
时间: 2023-07-09 17:37:33 浏览: 119
您可以使用 CSS 的 `visibility` 属性来隐藏一个 `<td>` 元素。例如,将 `<td>` 的 `visibility` 属性设置为 `hidden`,就可以将该元素隐藏起来,但它仍然会占据原来的位置。接下来,您可以将下一个 `<td>` 元素的 `margin-left` 属性设置为负数,使其移动到上一个 `<td>` 元素的位置,从而达到补齐的效果。以下是示例代码:
```html
<tr>
<td style="visibility:hidden;"></td>
<td style="margin-left:-20px;">下一个<td>补齐上去</td>
</tr>
```
请注意,这种方法只适用于您知道要隐藏的 `<td>` 的位置,并且下一个 `<td>` 的宽度是固定的。如果 `<td>` 的宽度是动态的,或者您需要隐藏多个 `<td>` 元素,则需要使用其他方法。
相关问题
<table> <tr><td>pid:</td><td><input type="text" name="pid"> </td></tr> <tr><td>pname:</td><td><input type="text" name="pname"> </td></tr> <tr><td>shop_price:</td><td><input type="text" name="shop_price"> </td></tr> <tr><td>cname:</td><td><input type="text" name="cname"> </td></tr> <tr><td>pimage:</td><td><input type="file" name="pimage"> </td></tr> <tr><td colspan="2"><input type="submit" value="添加商品"></td></tr> </table>通过前端输入这些数据,点击添加商品后将输入的数据插入数据库的products表里,同时回到showAllPoducts.jsp页面展示输入的商品信息的数据,商品pid不能重复输入,它是products表的主键的代码
下面是一个示例代码,实现了前端输入数据并插入数据库表的操作,同时也实现了商品pid不能重复输入的限制,并且回到 showAllProducts.jsp 页面展示输入的商品信息数据。
```
<%
String pid = request.getParameter("pid");
String pname = request.getParameter("pname");
String shop_price = request.getParameter("shop_price");
String cname = request.getParameter("cname");
String pimage = request.getParameter("pimage");
// 检查pid是否已存在
boolean pidExists = false;
try {
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM products WHERE pid = ?");
pstmt.setString(1, pid);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
pidExists = true;
}
rs.close();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
// 如果pid已存在,则返回错误信息
if (pidExists) {
out.print("Error: pid already exists");
} else {
// 如果pid不存在,则插入数据到数据库表中
try {
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO products (pid, pname, shop_price, cname, pimage) VALUES (?, ?, ?, ?, ?)");
pstmt.setString(1, pid);
pstmt.setString(2, pname);
pstmt.setString(3, shop_price);
pstmt.setString(4, cname);
pstmt.setString(5, pimage);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
// 返回 showAllProducts.jsp 页面,并展示输入的商品信息的数据
response.sendRedirect("showAllProducts.jsp");
}
%>
```
请注意,上述代码并不完整,需要根据具体的项目需求进行适当的修改和调整。同时,为了确保数据安全,需要对用户输入的数据进行校验和过滤,以防止 SQL 注入等安全问题。
load.jsp为<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> <form action="load.action"> <table> <tr><td>userID:</td><td><input type="text" name="userID" id="userID"></td></tr> <tr><td>password:</td><td><input type="password" name="password" id="password"></td></tr> <tr><td colspan="2"><input type="checkbox" name="remeber">记住我</td></tr> <tr><td><input type="submit" value="登录"></td></tr> </table> </form> </body> </html>判断user是否能够登录成功,如果可以重定向到showAllProducts.jsp页面怎么写
您可以在load.jsp页面中使用以下代码将用户重定向到showAllProducts.jsp页面:
```
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
// 获取表单参数
String userID = request.getParameter("userID");
String password = request.getParameter("password");
// 判断用户是否能够登录成功
boolean userLoginSuccess = false; // 用户是否登录成功的标志,需要根据具体情况进行修改
if ("admin".equals(userID) && "admin123".equals(password)) { // 这里是一个简单的登录验证示例,需要根据实际情况进行修改
userLoginSuccess = true;
}
if (userLoginSuccess) {
// 重定向到showAllProducts.jsp页面
response.sendRedirect("showAllProducts.jsp");
} else {
// 登录失败,返回登录页面或者给出错误提示等操作
%>
<html>
<head>
<title>登录失败</title>
</head>
<body>
<h1>登录失败,请检查用户名和密码是否正确!</h1>
<a href="load.jsp">返回登录页面</a>
</body>
</html>
<%
}
%>
```
在代码中,首先获取表单参数userID和password,然后根据实际情况进行用户登录验证,将登录成功的标志保存在userLoginSuccess变量中。如果用户登录成功,就会使用response.sendRedirect()方法将浏览器重定向到showAllProducts.jsp页面;如果登录失败,就会在页面上给出错误提示,并提供返回登录页面的链接。需要注意的是,在重定向之前不能向浏览器输出任何内容,否则会导致重定向失败。
阅读全文