Java 两个表单,但只有一个jsp文件
这就是我要说的。我有一个.jsp文件。但是,我有两个表单,其中包含多个输入 检测一个表单已提交但另一个表单未提交的最佳方法是什么?这里有一个例子:我有这个表格:Java 两个表单,但只有一个jsp文件,java,html,jsp,forms,Java,Html,Jsp,Forms,这就是我要说的。我有一个.jsp文件。但是,我有两个表单,其中包含多个输入 检测一个表单已提交但另一个表单未提交的最佳方法是什么?这里有一个例子:我有这个表格: <form name = "login" action="index.jsp" method="get"> Username: <input id="username" name="username" type="text"/><br/> Password: <input id="passwo
<form name = "login" action="index.jsp" method="get">
Username: <input id="username" name="username" type="text"/><br/>
Password: <input id="password" name="password" type="password"/>
<input type="submit" Value="Login" ></input>
</form>
用户名:
密码:
如果单击该按钮,我希望运行以下代码:
String username = request.getParameter("username");
String password = request.getParameter("password");
if((username!= null && !username.trim().equals("")) && (password != null && !username.trim().equals(""))) {
DBentry DBentry=new DBentry();
boolean flag = DBentry.isTaken(username);
if(flag) {%><script type="text/javascript">alert("Login Successful!");</script><%
}
else { %><script type="text/javascript">alert("Unrecognized username. Please register!");</script><% }
}
else { %><script type="text/javascript">alert("Please enter both a username and password!");</script><% }
stringusername=request.getParameter(“用户名”);
字符串密码=request.getParameter(“密码”);
如果((username!=null&&!username.trim().equals(“”)&&&(password!=null&&!username.trim().equals(“”)){
DBentry DBentry=new DBentry();
布尔标志=DBentry.isTaken(用户名);
如果(标志){%>alert(“登录成功!”);alert(“无法识别的用户名。请注册!”);alert(“请同时输入用户名和密码!”);您可以在操作上传递不同的参数,例如action=“index.jsp?form=userlogin”和其他参数
在其中一个表单的表单字段变量列表中添加一个带有某个值的隐藏变量。在JSP中,检查该值是否已填充。如果填充意味着提交第一个表单,否则提交第二个表单。例如:
<form name = "login" action="index.jsp" method="get">
Username: <input id="username" name="username" type="text"/><br/>
Password: <input id="password" name="password" type="password"/>
<input type= "hidden" name="myform" value="form1"/>
<input type="submit" Value="Login" ></input>
</form>
用户名:
密码:
为提交按钮指定一个唯一的名称。它将成为请求参数名称。这样,您只需检查HttpServletRequest#getParameter()
是否未返回null
例如
...
与
与具体问题无关,业务逻辑属于JSP,但属于a。我也将开始研究这个问题。这使您能够将表单提交到不同的URL。此外,您应该使用POST方法,而不是GET方法。从另一个问题复制了这个方法,希望它能有所帮助 例如,您可以简单地通过javascript调用servlet方法 在提交按钮中,我只使用name属性
<li class="button-row">
<input type="submit" value="ADD" id="add"class="btn-submit img- swap" name="add" />
<input type="submit" value="Delete" class="btn-delete img-swap" name="delete" />
<input type="submit" value="Update" class="btn-update img-swap" name="update" />
<input type="submit" value="Search" class="btn-search img-swap" name="search" />
</li>
您可以通过提交标记名在javascript中使用多个方法调用单个servlet,如下所示
<script type="text/javascript">
var frm = document.forms[0];
if (request.getParameter("add") != null) {
var pageName = "/DepartmentServlet?method=add"
frm.action = pageName;
frm.submit();
}
else if (request.getParameter("delete") != null) {
//likewise you can call your other method from DepartmentServlet
//Even you can pass parameter by onClick event
// Invoke action 2.
}
else if (request.getParameter("update") != null) {
// Invoke action 3. }
</script>
var frm=document.forms[0];
if(request.getParameter(“add”)!=null){
var pageName=“/DepartmentServlet?method=add”
frm.action=页面名称;
frm.submit();
}
else if(request.getParameter(“delete”)!=null){
//同样,您可以从DepartmentServlet调用其他方法
//甚至可以通过onClick事件传递参数
//调用行动2。
}
else if(request.getParameter(“update”)!=null){
//调用操作3}
感谢您的回复。这看起来是与我最相关的一个程序-我稍后会试一试!再次感谢。效果很好-应该可以使用它。对于您在JSP中的业务日志上的注释,这是有道理的,但第一个程序是我们的讲师提供的示例程序,他就是这样做的安排好了,我现在就开始。不客气。祝你学习JSP/Servlet好运。希望你没有收到严重过时的学习材料,你会走上正确的方向。我现在正处于学习JSP的阶段,早上6点醒来,因为我对它感到非常失望,我想完成我交给m的作业爱我的生活!你为什么给我负面评价:(!
<script type="text/javascript">
var frm = document.forms[0];
if (request.getParameter("add") != null) {
var pageName = "/DepartmentServlet?method=add"
frm.action = pageName;
frm.submit();
}
else if (request.getParameter("delete") != null) {
//likewise you can call your other method from DepartmentServlet
//Even you can pass parameter by onClick event
// Invoke action 2.
}
else if (request.getParameter("update") != null) {
// Invoke action 3. }
</script>