如何将参数设置为 jsp 的下一次重新加载?
How can I set a parameter into the next reload of a jsp?
我有一个有 10 个按钮的 JSP 文件,点击这 10 个按钮中的任何一个都应该为自身设置一个参数并重新加载,以便重新加载页面读取该参数,然后决定哪个数组位置需要传递给 java 函数。
因此,例如,单击 button0 应将 "election" 参数设置为 0,将 button1 设置为 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>
并在每次单击十个按钮中的任何一个时使用以下方法:
<script language="JavaScript">
function btns(num){
document.form1.btnElection.value = num;
form1.submit();
}
</script>
但每次我得到 btnElection
它 returns null
而不是 {0 .. 9}
我获取和查看参数的方式是这样的:
<% 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 + ".";
}
}
%>
有什么想法吗?谢谢
正如 Swati 在上面的评论中所说,我以前的代码的问题是没有在 <script>
修改的 <form>
中放置一个隐藏的 <input>
每次按下按钮,每次重新加载页面时分配 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>
每次单击十个按钮中的任何一个时都使用以下方法,方法是调用每个按钮的 onClick 的参数中分配的 btns()
:
<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 {
...
}
}
%>
我有一个有 10 个按钮的 JSP 文件,点击这 10 个按钮中的任何一个都应该为自身设置一个参数并重新加载,以便重新加载页面读取该参数,然后决定哪个数组位置需要传递给 java 函数。
因此,例如,单击 button0 应将 "election" 参数设置为 0,将 button1 设置为 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>
并在每次单击十个按钮中的任何一个时使用以下方法:
<script language="JavaScript">
function btns(num){
document.form1.btnElection.value = num;
form1.submit();
}
</script>
但每次我得到 btnElection
它 returns null
而不是 {0 .. 9}
我获取和查看参数的方式是这样的:
<% 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 + ".";
}
}
%>
有什么想法吗?谢谢
正如 Swati 在上面的评论中所说,我以前的代码的问题是没有在 <script>
修改的 <form>
中放置一个隐藏的 <input>
每次按下按钮,每次重新加载页面时分配 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>
每次单击十个按钮中的任何一个时都使用以下方法,方法是调用每个按钮的 onClick 的参数中分配的 btns()
:
<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 {
...
}
}
%>