我正在尝试仅使用Jsp代码重定向到另一个jsp页面。
的index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Testing</title>
<script>
function vali()
{
var name= document.for.name.value;
if(name!="")
{
window.location.("page2.jsp");
}
else{
alert("enter name");
}
}
</script>
</head>
<body>
<form name="for">
<table>
<tr><td>Enter name:</td>
<td><input type="text" name="name" value=""></td>
</tr>
<tr><td>
<input type="button" value="click" onclick="vali()">
</td>
</tr>
</table>
</form>
</body>
</html>
page2.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Page2 welcomes u</h1>
</body>
</html>
这段代码工作得非常好,但我只是尝试用jsp而不使用javascript。
我试过了
<%
String name = request.getParameter("name");
if(name!=null){
response.sendRedirect("page2.jsp");
}
%>
但它不起作用,它会在页面加载后重定向页面。 请帮助解决一些代码
答案 0 :(得分:0)
使用&#34;表单名称=&#39;用于&#39;行动=&#39; page2.jsp&#39;&#34;和按钮提交重定向页面
答案 1 :(得分:0)
你必须放入jquery / javascript
window.location.href =“page2.jsp” 要么 在表单动作参数值中需要设置
并更改按钮类型提交。
或将表单赋予id和document.getelementbyid(formid).submit();
答案 2 :(得分:0)
在index.jsp中添加此代码:
<%
if( request.getMethod().equals("POST")) {
String name = request.getParameter("name");
if( name != null && name.length() != 0 )
response.sendRedirect("page2.jsp");
else
%>
<script>
alert("enter name please");
</script>
<%
}
%>
还可以像这样更改您的表单
<form method="post">
<table>
<tr><td>Enter name:</td>
<td><input type="text" name="name" value=""></td>
</tr>
<tr><td>
<input type="submit" value="click">
</td>
</tr>
</table>
</form>
答案 3 :(得分:0)
替换下面的代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Testing</title>
<script>
function vali() {
var name = document.for.name.value;
if (name != "") {
return true;
} else {
alert("enter name");
return false
}
}
</script>
</head>
<body>
<form name="for" action="page2.jsp" onsubmit="return vali();">
<table>
<tr>
<td>Enter name:</td>
<td><input type="text" name="name" value=""></td>
</tr>
<tr>
<td><input type="submit" value="click"></td>
</tr>
</table>
</form>
</body>
</html>
这里我在表单提交上调用了validate函数,它将基于validation返回true或false。仅当函数返回true时才提交表单。这里Javascript仅用于验证。
答案 4 :(得分:0)
使用
<%=request.getRequestDispatcher("<path to another page>").forward(request, response)%>
关于您要转发到其他网页的操作
尝试后,我在不使用scriptlet的情况下运行代码
<form name="for">
<table>
<tr><td>Enter name:</td>
<td><input type="text" name="name" value=""></td>
</tr>
<tr>
<td>
<input type="button" value="click" onclick="
window.location = 'page2.jsp'">
</td>
</tr>
</table>
</form>
答案 5 :(得分:0)
试试这个:
<%
String name = request.getParameter("name");
if(!name.equals("") || name.length() != 0){
response.sendRedirect("page2.jsp");
}
%>
答案 6 :(得分:0)
你只需要使用&#39; action&#39;在表格标签。这很简单。
<form action="page2.jsp" method="post">
<input type="submit" value="Click Here"/>
</form>
输入类型应为&#34;提交&#34;但您可以根据需要更改值。