使用jsp的动态html表单

使用jsp的动态html表单,html,jsp,Html,Jsp,我想用jsp中声明的字符串填充jsp中html表单的值部分。我使用的jsp EL如下所示: <% ResultSet rs=statement.executeQuery("select id from mytable"); String id=rs.getString(1); %> <form action="process.jsp" method="post"> ID: <input type="text" name="myId" va

我想用jsp中声明的字符串填充jsp中html表单的值部分。我使用的jsp EL如下所示:

<% 
  ResultSet rs=statement.executeQuery("select id from mytable");   
  String id=rs.getString(1); 
%>
<form action="process.jsp" method="post">   
  ID: <input type="text" name="myId" value="${id}"> 
</form>

身份证件:
但它给出了一个错误的说法:

输入标记位置无效


然后你应该在下面写上:

String id=rs.getString(1); 
此代码:

pageContext.setAttribute("id", id);

您只需将
input
标记放入
fieldset
div
块中,因为在严格的
HTML
表单中,输入必须包装在
fieldset

文档中,它指出:

HTML元素还用于对多个控件进行分组 作为web表单中的标签()

并确保关闭
input
标记,您的代码应如下所示:

<form action="process.jsp" method="post"> 
   <fieldset>  
        ID: <input type="text" name="myId" value="${id}" />
   </fieldset>
</form>

身份证件:

请不要像这样的EL尝试一下

<% 
ResultSet rs=statement.executeQuery("select id from mytable");   
String id=rs.getString(1); 
%> 
<form action="process.jsp" method="post">   
ID: <input type="text" name="myId" value="<%=id%>"> 
</form>

身份证件:

不,您不需要放置它,您可以直接与
${id}
一起使用它。