Javascript 如何在下次重新加载jsp时设置参数?

Javascript 如何在下次重新加载jsp时设置参数?,javascript,html,jsp,url-parameters,Javascript,Html,Jsp,Url Parameters,我有一个JSP文件,它有10个按钮,单击这10个按钮中的任何一个都应该将一个参数设置到自身中并重新加载,这样重新加载页面就会读取该参数,然后决定需要将哪个数组位置传递给java函数 例如,点击按钮0应该将“election”参数设置为0,按钮1设置为1,等等。 因此url看起来像somesite/somepage.jsp?election=0,somesite/somepage.jsp?election=1,等等 我尝试在表单中声明每个按钮,如下所示: <form name="form1"

我有一个JSP文件,它有10个按钮,单击这10个按钮中的任何一个都应该将一个参数设置到自身中并重新加载,这样重新加载页面就会读取该参数,然后决定需要将哪个数组位置传递给java函数

例如,点击按钮0应该将“election”参数设置为0,按钮1设置为1,等等。 因此url看起来像
somesite/somepage.jsp?election=0
somesite/somepage.jsp?election=1
,等等

我尝试在表单中声明每个按钮,如下所示:

<form name="form1" action="SomePage.jsp" method="post">

    <button class="btn" type="submit" onclick="btns(0)">
        See product 0
    </button>

    <button class="btn" type="submit" onclick="btns(1)">
        See product 1
    </button>

    etc...

</form>
有什么想法吗?谢谢

正如上面的评论所说,我以前的代码的问题是没有将一个隐藏的
放在
中,它在每次按下按钮时都会被
修改,每次使用url中的参数重新加载页面时都会被分配,例如:
somesite/somepage.jsp?election=0
,并由jsp本身读取

这将在表单中声明每个按钮,如下所示:

<form name="form1" action="SomePage.jsp">

    <button class="btn" type="submit" onclick="btns(0)">
        See product 0
    </button>

    <button class="btn" type="submit" onclick="btns(1)">
        See product 1
    </button>

    etc...

</form>
在这种特殊情况下,通过以下方式读取参数:

<%  if (request.getParameter("btnElection") == null) {
        setElection("0");
        session.setAttribute("eleccion", "0");
        requestData("0");
    } else {
        String e = request.getParameter("btnElection");
        if(e != null){
               session.setAttribute("eleccion", e);
               setElection(e);
               requestData(e);
        } else {
            error = "Error: btnElection = " + e + ".";
        }
    }
%>
<%  if (request.getParameter("btnElection") == null) {
        session.setAttribute("eleccion", "0");
    } else {
        String e = request.getParameter("btnElection");
        if(e != null){
               session.setAttribute("eleccion", e);
        } else {
            ...
        }
    }
%>

我测试了您的代码,它工作正常,可能是其他地方的错误。请使用
name=“btnElection”
检查输入是否在您的
中。
<script language="JavaScript">
    function btns(num){
        document.form1.btnElection.value = num;
        form1.submit();
    } 
</script>
<%  if (request.getParameter("btnElection") == null) {
        session.setAttribute("eleccion", "0");
    } else {
        String e = request.getParameter("btnElection");
        if(e != null){
               session.setAttribute("eleccion", e);
        } else {
            ...
        }
    }
%>