如何在GET url中添加参数?

时间:2014-03-02 22:51:15

标签: java jsp jstl

我必须添加由用户选择的日期选择的 GET 方法二。我怎么能这样做,有机会从servlet中提取它。

jsp 页面的代码段:

<p class="text-left">
  <strong><fmt:message key="apartments.arrival"/>:</strong> <input type="text" id="arrivaldate" name="arrivaldate"/> <br/>
  <strong><fmt:message key="apartments.depart"/>:</strong> <input type="text" id="departdate" name="departdate"/> <br/>
  <strong><fmt:message key="apartments.price"/>:</strong> ${apartment.price} <br/>
</p>
<a class="btn btn-primary btn-large btn-block"
                       href="<c:url value="/purchase?apartment=${apartment.id}"/>"><fmt:message key="button.book"/>
</a>

我必须arrivaldate + departdate

使用jquery数据选择器选择日期。

我想在jsp page =&gt;中输入用户输入的两个数据值。设为url =&gt;的参数在servlet端进入doGet()提取这两个值。最好避免使用表单,我想将此请求放入doGet()

更新

以下是完整页面背景 - apartments.jsp

如何解决此问题?

3 个答案:

答案 0 :(得分:2)

您可能希望覆盖doGet的方法Servlet(如果您还没有这样做)并将GET参数检索为

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Stirng arrivaldate = request.getParameter("arrivaldate");
    Stirng departdate = request.getParameter("departdate");
    Stirng id = request.getParameter("apartment");
}

更新: 看着你的apartments.jsp,我发现了问题所在。您没有使用任何表单标记,并且您的按钮button.book具有硬编码的GET参数。这就是为什么没有提交apartment以外的参数的原因。

要解决此问题,您必须使用74 to 81标记包含行form的内容,如下所示:

<form action="/purchase" method="GET">
    <p class="text-left">
        <strong><fmt:message key="apartments.arrival"/>:</strong>
        <input type="text" id="arrivaldate" name="arrivaldate"/> <br/>
        <strong><fmt:message key="apartments.depart"/>:</strong>
        <input type="text" id="departdate" name="departdate"/> <br/>
        <strong><fmt:message key="apartments.price"/>:</strong> ${apartment.price} <br/>
    </p>
    <input type="hidden" id="apartment" name="apartment" value="${apartment.id}"/>
    <input class="btn btn-primary btn-large btn-block" type="submit" value="Submit" />
</form>

答案 1 :(得分:0)

我想也许你的例子来自JavaScript页面?

如果您有以下网址:

blah.com/home?name=blah

您可以使用各种语言(PHP,JavaScript,Java)来执行getParam("name"),这将返回blah

您还可以查看休息服务,您可以使用以下网址进行网址参与。

blah.com/home/blah

你有这样的java代码

@GET
@Path("/home/{name}")
@Produces("text/html")
public String Test(@URLParam String name) {
   return name;
}

在Java中回答原因问题有java标记。

答案 2 :(得分:0)

试试这个方法来获得你的到来日期+离开。

$("#from_date").datepicker({
    minDate   : 0,
    onSelect: function() {
        var minDate = $(this).datepicker('getDate');
        minDate.setDate(minDate.getDate());
        $("#to_date").datepicker( "option", "minDate", minDate);
    }
});

$("#to_date").datepicker({
    minDate: 0
});

fiddle demo to click here.