[英]How can I send data onclick from form in jsp page to servlet?
我有一個.jsp頁面,其中顯示了一些來自數據庫的數據(表seria [id,名稱,描述,照片])。 當用戶單擊帶有照片和文字的區域時,如何將ID發送到Servlet? 現在我單擊任何地方,servlet都會得到seria_id = 1。 網站http://joxi.ru/krDLaDYS07pwNr的屏幕截圖我的表格在這里->
<form id="myform" action="/seria" method="post">
<%Iterator itr;%>
<% LinkedList<Seria> data = (LinkedList<Seria>) request.getAttribute("data");
Seria seria;
for (itr=data.iterator(); itr.hasNext(); ) {
seria = (Seria) itr.next();
%>
<input type="hidden" name="seria_id" value=<%=seria.getId()%>>
<table onclick="document.getElementById('myform').submit();">
<tr>
<td colspan="2">
<h3 align="center">Серия «<%=seria.getName()%>»</h3>
</td>
</tr>
<tr>
<td width="50%">
<img src="/img/<%=seria.getPhoto()%>" width="60%" alt="cars" hspace="20%">
</td>
<td>
<%=seria.getDescription()%>
</td>
</tr>
</table>
<hr>
<%}%>
</form>
web.xml中
<servlet>
<servlet-name>SeriaServlet</servlet-name>
<servlet-class>mypackage.SeriaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SeriaServlet</servlet-name>
<url-pattern>/seria</url-pattern>
</servlet-mapping>
的servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Enumeration en=request.getParameterNames();
while(en.hasMoreElements())
{
Object objOri=en.nextElement();
String param=(String)objOri;
String value=request.getParameter(param);
System.out.println("Parameter Name is '"+param+"' and Parameter Value is '"+value+"'");
}
}
問題出現時,始終在github上打印“ Parameter Name為'seria_id',Parameter Value為'1'”的項目。 https://github.com/sasha361322/jsp-servlet/commit/aaf869ccde54d53e16f964a6db9786c27def8eab
如果您想獲得價值
getParameter(name);
然后,您應該發送值網址,例如,您的操作網址是/ seria
所以您將值發送為
/seria?parmName1=ParmaValue1&parmName2=ParmaValue2
我得到了解決方案。 現在,我不再為一種形式,而是為每一個系列做一個。
<%Iterator itr;%>
<% LinkedList<Seria> data = (LinkedList<Seria>) request.getAttribute("data");
Seria seria;
for (itr=data.iterator(); itr.hasNext(); ) {
seria = (Seria) itr.next();
%>
<form id="<%=seria.getId()%>" action="/seria" method="post">
<input type="hidden" name="seria_id" value=<%=seria.getId()%>>
<table onclick="document.getElementById('<%=seria.getId()%>').submit();">
<tr>
<td colspan="2">
<h3 align="center">Серия «<%=seria.getName()%>»</h3>
</td>
</tr>
<tr>
<td width="50%">
<img src="/img/<%=seria.getPhoto()%>" width="60%" alt="cars" hspace="20%">
</td>
<td>
<%=seria.getDescription()%>
</td>
</tr>
</table>
</form>
<hr>
<%}%>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.