【问题标题】:How can I send data onclick from form in jsp page to servlet?如何将数据 onclick 从 jsp 页面中的表单发送到 servlet?
【发布时间】:2016-10-10 03:25:40
【问题描述】:

我有 .jsp 页面,我在其中显示来自 DB 的一些数据(表序列 [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">Серия &laquo;<%=seria.getName()%>&raquo;</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>

小服务程序

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+"'");
    }
}

总是打印“参数名称是'seria_id'并且参数值是'1'” 提出问题的那一刻,在 github 上进行项目。 https://github.com/sasha361322/jsp-servlet/commit/aaf869ccde54d53e16f964a6db9786c27def8eab

【问题讨论】:

  • 检查 roytuts.com/xchart-using-ajax-jsp-and-servlet/ & roytuts.com/highchart-using-ajax-jsp-and-servlet/

标签: javascript java html jsp servlets


【解决方案1】:

如果你想通过

    getParameter(name);

然后您应该发送值 URL 即在您的情况下,操作 URL 是 /seria

因此您将值发送为

/seria?parmName1=ParmaValue1&parmName2=ParmaValue2

【讨论】:

    【解决方案2】:

    我得到了解决方案。现在我不再使用一种形式,而是为每个系列制作一个。

    <%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">Серия &laquo;<%=seria.getName()%>&raquo;</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>
                                <%}%>
    

    【讨论】:

      猜你喜欢
      • 2013-08-13
      • 2018-08-20
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多