Java 在文本框中显示数据库中的数据
我有2个JSP页面,如下所示: projectcategory.jspJava 在文本框中显示数据库中的数据,java,jsp,servlets,Java,Jsp,Servlets,我有2个JSP页面,如下所示: projectcategory.jsp <% Connection con = DbConnect.connect(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("select * from projectcategory"); %> <DIV class="TabbedPanelsContent" alig
<%
Connection con = DbConnect.connect();
Statement s = con.createStatement();
ResultSet rs = s.executeQuery("select * from projectcategory");
%>
<DIV class="TabbedPanelsContent" align="center">
<TABLE border="1">
<TR>
<TH>CATEGORY ID</TH>
<TH>CATEGORY NAME</TH>
<TH>Edit/Update</TH>
</TR>
<%
while (rs.next()) {
%>
<%String p=rs.getString(1);%>
<TR>
<TD><%=rs.getString(1)%></TD>
<TD><%=rs.getString(2)%></TD>
<TD>
<FORM action="EditPcat.jsp?pcatid=p"><INPUT type="submit"
value='edit/update'></INPUT>
</FORM>
</TD>
</TR>
<%
}
%>
</TABLE>
</DIV>
类别ID
类别名称
编辑/更新
另一个是Editpcat.jsp:
</head>
<body>
<%String s=request.getParameter("p"); %>
<form action="ProjCatServlet" method="post">
<div align="right"><a href="projectcategory.jsp">view</a></div>
<fieldset>
<legend>Edit category</legend>
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td align="left">Category Id</td>
<td><input type="text" name="pcatid" value="<%=s%>" ></td>
</tr>
<tr>
<td align="right">Category Name</td>
<td><input type="text" name="pcatname"></td>
</tr>
<tr>
<td><input type="submit" value="submit"></td>
</tr>
</table>
<input type="hidden" name="FUNCTION_ID" value="UPDATE">
</fieldset>
</form>
编辑类别
类别Id
类别名称
如何在另一个JSP的文本框中显示我们从数据库中获得的一个JSP页面的值?这非常脏,但您可以在表单中添加隐藏的输入标记:
<INPUT type="hidden" name="p1" value="<%=rs.getString(1)%>">
<INPUT type="hidden" name="p2" value="<%=rs.getString(2)%>">
顺便说一句:您应该在不再需要时关闭语句,否则您可能会在服务器上使用太多的资源。您将它作为名为
pcatid
的请求参数传递:
<FORM action="EditPcat.jsp?pcatid=p">
把名字排成一行
也就是说,您用servlets
标记了这个问题,但您根本没有使用servlets。老实说,这段代码是一场灾难。Scriptlet是一种糟糕的实践,JDBC代码正在泄漏资源。原始Java代码属于Java类,而不是JSP文件。使用像JSTL这样的标记库来控制页面流,并使用EL(表达式语言)来访问后端数据。通过这项工作来把事情做好
启动示例:
public void doGet(HttpServletRequest request, HttpServletResponse response) {
List<Project> projects = projectDAO.list();
request.setAttribute("projects", projects);
request.getRequestDispatcher("projects.jsp").forward(request, response);
}
public void doGet(HttpServletRequest请求,HttpServletResponse响应){
List projects=projectDAO.List();
request.setAttribute(“项目”,projects);
getRequestDispatcher(“projects.jsp”).forward(请求、响应);
}
及
${project.id}
${project.name}
public void doGet(HttpServletRequest request, HttpServletResponse response) {
List<Project> projects = projectDAO.list();
request.setAttribute("projects", projects);
request.getRequestDispatcher("projects.jsp").forward(request, response);
}
<table>
<c:forEach items="${projects}" var="project">
<tr>
<td>${project.id}</td>
<td>${project.name}</td>
</tr>
</c:forEach>
</table>