表单开发的一些细节技巧(jsp+js)
来源:互联网 发布:国内cms排行 编辑:程序博客网 时间:2024/05/20 05:22
在写和小雨一起的程序的时候,因为相对来说是比较系统的一个项目,我在里面主要做页面设计这一块,所以需要涉及到html的表单开发,还有js的一些判断,下面把具体遇到的内容说一下:
完成EncodingFilter类的编写后,系统还无法识别,必须将其在web.xml中进行配置,配置很简单,即在web.xml这个文件最后加入如下代码
1.首先就是令人头疼的乱码问题,这里我一共是遇到了两个地方的乱码,一个是开发工具myeclipse本身的编码格式,这里就需要Window里面的属性,改变编码格式,具体步骤百度经验即可,这里就不再赘述了。
其实关键的还是传参的乱码的问题,即从servlet到jsp的地方,显示在jsp页面上是乱码,这里就要改参数的乱码形式,有多种方法,比如直接在jsp页面里敲入两行改变编码格式的代码,另一种方法就是写过滤器,过滤器可以改变该工程所有jsp页面的编码格式,所以用的是这个,下面把具体代码贴出来。
首先需要在src建立一个filter的包,再建立一个类:EncodingFilter,里面放有Java代码。
package filter;import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class EncodingFilter implements Filter { //private String encoding = "utf-8"; //过滤器初始化的动作 public void init(FilterConfig filterConfig) throws ServletException { //this.encoding = filterConfig.getInitParameter(encoding); } //过滤器过滤时的动作 public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { request.setCharacterEncoding("utf-8");//表示设置request的编码为utf-8 response.setCharacterEncoding("utf-8"); //response.setContentType("text/html;charset=" + encoding); filterChain.doFilter(request, response); //表示请求向下传递 } //过滤器消亡 public void destroy() { // destroy code. } }
完成EncodingFilter类的编写后,系统还无法识别,必须将其在web.xml中进行配置,配置很简单,即在web.xml这个文件最后加入如下代码
<filter> <filter-name>EncodingFilter</filter-name> <filter-class>filter.EncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2.接下来就是表单,用js判断输入是否为空,这个在网站注册用户名和密码的时候经常会用到,我写的代码如下:
<form name="modifyForm" action="modifyproduct" method="post"> <input type="hidden" name="type" value="${type}" /> <table align="center"> <tr><td>产品ID(不可为空)</td> <td><input type="text" name="id" id="proid" value="${product.id }" /></td> </tr> <tr> <td>产品名称(不可为空)</td> <td><input type="text" name="name" id="proname" value="${product.name }" /></td> </tr> <script language="javascript" type="text/javascript">function check(){ if((document.getElementById("proid").value=="")){ alert("id不能为空!"); return false; } if((document.getElementById("proname").value=="")){ alert("名字不能为空!"); return false; } return true;}</script> </table><br><a href="ModifyQualChrc.jsp">添加产品质量特性</a> <br><br><input type="submit" onclick="return check()" value="提交"/></form>
还有一种通过name的方式进行验证:
<script>function check(){ username=form1.username.value; password =form1.password.value;if (username=="" || paddword==""){ alert("用户名和密码不能为空"); return false;}return true;}</script> <form method="post" name="form1" action="login.php" > 用户名:<input type="text" name="username" /><br/> 密码:<input type="password" name="password" /><br/><input name="submit" value="登录" type="submit" onclick="return check()"/></form>
0 0
- 表单开发的一些细节技巧(jsp+js)
- 【JSP开发】Servlet的一些细节
- JS的一些细节
- UITableView的一些细节技巧
- JS提交表单后回跳的细节处理
- [JSP 网站开发] js模拟表单提交(jQuery)
- Android开发的一些细节
- js的一些技巧
- Jsp中嵌入js的细节问题~~
- 最近整理IOS开发关于scrollView的一些细节和技巧
- JS(javascript)的一些小技巧
- js一些容易忽略的细节
- js函数的一些小细节
- JSP获得JS中变量的值(隐藏表单)
- jsp处理表单的一些经验分享
- JSP处理表单的一些经验分享
- IOS 开发的一些细节(持续更新)
- Cocos2d-JS开发中的一些小技巧(持续更新)
- 近期接sdk的一点小总结1->AndroidManifest.xml各部分的作用
- app创建技巧
- Spring整合Struts2 wel.xml中写spring核心配置文件路径问题,顺便总结下我学习SSH整合的过程
- 配置openmesh总是出现error LNK2019: 无法解析的外部符号此类问题的解决办法
- 杜绝”犯错“,应试教育的死穴
- 表单开发的一些细节技巧(jsp+js)
- Stack Overflow 上人气最旺的 10 个 Java 问题
- Hadoop 2.6.0动态添加节点
- C++函数
- java中静态方法与实例方法的区别
- OpenCV3.0+CodeBlocks13.12环境配置
- Pandas DataFrames筛选数据
- [置顶] Resources in Visual Tracking
- cocoapods的使用