1:超连接跳转
我们在超连接的时候,常常连接到一个jsp或者Action,比如:
XXX
这样做会有一个问题:在test.jsp中,除你传递的param1和param2参数外,你用request.getParamter()取任何原来页面的表单元素都会为空,这是因为XXX在脚本中如下处理:
function commonSubmit(url)
{
form1.action="/jsp/managerAction.do?"+url;
form1.submit();
}
提交到Action和jsp是一样的原理,但要记住 中method=post不能少,否则它只提交表单而不传param参数了(正好和第一种相反:) )
2: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变量值了
3:Action中request不会丢掉
不知大家有没有注意到这个好处,Struts架构中是由一个 ActionServlet来作为MVC的控制器角色,jsp页面提交后request是传到ActionServelt中的, 而ActionServlet将根据struts-config.xml中的配置调用相应的Action的方法,并将从jsp中获得的request传给Action类,这样request的生命周期是连续的,即你在jsp中提交了表单,在Action中执行了方法,再回到jsp页面,用request.getParamter()取jsp页面的表单元素值会发现它还在,这对于页面下拉列表等选择项防止复位是一个很好实现方法。
4:传参时参数有空格的情况
如果你提交form时带参数,比如form1.action="/jsp/Action.do?param1="+value1,注意如果value1中带有空格的话,你在
Action中request.getParameter("param1");
取得的只是空格前的值,因此如果有这种带空格的参数在传递时,个人建议是将其转化为特定的字符串,value1=value1.replaceAll(" ","%NULL%");
然后在Action中将其转回来:request.getParamter("param1").replaceAll("%NULL%"," ");
5:form-data属性
如果你要用来上传文件的话,注意在一个表单中如果有enctype="multipart/form-data"属性的话,是不能接收除type=file外的其他表单元素类型的。 即如果你把和放在同一表单中,而该表单有enctype="multipart/form-data"的话,request.getParamter取text的值会为空, 这个问题的最简单的解决方法是将单独放一个表单,上传文件时只提交该表单即可。
6: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”);
}
}
分享到:
相关推荐
- 对于`POST`请求,可以在请求处理之前调用`request.setCharacterEncoding("UTF-8")`,确保表单提交的数据正确解析。 - 对于`GET`请求,可以通过自定义方法(如上面示例中的`stringFormat`)进行编码转换处理。 3...
本文将通过一个简单实例,讲解如何在JavaScript中获取JSP表单中单选按钮(radio)类型的值。 首先,我们需要了解单选按钮(radio)在HTML表单中的基本用法。单选按钮允许用户在一组选项中选择一个值,它通常使用`...
在处理包含汉字的表单提交信息时,为了正确获取汉字,需要在JSP页面中设置字符编码。例如,使用`request.setCharacterEncoding("gb2312")`来设定请求的编码为GB2312,确保汉字能被正确解析。 禁用缓存功能是防止...
在这个“jsp唯美登录界面”项目中,开发者可能利用了JSP的特性,如JSP指令、脚本元素、表达式等,来处理用户输入,验证登录信息,并与后台数据库进行交互。例如,可能使用了JSP内置对象`request`来获取表单提交的...
- **处理表单数据**: JSP引擎将request对象中的数据传递给服务器端组件(如JavaBeans、Servlet或Enterprise Bean),组件可以处理这些数据,例如存储到数据库,然后返回一个响应(`HttpServletResponse`对象,简称...
6. **表单处理**:JSP页面中包含HTML表单,用于收集用户输入,这些数据会被发送到服务器进行处理。理解和掌握HTTP请求方法(GET和POST)的区别以及如何在JSP中处理表单数据是重要的。 7. **错误处理与异常处理**:...
综上所述,直接在JSP中实现头像上传涉及到前端表单设计、后端Servlet处理以及文件存储等多个环节。通过学习和实践这些知识点,开发者可以构建出功能完善的文件上传系统。在这个例子中,"UpFile"可能指的是实际上传的...
本示例关注的是如何在使用JSP(JavaServer Pages)时实现文件上传并显示进度条,这对于用户交互体验至关重要,特别是处理大文件时。下面我们将详细探讨这个主题。 首先,`upfile.jsp`是一个关键文件,它包含了处理...
动态表单在Struts中扮演着关键角色,它允许开发者根据用户需求动态地生成和处理表单数据。 标题"Struts动态表单案例"意味着我们将探讨如何在Struts中创建和管理动态表单,这种表单可以根据服务器端的数据或用户的...
在JSP中,可以使用`session.setAttribute()`方法来实现这一点。 5. **响应输出**:最后,将生成的图片以JPEG或PNG格式输出到HTTP响应中。JSP可以使用`response.setContentType()`来设置内容类型,并使用`response....
在Java Web开发中,JSP(JavaServer Pages)常被用来处理这种交互。本节将深入探讨如何在JSP中实现一个限定后缀名的文件上传功能。 首先,我们需要了解JSP的基本原理。JSP是一种动态网页技术,它结合了HTML和Java...
JSP的`session`对象可以帮助我们实现这一点,例如`session.getAttribute()`和`session.setAttribute()`用于读写会话中的数据。 5. **数据库连接与操作**:为了存储和检索职工信息,通常需要与数据库进行交互。JSP...
例如,当用户提交表单时,表单数据会作为请求参数发送到服务器,然后由服务器处理这些数据并可能更新数据库。另一方面,会话可以用来存储用户的登录状态,确保用户在浏览不同页面时仍然保持登录。 项目可能还涉及到...
5. **服务器端处理**:当用户提交表单时,编辑器的内容通常会作为表单数据的一部分发送到服务器。在JSP中,你可以使用`request.getParameter()`方法来获取编辑器内容,然后进行进一步的处理或存储。 6. **图片上传...
JSP可以通过条件语句来实现这一点,根据服务器端的验证结果向用户显示错误消息。 6. **图片素材** "项目源码 图片素材 都有"意味着除了源代码之外,还包括了用于设计界面的图像资源。这些可能包括登录按钮、背景图...
系统的界面友好性主要体现在用户交互设计上,它通常包括清晰的导航、直观的表单和响应式布局,确保用户在不同设备上都能轻松使用。为了实现这一点,开发者可能使用了HTML、CSS和JavaScript来构建前端,同时结合AJAX...
在处理复杂的表单提交时,Spring MVC 提供了多种解决方案。本文将深入探讨Spring MVC3在处理复杂表单场景下的最佳实践。 首先,我们要理解什么是复杂表单。复杂表单通常涉及到多个关联对象的提交,比如用户信息与...
通常,JSP页面会包含一个Servlet或控制器来处理POST请求,这在EXTJS的异步上传中尤为常见。这些控制器会读取上传的文件,可能进行一些验证,然后将文件保存到服务器的指定位置。 上传过程中,EXTJS通常使用AJAX进行...
当用户完成选择后,可以使用AJAX来提交表单数据给服务器端处理,而不是通过传统的表单提交方式。这种方式的好处是可以实现异步提交,提高用户体验。 ```javascript function submitForm() { var xhr = new ...