我有一个动态表,可以从数据库中生成和填充。我想让整个表数据或表持久化,这样如果页面在简单的提交或单击按钮中刷新,它就不会消失。我尝试这样做是为了学习目的,如果它可能,但没有运气
<form id="form3" value="inherit" method=post>
<input type="hidden" name="nm" value="inherited">
<Table id="dummy" name="table_dummy" border="1">
<tr>
<th>Category Name</th>
<th>Header2</th>
<th>Libraries</th>
<th>Student</th>
<th>Courses</th>
</tr>
<c:forEach var="i" begin="0" end="${result.getCategory().size() - 1}">
<TR>
<TD id="getC" name="td1">
${result.getCategory().get(i)}
</TD>
<TD id='td1' name='td_n'>
${result.getHeader().get(i)}
</TD>
<TD>
${result.getLibs().get(i)}
</TD>
<TD>
${result.getStudents().get(i)}
</TD>
<TD>
${result.getCourses().get(i)}
</TD>
</TR>
</c:forEach>
</TABLE>
//以下是我试图用来使其持久化的逻辑。
<% String trial = request.getParameter("td_n"); %>
<script>
document.getElementById("td1").value = '<% out.print(trial); %>
</script>
但是,如果我尝试使用Table,它就无效,但如果我尝试使用<Form>
之类的任何<Select>
元素,<input>
它就能正常工作。
任何评论/提示/链接或任何有用的信息都会非常棒!
[编辑] 根据讨论更新代码:
2.此外,使用单选按钮单击功能生成另一个表,该功能再次调用相同的servlet并生成上面显示的新表。
<Servlet>
旁边代码:
if("inherited".equals(nm)){
InheritedResponse ir = null;
InheritedDAOImpl iad = new InheritedDAOImpl();
String sql ="select * from testTable";
ir = iad.getInheritData(sql);
System.out.println(sss);
req.setAttribute("result",ir);
Util.forward(req,resp,this, "/practice/trial.jsp");
答案 0 :(得分:0)
TD
不是表单的元素。您只能提交input
等表单元素。 JSTL
而不是scriptlet。 TD
没有属性value
。对于TD
,它应该是:
document.getElementById("td1").innerHTML='some value'
;
答案 1 :(得分:0)
以这种方式使用input
元素(仅作为示例):
<pre>
<input type="text" value="${result.getCourses().get(i)}">
</pre>