[英]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.