当前位置:编程学习 > JAVA >>

JSP+Servlet中form表单传递求教!!

我们这学期的实训项目是BSS结构的项目开发,有很多地方没听明白,想问下高手在FORM表单传递的时候是怎么调用的。。。附代码求教各位。。。谢谢各位拉!!!!

老师给的JSP表达层的代码有这么一句document.user.submit();这个submit是负责form表单的提交
老师给的form是这么写的

<form name="user" method="POST"action="<%=docRoot%>/servlet/UserServlet?opraParam=insert">

下面就是一些按钮和text文本框
这里面的<%=docRoot%>表达式我一直不理解,在JSP上面还有这样一段代码

<%
String docRoot = request.getContextPath();
%>
<html>
<head>
<link rel="stylesheet" href="<%=docRoot%>/css/style.css" type="text/css">
<link rel="stylesheet" href="<%=docRoot%>/css/home.css" type="text/css">
<link rel="stylesheet" href="<%=docRoot%>/css/form.css" type="text/css">

我自己也写了一个类似的form,如下:

<%
String docRoot = request.getContextPath();
%>

<form method="post" name="LogIn" action='<%=docRoot%>/Servlets/Servlet?opraParam=LogIn"'>

中间还有一部份系统生成的。。没有粘贴。。。我的这个在提交表单的时候就不会进入到servlet中去,这个form里面的method我知道是表单提交方式,name和action具体的意思和怎么写。。就不知道怎么弄了。。。!!求各位指教!!


--------------------编程问答-------------------- '<%=docRoot%>/Servlets/Servlet?opraParam=LogIn"'>
是多了个双引号吧

<%=docRoot%>获取的是项目名称,我记得新建MyEclipse新建jsp的时候就有两句,为什么还要自己写一句

servlet/UserServlet,这个是servlet的映射地址,每个映射对应一个servlet,可以到web.xml里面去查看,建议你多看看书吧 --------------------编程问答-------------------- <form name="user" method="POST"action="<%=docRoot%>/servlet/UserServlet?opraParam=insert">我把老师的这个代码的
name="user"改成name="user1"整个执行就不对了这个name和servlet有什么联系?
我在看Java servlet简明教程有问题就问出来了。。。

--------------------编程问答-------------------- 你通过表单交的数据在servlet接受数据的时候用的就是这个name ,你改了这个名字就接收不了了,除非你后面接收的时候的名字也改掉 --------------------编程问答-------------------- action指的是你提交的数据要提交到哪里去?可以是一个jsp,servlet,action等
name只是给你的form取个名字 方便你在javascript中使用 --------------------编程问答-------------------- 弱弱地问下什么是BSS结构? --------------------编程问答-------------------- <%=docRoot%>/Servlets/Servlet?opraParam=LogIn
这种东西怎么看上去不大美观
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<c:url value="/Servlets/Servlet?opraParam=LogIn" /> --------------------编程问答-------------------- name和action具体的意思和怎么写
name 是那个表单的名称,action 是通过submit按钮,是要掉转的地址
而且你那个action哪里写错额。要双引号 --------------------编程问答-------------------- 用个strust框架吧,很好做的
--------------------编程问答-------------------- name只是表单名而已,action是提交表单到某个servlet,jsp等地方 --------------------编程问答-------------------- see you too
引用 3 楼 larry3306 的回复:
你通过表单交的数据在servlet接受数据的时候用的就是这个name ,你改了这个名字就接收不了了,除非你后面接收的时候的名字也改掉
--------------------编程问答-------------------- 估计还没有学strust 框架
引用 8 楼 wuda236556254 的回复:
用个strust框架吧,很好做的
--------------------编程问答-------------------- name="LogIn"是你这个from的名称,你可以用document.getElementsByName()得到这个对象,action='<%=docRoot%>/Servlets/Servlet?opraParam=LogIn"',指的是你要提交的你的那个servlet里面,你要提交你的表单可以这样写:document.LogIn.submit();或者document.getElementsByName(“LogIn”).submit(),表单就提交到你的action里面写的路径的servlet去了 --------------------编程问答-------------------- name是表单from的名字。action,是表单提交到的地方。如果要直接提交到一个servlet,那么你要修改一下web.xml里面关于servlet的配置,以便系统能正确找到你想要提交到的servlet。 --------------------编程问答--------------------
引用 6 楼 hanpoyangtitan 的回复:
<%=docRoot%>/Servlets/Servlet?opraParam=LogIn
这种东西怎么看上去不大美观
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<c:url value="/Servlets/Servlet?opraParam=LogIn" />

servlet都没懂呢,再让他用标签,估计得晕 --------------------编程问答-------------------- document.user.submit();
相当于加一个typt="submit" onsubmit=""的按钮控件
如果说document.user.submit();相当于document.getElementById("user").onsubmit="";或许你就懂了 --------------------编程问答-------------------- document.forms[0].submit();
forms[0]---->[0] 指的是第几个form,从0开始  依次类推
   意思够明白吧 --------------------编程问答-------------------- document.user.submit(); 这句话的意思 就是 name 为 user 的 表单提交  你 form name 改为 user1 当然就不好使了  --------------------编程问答-------------------- 学jsp之前好好学servlet,servlet学好了,jsp两三天就会了 --------------------编程问答-------------------- --------------------编程问答-------------------- name没多少作用,随便怎么起都可以,它的作用范围就这这个jsp页面。
action里面的值也是随便起的,但是,它必须跟web.xml配置文件里面,配置servlet的标签<url-pattern>保持一致。 --------------------编程问答-------------------- <form action="servlet/SystemManage" method="post">
 <input type="test" name="user" value="" />  //文本框
 <input type="submit" value="提交按钮" />   //按钮框
</form>
运行好后.页面上会显示一个文本框和一个按钮框
action是你要跳转的Servlet路径..method有2种提交方式.Get和Post
在Servlet页面,在你传入的Post里编译代码.
首先你要取得你从form传递过来的值.input里面的name
用String user =  request.getParameter("user") 取得user的值
后面就看你自己怎么运用了

--------------------编程问答-------------------- 弱弱的问下,这个bss架构对应的是不是css架构呢?
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,