0

JSP とサーブレットを使用して Web アプリケーションを開発しています。そのアプリケーションでは、データベース テーブルのスタッド (スタッド ID、名前、追加) からのデータを html テーブルに表示する必要があります。テーブルの各行には、最後の列に関連付けられたハイパーリンクがあります。そのハイパーリンクをクリックした後、テーブルから (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>
4

3 に答える 3

2

ID を URL のクエリ文字列として渡すことができます。単に:

  <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 エンコーディングなどの利点があります。


したがって、投稿されたコードの URL に ID を追加するには、次のことができます。

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

URL は次のようになりますPlanProtocol?id=1234

サーブレットでは、次の方法でパラメーターを取得できます。

   request.getParameter("i");

ただし、前述したように、これらのスクリプトレットをページに配置するのではなく、JSTL のようなタグ ライブラリを使用することをお勧めします。いくつかの利点があります。

于 2012-12-18T11:52:12.607 に答える
1

JSP でスタッド ID を取り出し、スタッド ID を URL、html ページのクエリ文字列にフォーマットする必要があると思います。(?studID=xxxxx) したがって、サーブレットはスタッド ID を認識します。

于 2012-12-18T11:50:27.350 に答える
0

request.setAttribute("studID","value");jspページで使用して値を設定し、サーブレットで使用しrequest.getAttribute("studID");て値を取得できます

于 2012-12-18T11:58:59.003 に答える