如何在不提交表单的情况下将参数或值从一个jsp页面传递到另一个jsp页面

时间:2013-09-28 03:11:22

标签: jsp

first.jsp 我想将参数名称classn从first.jsp发送到second.jsp页面

班级

<select name="classn" onchange="showState(this.value)" >
    <option value="select">--Select--</option>
    <option value="I class">I Class</option>
    <option value="II class">II Class</option>
    <option value="III class">III Class</option>
    <option value="IV class">IV Class</option>
</select>

second.jsp

<%
    String classname=request.getParameter("classn");
%>

但我没有将参数值输入classname变量

3 个答案:

答案 0 :(得分:1)

您无需提交表单即可将值发送到另一个jsp页面。在你的onchange方法中调用jquery ajax方法将值发送到服务器。

$.ajax({
    type: "POST",
    url: "Ur_URL",
    data: { classn: "value" }
})
.done(function( msg ) {
 //If you need anything to return.
});

从这里你可以像这样在servlet中接收参数。

String classname=request.getParameter("classn");

然后,您可以在会话变量中设置值(以使整个会话可用)。在second.jsp页面中检查会话变量是否可用,如果可用,请执行您想要的任何操作。如果这有助于你,请告诉我..

答案 1 :(得分:0)

因为第二个JSP文件是从服务器发送的,所以您必须向服务器发送此信息,以便将其传递到第二页。您可以将它们添加到网址(?classn = XX,通常使用javascript),或者您可以将它们发布(从表单中),但必须将它们发送到服务器。

答案 2 :(得分:0)

  • JSP中,如果您需要服务器端验证,则在表单提交后,如果您不想使用submit button提交表单,则会将值发送到服务器端,您也可以通过java-script函数

    来完成
    <select id="class" onChange="submit()" action="second" >
     <option value="select">--Select--</option>
     <option value="I class">I Class</option>
     <option value="II class">II Class</option>
     <option value="III class">III Class</option>
     <option value="IV class">IV Class</option>
    </select>
    

JavaScript函数

function submit()
{
   document.getElementById("class").submit();
   //This will submit the request to `second.jsp` where you can have your validations

}
  • 另一种方法:您可以使用java脚本函数验证inputField,这是一个客户端验证,可以在其中完成输入验证。

    function showState(value)
    {
       //value object hold the input text values
       //Do your validation here
    }