【问题标题】:passing data from jsp to servlet from html table将数据从jsp传递到html表中的servlet
【发布时间】:2012-12-05 14:48:18
【问题描述】:

我正在使用 JSP 和 Servlet 开发一个 Web 应用程序。 在该应用程序中,我必须在 html 表中显示来自数据库表 stud(studID, name, add) 的数据,并且表中的每一行在最后一列都有一个与之关联的超链接。单击该超链接后,我想从表中获取(studID)...

到目前为止,我已经从数据库中获取数据,然后将其放入列中,然后为每一行添加超链接。但我无法从与超链接关联的 html 表中获取 (studID)。

提前谢谢....

源代码:

<% 
String[][] data = (String[][])request.getAttribute("data"); 
String[] cNames = (String[])request.getAttribute("columnNames"); 
//headings 
%> 
<table> 
<tr> 
<% 
for(int i=0;i<cNames.length;i++) { 
%> 
<th>
<%= cNames[i] %>
</th>
<% 
} 

//data if(data!=null) 
for(int i=0;i<data.length;i++) { 
%>
<tr> 
<% 
for(int a=0;a<3;a++) {
%> 
<td>
<%= 
data[i][a] 
%>
</td> 
<% 
//hyperlink 
if(a==2) { 
%> 
<td>
<a href="PlanProtocol" id=<%=i%> onclick="<% session.setAttribute("ID","p2"); %>" >Edit</a></td> 
<% 
} 
} 
%>
</tr> 
<% } %> 
<tr>
</table>

【问题讨论】:

  • 如果您向我们展示一些代码,我们将更有能力提供帮助。

标签: html jsp session servlets


【解决方案1】:

您可以在 url 中将 id 作为查询字符串传递。简单地说:

  <a href="myservlet?id=<%=stuid%>">My Link</a>

会工作。但如果你使用的是 JSTL 或其他标签库,那么你可以这样做:

  <c:url value="/myservlet" var="myURL">
     <c:param name="id" value="1234"/>
  </c:url>

  <a href="<c:out value="myURL">mylink</a>

这有它的优点,例如url编码等。


因此,要将 id 添加到您发布的代码中的 URL,您可以:

  <a href="PlanProtocol?id=<%=i%>" >Edit</a>

网址最终会是这样的:PlanProtocol?id=1234

在 Servlet 中,您可以通过以下方式获取参数:

   request.getParameter("i");

但是,正如我上面提到的,您可能希望使用 JSTL 之类的标记库,而不是将这些小脚本放置在您的页面中。有几个优点。

【讨论】:

    【解决方案2】:

    认为你应该在JSP中提取studID并将studID格式化为URL的查询字符串,html页面。 (?studID=xxxxx) 所以 servlet 会知道 studID。

    【讨论】:

      【解决方案3】:

      你可以在你的jsp页面中使用request.setAttribute("studID","value");来设置值,在servlet中使用request.getAttribute("studID");来获取值

      【讨论】:

        猜你喜欢
        • 2013-06-20
        • 1970-01-01
        • 2016-03-03
        • 1970-01-01
        • 1970-01-01
        • 2020-06-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多