在没有jsp的任何提交操作的情况下请求servlet

时间:2011-08-11 12:47:52

标签: jsp servlets request

我有一个jsp ExpressLinking.jsp。一旦我们到达这个jsp,我需要使用请求的查询参数向ControllerServlet发送请求

<%=request.getContextPath()%>/ManageMyMappings?cmd=loadStatus&linkid=<%=linkId%>

Controller运行后,我需要根据收到的状态显示一条消息,并带有两个按钮“OK”和“Cancel”。状态是变量。

如何在没有任何提交操作的情况下将请求发送到servlet。是否有可能通过自动页面刷新发送请求。请帮忙

2 个答案:

答案 0 :(得分:1)

正如家里所说,你需要看看AJAX。 这里有一个相当简单的例子:

http://mabdelghani.wordpress.com/2008/12/07/ajax-with-jquery/

但请改用此表格:

<script type="text/javascript">  

 $(document).ready(function() {  

         $.post("UserData.aspx?Func=RetrieveUserInfo",  

         { username: $("#tbUsername").val() }, function(output) {  

             $("#outputDiv").html(output);  

             $("#outputDiv").css("display", "block");  

         });  

 });  

以上代码:

  1. 网页加载完毕后,请调用网址:UserData.aspx?Funct = ....
  2. 作为参数发送id为“tbUsername”的输入字段的值,名称为“username”。
  3. 完成请求后,结果将存储在“output”变量中。
  4. 复制返回的“输出”并将其插入ID为“outputDIV”的DIV元素。
  5. 将“outputDIV”的“显示”样式更改为“阻止” - AKA使DIV可见。
  6. 这取决于JQuery,但我认为这不是一件坏事。你可以在没有JQuery的情况下完成它,但我认为这是最简单的。

答案 1 :(得分:0)

您可以使用<jsp:include>

<jsp:include page="ManageMyMappings?cmd=loadStatus&linkid=${linkId}" />

然而,它通常以相反的方式完成。您应该直接通过其URL请求servlet,然后servlet应该转发给JSP。

另见: