拂面微风之项目一:皖新传媒(新华书店)项目

来源:互联网 发布:mac怎么玩qq堂 编辑:程序博客网 时间:2024/05/01 13:21

1、对含checkbox的form提交方法:

<script type="text/javascript">function checkvalue(){var a=document.getElementsByName("answer"); var aYN = false; // 是否有选择for (var i=0;i<a.length;i++) { if(a[i].checked==true) {aYN=true;break;}}if(!aYN){alert('请至少选择一项');return false;}else{//document.form1.action="surveyResult.action";   document.form1.submit();  //alert('已提交');   return true;}}</script>

后台拿值方法:

String[] s = request.getParameterValues("answer");

 

2、为避免页面出现中文成乱码的情况,也将页面中文用WAP编码转换器转码后再使用,即将中文字符由gb2312格式转换为utf-8格式使用。

 

3、超链接使用javascript实现方法:

<a href='javascript:void(0);'onClick="javascript:return checkvalue()";title="提交">提交</a>

4、点击一超链接弹出一小窗口方法:

<a href="javascript:void(0);" onclick="javascript:window.open('en/cst/survey/jsp/survey.jsp','','modal=yes,width=300,height=250,resizable=no,scrollbars=no,location=no');">点我</a>

 

5、开始逐渐熟悉webwork+ibatis框架

 

6、webwork里面的action得到request方法:

ActionContext ctx = ActionContext.getContext();HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);



 7、java web开发时的目录/路径问题总结:

         (1)目录分为两种:相对于web站点的根目录:http://localhost:8080/

                                       相对于web应用的根目录:http://localhost:8080/app/

         (2)路径也分为两种:相对路径:不以/开头:  test/test.jsp           (在同级目录下寻找)相对于当前文件的位置

                                          绝对路径:    以/开头: /app/test/test.jsp   

-----------下面重点总结‘绝对路径’-----------

         (3)服务器端解析和客户端解析的绝对路径区别:

                                         服务器端解析时:http://localhost:8080/app/ (即web应用的根目录)

                                            客户端解析时:http://localhost:8080/         (即web站点的根目录)

         (4)转发和重定向的路径问题:在服务器端解析的转发dispatcher绝对路径为web应用根目录;

                                                         在客户端解析的重定向redirect绝对路径为web站点跟目录;

         (5)几个常用路径的地方:

                ①web.xml中的路径:

                   Servlet 映射 <url-pattern>/xx</url-pattern> 中的 “/” 代表当前 web 应用的根路径。

                  这个只要思考一下就能得出结论:所有的web.xml文件都是描述某个web应用的部署相关信息,所以“/”只能代表当前 web 应用的根路径,而不是指向web站点的根目录。

                ②<form action=“/xxx”>或 <a href=“/xxx”></a>中的路径:

                 “/”代表的是 web 站点的根目录。

                 因为超链接可以链接到任何需要的目标资源, 所以 / 代表的肯定不是当前 web 应用的根路径, 而是当前 web 站点的根路径。

               ③css路径问题:

                  “/”代表的是web站点的根目录,因为是在客户端解析。

               ④Page标签中errorPage属性的路径问题

                  “/”代表的是web应用的根目录。

 

8、使用jspsmartupload.jar插件进行上传下载,但是其本身对中文支持不够,需要添加一些方法来完善,比如toutf8String();

 

9、处理oracle数据库中的CLOB类型的数据,可借助OracleClobTypeHandlerCallback此帮助类,同时resultMap里面注意要写typeHandler;

 

10、ibatis里面的映射文件.xml中,可用resultMap来对应下方sql语句字段和对象的属性,property为对象属性,column为查询结果视图的字段名,可只写有用的字段;另外,由方法queryForObject或queryForList来接收查询结果;

 

11、把数组作为参数传递,比如checkbox,当不能把整个页面或者form提交,而是用post方法提交,可以先把数组拼接成一字符串(中间用分隔符隔开),接受时再用方法按分隔符分割成数组使用。eg:

先拼接:用逗号作为分隔符

               for (var i=0;i<a.length;i++) {if(a[i].checked){b+=a[i].value+",";}}

后分割:

    String[] s;       StringTokenizer str =new StringTokenizer(b,",");                     s=new String[str.countTokens()];                     for(int i=0;str.hasMoreTokens();i++)                     {s[i]=str.nextToken();                     }



12、若将中文内容作为参数放在url里面进行传递,很容易乱码,比如上面,解决方法:先将参数内容编码使用,后接收时解码使用。eg:

先编码:

var post_date=encodeURI(encodeURI(b));//var action="surveyResult.action?answer="+post_date;send_request(action,callback,null);

后解码:

String t=java.net.URLDecoder.decode(request.getParameter("answer"), "UTF-8");

注意:这里先encodeURI两次,URLDecoder.decode一次,是因为对其进行二次编码,在客户端对参数进行二次编码,可以有效的避开“提交多字节字符”的这个棘手问题,另外容器接受时会自动解一次。

 13、在看页面复杂的table结构时,假如弄不起,比较好的方法就是设border值,一旦有了border值,便明了了。

 

14、去掉字符串的空格,可用Trim ( string )函数。

 

 

 


 

原创粉丝点击