将值从JSP发送到servlet

时间:2013-04-06 23:09:54

标签: java forms jsp servlets href

我在JSP中有一个对象列表,并希望根据单击的超链接将值发送回servlet。我的代码显示如下。

<body>
    <h1>Choose a Festival</h1>
    <jsp:useBean id="allFestivals" type="java.util.ArrayList" scope="session" />
    <table border ="1">
        <tr>
            <td>Festival Name:</td>
            <td>Location:</td>
            <td>Start Date:</td>
            <td>End Date:</td>
            <td>URL:</td>
            <td>List of Trips to </td>
        </tr>
        <c:forEach items="${allFestivals}" var="allFestivals">
        <tr>      
            <td>${allFestivals.festivalName}</td>
            <td>${allFestivals.location}</td>
            <td>${allFestivals.startDate}</td>
            <td>${allFestivals.endDate}</td>
            <td>${allFestivals.URL}</td>
            <td>
                //THE ISSUE IS IN THIS FORM, I SUPPOSE SYNTAX ISSUE
                <form name="linkChecker" method="get" action="ControllerServlet">
                    <input type = "hidden" value="${allFestivals.ID}" name="festivalProfileLink" /> 
                    <a HREF ="javascript:document.linkChecker.submit()">View Related Trips</a>
                </form>
            </td>
        </tr>
        </c:forEach>
    </table> 

<a href="logout.jsp">Logout</a>

</body>

和servlet GET方法:

 @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {

    String aa = request.getParameter("festivalProfileLink");
    JOptionPane.showMessageDialog(null, aa);
    if("hello".equals(aa)) {
            JOptionPane.showMessageDialog(null, "dfgdfgdf");
    }
 }

目前没有信息(或至少没有值)被发送到servlet

2 个答案:

答案 0 :(得分:1)

您正在发出POST请求,doGet()尝试doPost()

后,您将无法获得结果

根据帖子上的修改编辑回答

对于这种类型的操作,GET非常适合您只需生成链接

建议here in your earlier post你应该生成传递参数的链接 按URL

通过这种方法,我怀疑你是在错误的路径发布,你可以使用firebug进行调查

答案 1 :(得分:0)

在Servlet中使用JOptionPane非常奇怪 - 而只是记录一些东西。