`
yipbxx
  • 浏览: 60317 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jsp处理表单及JS和JAVA变量互传

阅读更多

原文:http://hi.baidu.com/caiway/blog/item/da5d1bfb16153518a9d3116a.html

1:超连接跳转
      我们在超连接的时候,常常连接到一个jsp或者Action,比如:

XXX

      这样做会有一个问题:在test.jsp中,除你传递的param1和param2参数外,你用request.getParamter()取任何原来页面的表单元素都会为空,这是因为这种方式会产生新的request生命周期,在这个request中只会包含超连接后跟随的?param1这种参数, 因此我的建议是如果不是很简单的页面跳转(比如回登陆页面之类的),尽量不要用这种超连接方式。

2:即传参又提交表单
      如果确实既要像上述第一种方式传参数,又要提交表单的话,可以采取如下方式:

在脚本中如下处理:

function commonSubmit(url)
{
    form1.action="/jsp/managerAction.do?"+url;
    form1.submit();
}

提交到Action和jsp是一样的原理,但要记住 中method=post不能少,否则它只提交表单而不传param参数了(正好和第一种相反:) )

3:js和java变量互传
      在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下:
java变量传给js好办,var a ="<%=javaParam%>";注意要将引号""加上;js变量给java稍微复杂点,一般是在表单中用一个
的隐藏表单元素,然后在脚本中将js变量值赋给它:

var jsParamValue='aaaa';
form1.jsParam.value=jsParamValue;

然后就可以request.getPrameter("jsPrama");来取得js变量值了

4:Action中request不会丢掉
      不知大家有没有注意到这个好处,Struts架构中是由一个ActionServlet来作为MVC的控制器角色,jsp页面提交后request是传到ActionServelt中的, 而ActionServlet将根据struts-config.xml中的配置调用相应的Action的方法,并将从jsp中获得的request传给Action类,这样request的生命周期是连续的,即你在jsp中提交了表单,在Action中执行了方法,再回到jsp页面,用request.getParamter()取jsp页面的表单元素值会发现它还在,这对于页面下拉列表等选择项防止复位是一个很好实现方法。

5:传参时参数有空格的情况
       如果你提交form时带参数,比如form1.action="/jsp/Action.do?param1="+value1,注意如果value1中带有空格的话,你在

Action中request.getParameter("param1");

取得的只是空格前的值,因此如果有这种带空格的参数在传递时,个人建议是将其转化为特定的字符串,value1=value1.replaceAll(" ","%NULL%");
然后在Action中将其转回来:request.getParamter("param1").replaceAll("%NULL%"," ");

6:form-data属性
      如果你要用来上传文件的话,注意在一个表单中如果有enctype="multipart/form-data"属性的话,是不能接收除type=file外的其他表单元素类型的。 即如果你把和放在同一表单中,而该表单有enctype="multipart/form-data"的话,request.getParamter取text的值会为空, 这个问题的最简单的解决方法是将单独放一个表单,上传文件时只提交该表单即可。

7:jsp中开模式对话框的方式
       与Swing中类似,jsp中也有模式对话框这一概念,你可以将一个jsp页面放到一个模式对话框中打开,这样在模式对话框消失前,原jsp页面将不可操作。特别适合父页面中要做一些额外的选择操作,而又没必要跳转到新的jsp页面的时候,
开模式对话框的方式参考如下:

Function open() {
If(window.showModelDialog())
{
      Var returnValue = showModelDialog(“/jsp/模式窗口包含的jsp页面路径”;
               help=0;status=0;center=yes;dialogWidth=100pt;dialogHeight=100pt”);
   }

}


补充:ajax其实就是实时的,在页面不刷新的情况下,将JS变量传到服务器的技术

总结:不能拿JS变量在页面上给java变量赋值,相反可以用var jsParam = "<%=javaParam%>" 将java变量赋值给js变量
分享到:
评论

相关推荐

    JSP中java代码与js之间的传值

    - **通过JSP脚本元素**:在JSP中,可以使用 `&lt;script&gt;` 标签直接输出JavaScript代码,将Java变量的值传递给JavaScript。例如: ```jsp var myValue = "&lt;%= javaVariable %&gt;"; ``` - **通过JSP表达式语言...

    Java (Jsp)制作简单的表单程序

    在这个"Java (Jsp) 制作简单的表单程序"的主题中,我们将深入探讨如何使用JSP来构建一个基本的用户输入表单,并理解其背后的原理和技术。 1. **JSP简介** JSP是Java EE的一部分,它允许开发者在HTML页面中嵌入Java...

    jsp表单制作.rar_html_jsp_jsp 制作表单_jsp开发_jsp表单制作

    2. **JSP表单处理**: - `request.getParameter()`:当表单提交时,JSP通过这个方法获取用户在表单中输入的数据。 - `request.getParameterValues()`:用于获取多个相同name的输入元素的值,如复选框或数组类型的...

    JSP注册表单

    同时,为了用户体验,表单验证最好能在客户端(JavaScript)和服务器端都进行,以减少不必要的服务器交互。 总结来说,JSP注册表单涉及到的知识点包括:JSP基本语法、内置对象的使用、表单数据处理、数据验证、文件...

    java变量和javascript变量之间的传递示例

    在进行Web开发时,尤其是使用JSP技术开发动态网站时,我们常常需要处理服务器端Java变量与客户端JavaScript变量之间的数据交互问题。JSP(JavaServer Pages)是一种用于开发动态网页的技术,它允许我们在HTML页面中...

    java源码:Java (Jsp)制作简单的表单程序.rar

    在这个“java源码:Java (Jsp)制作简单的表单程序”的压缩包中,我们可以预期找到一个基础的JSP表单处理示例。下面我们将深入探讨JSP和如何利用它来构建一个简单的表单应用程序。 **JSP基本概念** 1. **JSP页面...

    jsp源码实例.rar_cookie_javascript cookie_jsp 实例_jsp 搜索_jsp 表单

    在这个名为"jsp源码实例.rar_cookie_javascript cookie_jsp 实例_jsp 搜索_jsp 表单"的压缩包中,包含了五个关于JSP的源码实例,这些实例涵盖了从基本的输出操作到更复杂的cookie管理和搜索引擎功能。以下是这些实例...

    JAVA+JSP

    Java和JSP(JavaServer Pages)是Web开发中常用的技术,它们共同构成了动态网站和Web应用程序的基础。在本文中,我们将深入探讨Java和JSP的相关知识点,以及如何使用它们进行成绩与课程管理。 1. **Java基础知识** ...

    在JS中如何调用JSP中的变量

    在JavaScript (JS) 中调用JavaServer Pages (JSP) 中的变量是一个常见的需求,特别是在构建动态Web应用程序时。这通常涉及到服务器端和客户端代码之间的交互。以下将详细解释这个过程,以及如何在JS中访问JSP定义的...

    面试中常见的有关JAVA和JSP的问题

    【JAVA和JSP面试常见问题解析】 1. **Struts工作原理** Struts是一个用于构建Java ...这些是JAVA和JSP面试中可能遇到的一些常见问题,理解和掌握这些问题的解答对于面试和实际工作中处理Web应用程序的开发至关重要。

    java web实验报告;开发环境及web基础, JSP、Servlet及JDBC、扩展JavaScript

    本实验报告将围绕开发环境的搭建、Web基础知识、JSP(Java Server Pages)、Servlet以及JDBC(Java Database Connectivity)的应用进行深入探讨,并在实验4中涉及JavaScript框架的扩展应用和Web应用的综合设计。...

    基于java和jsp编写的一个网页计算器

    网页计算器是一种利用网页技术实现基本数学运算的应用,它通常由HTML、CSS和JavaScript构建前端界面,而后端则通过Java和JSP处理用户输入的计算请求。在这个项目中,我们将深入探讨如何利用这些技术构建一个简单的...

    适合JSP新手的40个项目代码

    它们允许在页面上嵌入Java代码,用于处理业务逻辑和数据操作。 3. **JSP指令**:如`&lt;%@...%&gt;`,用来配置页面属性,导入Java类,或者定义页面的继承关系。 4. **JSP动作**:如`&lt;jsp:include&gt;`,`&lt;jsp:forward&gt;`,用于...

    JSP的表单处理与Cookie.ppt

    本篇内容主要涵盖了JSP中关于表单处理和Cookie管理的关键概念。 ### 7-1 JSP状态管理的基础 #### 7-1-1 HTTP协议的特性 HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议。它的主要特性包括: - **非...

    java+jsp+JScript技术组件源码整理

    - **脚本元素**:JSP有三种脚本元素——声明、脚本let和表达式,分别用于声明变量、执行Java代码和输出数据到页面。 - **指令和动作**:JSP指令(如page、include、taglib)和动作(如jsp:include、jsp:forward)...

    过滤出java中的sql,js中的javascript

    在编程世界中,Java是一种广泛使用的面向对象的编程语言,而SQL(结构化查询语言)是用于管理和处理数据库的标准语言。JavaScript,另一方面,是用于网页动态效果和客户端数据处理的脚本语言。当我们谈论“过滤出...

    jsp图片特效处理例子

    9. **响应式设计**:考虑到不同设备的屏幕尺寸,使用媒体查询(Media Queries)和适应性图片技术确保图片在不同设备上能正确显示和处理。 10. **安全性**:处理用户上传的图片时,必须考虑安全问题,例如防止文件...

    JSP 网页计算器

    - 利用`&lt;jsp:useBean&gt;`和`&lt;jsp:setProperty&gt;`处理对象实例化和属性设置。 在这个项目中,你会学习到如何处理用户输入,进行计算,以及如何在多个页面间传递数据。这有助于理解HTTP请求和响应的工作流程,以及JSP和...

    java+jsp+JScript技术组件Java源码

    JSP文件包含JSP指令、脚本元素和表达式,这些元素在服务器处理时会被转换成JavaServlet代码,然后编译执行。通过JSP,开发者可以轻松地实现数据的显示和用户交互,同时利用Java的强大功能。 JScript,虽然名字中带...

    jsp 文件管理器.rar_jsp_jsp 文件_jsp文件_文件管理

    2. **上传文件**:JSP文件管理器通常会提供一个表单让用户选择本地文件并将其上传到服务器。 3. **下载文件**:用户可以点击文件名来下载文件到本地。 4. **删除文件/文件夹**:用户可以选择不再需要的文件或...

Global site tag (gtag.js) - Google Analytics