当前位置:  技术问答>java相关

关于在jsp和servlet间多次传值的问题,欢迎讨论

    来源: 互联网  发布时间:2015-10-05

    本文导语:  jsp中有两个form,分别是form1,form2,要求form1填写一次,form2填写多次,首先填form1,然后form2,这时点提交sbt按钮,将form1和form2的值传给servlet,servlet返回jsp,这时form1中有servlet传回的上次填的form1的值,然后再填form2,提交...

jsp中有两个form,分别是form1,form2,要求form1填写一次,form2填写多次,首先填form1,然后form2,这时点提交sbt按钮,将form1和form2的值传给servlet,servlet返回jsp,这时form1中有servlet传回的上次填的form1的值,然后再填form2,提交,最后一次点完成fns按钮,提交form1和form2给servlet.

这个过程可以有几种实现方法,有什么有缺点,欢迎讨论。

|
可以在jsp和servlet中个设个Vector,jsp每传一个form2,就存在servlet中的Vector中,返回jsp时将Vector传回,保存在jsp中,然后jsp提交servlet,将新的form2存在vector中.就是用vector存信息,通过把vector当参数传递来保存vector。
还有就是可以用session

|
我的想法:

form1的内容如果在每个页面都需要,可以考虑把它存在session中,就是说第一次提交后,判断如果session中没有这个valuebean,则保存,以后只需让jsp页从session取这个valuebean显示即可。

于是,jsp页就当成一个只包含form2的页面来处理,应该不难了。


|
form2的多次提交问题我觉得可以这样:

每次提交后存在session中,最后一次再写到DB中。

如果是用EJB来实现,可以用有状态的会话bean,很方便。

或者也可以用JDBC的事务来处理,设置它不是自动commit,然后手工提交,每次都insert,但直到最后才commit。

不知道你觉得哪种比较合适?

|
我觉得可以给form2一个专门的值Bean,放在Servlet中,每次提交后都把form2提交的内容写入值Bean,等到最后由Servlet将这个值Bean内的数据一起写到DB中去。
BTW:为什么要多次提交form2呢?我觉得应该可以没提交一次就往数据库里写一次吧。

|
从你的程序和描述的现象看,是有些奇怪。因为即便是插入相同的对象,vector的size也会增加的。
感觉上象是,每次都没有从session中取到保存的vector,所以每次都是新建的m2PortVector,因此vector的size就是1。
你可以增加这样的系统输出看看:
if(session.getAttribute("vector")!=null)
    {
      m2PortVector=(Vector)session.getAttribute("vector");
      //add:
      System.out.println("Get m2PortVector from Session(Id:"+session.getId()+"). The size is:"+m2PortVector.size());

    }
首先,你看看有没有这句输出,如果有,再看看Session的Id是否相同;最关键是看看每次vector的size到底有没有增加!

另外你的serial有什么意义啊?每次的初值都是0,然后加1存入(没有起到累加的作用)。

|
这个问题你也可以JScript + DHtml 实现。

用JScript在客户端生成一颗DOM树,附表录入的每一条数据都先保存在客户的DOM树中,也可以将主表信息保存在同一颗DOM树中。最终提交时:可以以XML文件的方式提交,也可以以字符串的形式提交。
到后台,对这颗树进行解析。数据同时保存在数据库中。

这样做的优点在于:
1、录入的附表数据在未提交之前可以方便修改和删除。
2、数据便于管理。

|
为什么要自找麻烦呢,把fore1,与form2 分开到两个不同的jsp叶面不好吗?

|
1。既然每次都要既提交form1又form2,为何不合并?
2。开始不提交form1,最后finish时候,才提交,考虑用javascript进行控制

|
把2个form写在一个jsp文件中可以用javascript实现
function test1{
document.form1.action="/tech-qa-java/1.html";
document.submit;
}
function test2{
document.form2.action="/tech-qa-java/2.html";
document.submit;
}

|
这可以变通嘛:就是这个JSP页面中的FORM 提交给自己。这个JSP再把数据保存在SESSION中。如果FORM提交时数据已经输入完,JSP就转到下一个JSP页,
这下个JSP页中SESSION中取数据,并且保存起来,这就完成了数据处理

|
这么长,头晕。

你说只能看到最后一次的记录,可能的原因是:

在每次提交后你没有创建新的元素加入,Vector的add只是加引用,如果你每次用同一个对象,当然是只有一个元素了。

是不是作为servlet的全局了?是不是没有new一个对象再加入,等等,还是你自己看一下吧。


-----------
我是燕赤霞,替人办事是要收钱的。

|
大体上看了你的code 想问一下:如果你是在form2中每提交一次就调用一次这个servlet(也就是说新建了一个Vector的对象m2PortVector,虽然都叫
m2PortVector,但事实上没调用一次servlet,就新建了一个。没有对先前的进行存储。具体如何解决,就看看老前辈的办法吧。

    
 
 

您可能感兴趣的文章:

  • 请问做jsp和servlet的朋友,有没有工具可以提供jsp,servlet单布编译执行的
  • 在jsp页面加载时自动调用某个特定的servlet,由servlet查询数据库输出WEB页面返回给jsp显示?
  • servlet什么时候用?有了jsp+javabean,为什么还要用servlet??
  • jsp+JavaBean vs jsp+Servlet+JavaBean
  • servlet使用RequestDispatcher到jsp页面,浏览器url栏还是servlet
  • jsp+javabean与jsp+servlet+javabean的区别是什么?
  • jsp/servlet配置的小问题,如何添加servlet包
  • 在编译使用扩展标签的java文件时,得到package javax.servlet.jsp does not exist,package javax.servlet.jsp does not exist的错误
  • 求教:在servlet中设定的cookie,为何在jsp中得不到值,但在别的servlet中能得到?
  • 得分套餐(32分):8。用TOMCAT时JSP表单提交信息给SERVLET处理时,“FORM ACTION=”后的SERVLET文件路径写什么?
  • 请教:servlet如何调用jsp页面或者servlet????
  • 详细说一说jsp+javabean和jsp+servlet的优缺点,现在最常用那种方式,?
  • servlet和jsp的区别
  • 为什么我在jsp页面用 "/servlet/goto.servlet?setname=中文",如果就这样传过去,在servlet里面得到的将是setname=null,如果传其他则可
  • servlet与JSP各有什么特点?
  • 关于jsp+servlet+javaBean结构?
  • 我在书上看到:“JSP页面最终都要编译成SERVLET 才能执行” 那么我自已可以写SERVLET 吗?如果能,又怎样运行它呢 ?
  • JSP和servlet有什么区别???
  • servlet对jsp有什么影响?
  • 学JAVA是先学JSP还是SERVLET?
  • JBuilder运行JSP的问题,一次只运行一个JSP页面
  • 用tomcat作为jsp服务器,如何解决jsp中的汉字显示问题?
  • jbuilder中编译jsp(included by 另一个jsp文件)的一个问题??
  • 向大家求教一个问题!(好像挺难的!不过也不一定,因为我才学jsp不久,是个jsp低手!)
  • 一个JSP问题:请问如何得到document.referrer内容?我想知道连到A.jsp页面的用户从何处链接来得。
  • 高分问菜问题:怎么在JSP里包含其他JSP文件?
  • 用JB7开发JSP,遇到配置问题.用什么工具开发JSP又快又方便?
  • 各位高手:jsp文件包含jsp文件时的中文问题
  • 最后30分,用jsp中连接过informix的jsp高手请进来看看这个问题,好么?55555
  • 关于jsp调用javabean的问题!调用是成功了,但是有小问题!
  • jbuilder中jsp问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大家来讨论,jsp和Servlet?
  • 要开发unix下的jsp程序,请大家进来讨论一下。
  • 请大家讨论一下 JSP && JavaBean && Servlet 的调试解决方案
  • 小问题,讨论者给分!!!http://www.webappcabaret.com的JSP空间是否不支持Application与Session???
  • 关于用jsp画图大讨论!!
  • 大讨论:参数传递问题(javascript,jsp,html)
  • oracle+jsp 多用户查询系统讨论:
  • 讨论:调试jsp程序的经验!
  • 欢迎讨论:JSP+SQL Server+Apache建立一个Web服务器有什么值得注意的问题?(之二)
  • 欢迎讨论:JSP+SQL Server+Apache建立一个Web服务器合适吗,有什么值得注意的问题?
  • 讨论一下,从JavaBean返回结果集到jsp页面的方法
  • 讨论jsp,javabeans,servlet!
  • 大家讨论一下JSP技术开发的模式?
  • 技术大讨论!!为JSP开发上传组件!!!!可是我原创作品哦,希望能对一些人有些帮助,也希望高手指点
  • 诚邀讨论:JSP中怎样判断回车字符,并将其替换为"<br>"??
  • 讨论下数据库连接池的东东如何?(JSP+JavaBean+Oracle)有赏!
  • jsp里面使用xml的技术(讨论)
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp/servlet配置的小问题,如何添加servlet包 iis7站长之家
  • 初学jsp,一个html调用一个jsp,这个jsp调用一个javaBean,已编译成类,最后如何部署(用j2sdkee)?
  • 我要学jsp,已经下载了j2ee1.4,需要一个支持jsp引擎的WEB服务器或jsp引擎!!(急,马上给分)
  • jsp中相对路径怎么表示?例如当前目录下的jsp目录里的文件。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3