超连接跳转
我们在超连接的时候,常常连接到一个jsp或者Action,比如:
strUrl?param1=Val1¶m2=Val2
这样做会有一个问题:在test.jsp中,除你传递的param1和param2参数外,你用request.getParamter()取任何原来页面的表单元素都会为空,这是因为这种方式会产生新的request生命周期,在这个request中只会包含超连接后跟随的?param1这种参数, 因此我的建议是如果不是很简单的页面跳转(比如回登陆页面之类的),尽量不要用这种超连接方式。
即传参又提交表单
如果确实既要像上述第一种方式传参数,又要提交表单的话,可以采取如下方式:
在脚本中如下处理:
function commonSubmit(url)
{
form1.action="/jsp/managerAction.do?"+url;
form1.submit();
}
提交到Action和jsp是一样的原理,但要记住 中method=post不能少,否则它只提交表单而不传param参数了(正好和第一种相反)
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变量值了
Action中request不会丢掉
不知大家有没有注意到这个好处,Struts架构中是由一个ActionServlet来作为MVC的控制器角色,jsp页面提交后request是传到 ActionServelt中的, 而ActionServlet将根据struts-config.xml中的配置调用相应的Action的方法,并将从jsp中获得的request传给 Action类,这样request的生命周期是连续的,即你在jsp中提交了表单,在Action中执行了方法,再回到jsp页面,用 request.getParamter()取jsp页面的表单元素值会发现它还在,这对于页面下拉列表等选择项防止复位是一个很好实现方法。
传参时参数有空格的情况
如果你提交form时带参数,比如form1.action="/jsp/Action.do?param1="+value1,注意如果value1中带有空格的话,你在
Action中request.getParameter("param1");
取得的只是空格前的值,因此如果有这种带空格的参数在传递时,个人建议是将其转化为特定的字符串,value1=value1.replaceAll(" ","%NULL%");
然后在Action中将其转回来:request.getParamter("param1").replaceAll("%NULL%"," ");
form-data属性
如果你要用来上传文件的话,注意在一个表单中如果有enctype="multipart/form-data"属性的话,是不能接收除 type=file外的其他表单元素类型的。 即如果你把和放在同一表单中,而该表单有enctype="multipart/form-data"的话,request.getParamter取 text的值会为空, 这个问题的最简单的解决方法是将单独放一个表单,上传文件时只提交该表单即可。
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”);
}
}
分享到:
相关推荐
1. JavaScript的基本概念:这本书可能首先介绍了JavaScript的基本概念,比如它的历史、特点、与其他编程语言的关系以及它在现代Web开发中的地位和作用。 2. 核心JavaScript语言: - 词法结构:包括JavaScript程序...
在"客户端环境中的Web开发"中,JavaScript主要用于处理用户输入、动态更新内容、创建动画、实现AJAX异步通信以及与Web API交互。学习JavaScript时,你需要掌握变量、数据类型、控制结构、函数、对象、原型链、闭包、...
6. Web开发技巧:表单处理、数据验证、安全性考虑、性能优化等。 7. 实际案例分析:通过具体案例,让初学者了解如何整合PHP和MySQL,开发实际项目。 此外,由于书籍的描述中并未提供关于内容的详细摘录,所以以上...
JavaScript是一种轻量级、解释型或编译型的编程语言,主要用于网页和网络应用开发,它可以操作DOM(文档对象模型),实现动态内容、表单验证、AJAX(异步JavaScript和XML)以及各种复杂交互功能。 JavaScript知识点...
- **`<button>`**: 定义按钮,通常用于提交表单或执行JavaScript函数。 - **`<select>`**: 定义下拉列表。 - **`<optgroup>`**: 定义下拉列表中的选项组。 - **`<option>`**: 定义下拉列表中的单个选项。 - **`...
JavaScript的核心概念包括变量、数据类型(如基本类型:字符串、数字、布尔值,以及引用类型:对象)、操作符(如算术、比较、逻辑操作符)、控制结构(如条件语句if...else、循环for、while等)、函数以及函数作为...
5. **Asset**:管理静态资源,如CSS、JavaScript和图片,可以实现版本控制和CDN集成。 **最佳实践** 1. **依赖注入**:利用服务容器进行依赖注入,可以使代码更易于测试和扩展。 2. **代码规范**:遵循PSR标准,...
11. `<bdo>`: 用于定义文字方向,特别是在处理右到左的文本语言时。 12. `<big>`: 不推荐使用,用于设置大号文本,应使用CSS的`font-size`属性。 13. `<blockquote>`: 用于插入长的引用或摘录。 14. `<body>`: ...
Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web开发框架,它遵循“Don't Repeat Yourself”(DRY)原则和“Convention over Configuration”(CoC)理念,使得开发者能够高效、简洁地构建功能丰富的Web...