tinguo002

 

jquery form提交时中文乱码

jquery form提交时中文乱码
    博客分类:
  • java
在使用jsp开始时,一不小心就会出现中文乱码的情况。通常可以使用如下方法解决:
第一种解决方法:
从jsp到servlet统一使用utf-8编码.全部使用utf-8编码能省去很多麻烦,但一点不足是utf-8编码对汉字是使用3-4个字节,会加大网络传输量。
第二种方法:
1.jsp页面使用GBK
2.使用servlet过滤器设置request.setCharacterEncoding("GBK");google一下就能找到很多怎么使用过滤器转换编码。
以上两种方法能解决大部分的乱码问题,特别是第一种方法,能解决使用ajax提交时的中文乱码问题。如果采用第二种方法,那么在使用ajax提交表单时仍然会有中文乱码。这是因为ajax方式提交时js使用的是utf-8的编码,过滤器使用gbk进行转码就不正确了,应该使用utf-8进行转码。要解决这个问题,网上也有很多个版本,其中一个是我曾经采用的在客户端使用encodeURI,然后再在服务器端进行URLDecoder.decode,这种方案在偶尔处理一下中文是可行的,但是如果页面有大量数据录入,那么这种方案是不可行的。有没有好的解决方法呢?在经过新一轮的google之后,还是找到了方法。参考http://www.iteye.com/topic/157698?page=1。原理就是根据httpheader中的内容来区分是ajax方式请求还是普通的请求。在jquery1.2.6中,ajaxSettings默认设置contentType为"application/x-www-form-urlencoded",在ajax方法中设置xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");,我们只要在servlet中根据这两个参数值来判断是不是通过xmlhttprequest发起的请求。这里值得一提的是jquery在提交form时对参数进行了encodeURIComponent调用,参见param方法
Java代码 复制代码 收藏代码
  1. jQuery.each( a, function(){ 
  2.                 s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( this.value ) ); 
  3.             }); 

所以传给servlet的就是utf-8编码了,那么我们在过滤器中就必须使用utf-8进行转码。
对其中的过滤器做了下修正,在IE下和chrome下,request.getContentType()的值为"application/x-www-form-urlencoded",但是在firefox下,这个值为"application/x-www-form-urlencoded; charset=UTF-8",不是很明白ff为什么会是这个值。
filter代码如下:
Java代码 复制代码 收藏代码
  1. package com.ajax.demo.action; 
  2.  
  3. import java.io.IOException; 
  4.  
  5. import javax.servlet.Filter; 
  6. import javax.servlet.FilterChain; 
  7. import javax.servlet.FilterConfig; 
  8. import javax.servlet.ServletException; 
  9. import javax.servlet.ServletRequest; 
  10. import javax.servlet.ServletResponse; 
  11. import javax.servlet.http.HttpServletRequest; 
  12. import javax.servlet.http.HttpServletResponse; 
  13.  
  14. public class AjaxPostFilter implements Filter { 
  15.  
  16.     private static final String IE_CONTENT_TYPE = "application/x-www-form-urlencoded"
  17.     private static final String FF_AJAX_CONTENT_TYPE = "application/x-www-form-urlencoded; charset=UTF-8"
  18.     private static final String XMLHTTP_REQUEST = "XMLHttpRequest"
  19.     private static final String AJAX_CHARACTER_ENCODING_UTF8 = "UTF-8"
  20.  
  21.     public void destroy() { 
  22.         // TODO Auto-generated method stub 
  23.  
  24.     } 
  25.  
  26.     public void doFilter(ServletRequest servletRequest, 
  27.             ServletResponse servletResponse, FilterChain filterChain) 
  28.             throws IOException, ServletException { 
  29.         HttpServletRequest request = (HttpServletRequest) servletRequest; 
  30.         HttpServletResponse response = (HttpServletResponse) servletResponse; 
  31.         String requestedWith = request.getHeader("x-requested-with"); 
  32.         String type = request.getContentType(); 
  33.         if (XMLHTTP_REQUEST.equals(requestedWith)&& (FF_AJAX_CONTENT_TYPE.equals(type) 
  34.                 ||IE_CONTENT_TYPE.equals(type))) { 
  35.             request.setCharacterEncoding(AJAX_CHARACTER_ENCODING_UTF8); 
  36.             response.setCharacterEncoding(AJAX_CHARACTER_ENCODING_UTF8); 
  37. //          request.getParameterMap(); 
  38.         } 
  39.         filterChain.doFilter(request, response); 
  40.  
  41.     } 
  42.  
  43.     public void init(FilterConfig arg0) throws ServletException { 
  44.         // TODO Auto-generated method stub 
  45.  
  46.     } 
  47.  


web.xml配置,我用的是struts
Java代码 复制代码 收藏代码
  1. <filter> 
  2.         <filter-name>ajaxEncodeFilter</filter-name> 
  3.         <filter-class>com.ajax.demo.action.AjaxPostFilter</filter-class
  4.     </filter> 
  5.     <filter-mapping> 
  6.         <filter-name>ajaxEncodeFilter</filter-name> 
  7.         <url-pattern>*.do</url-pattern> 
  8.     </filter-mapping> 
  9.     <filter-mapping> 
  10.         <filter-name>ajaxEncodeFilter</filter-name> 
  11.         <url-pattern>*.jsp</url-pattern> 
  12.     </filter-mapping> 


这个filter应该在你的EncodeFilter之后,RoyMax说要在之前,我试了下是不行的。
经过这样设置之后,jsp使用gbk采用ajax提交就不会存在中文乱码了。

在使用chrome进行测试时,还发现chrome的一个奇怪问题,对于返回的结果,使用jquery.ajax处理
Java代码 复制代码 收藏代码
  1. success:function showResponse(responseText, statusText)  {  
  2. //这里name为input text id,如果"aa"在前,那么name的值会改为aa+返回的结果 
  3.                     $('#name').val("aa"+responseText); 
  4. //如果改成$('#name').val(responseText+"aa"),那么name的值仍然是//responseText,“aa”没有加到后面去,不知道是什么原因 

posted @ 2013-03-29 08:16 一堣而安 阅读(245) | 评论 (0)编辑 收藏

MyEclipse中使用复制粘贴功能卡的解决办法

MyEclipse中使用复制粘贴功能卡的解决办法 

转载:http://blog.163.com/nishuai_program/blog/static/19410520320117204944971/
--

最近在MyEclipse中编辑代码时,使用快捷键进行复制粘贴,经常会导致编辑器短暂的停顿,光标不跟随,居然反应不过来,几近假死。


想来想去应该是编辑上的什么配置或者是IDE的什么功能导致,于是进入Preferences查找edit功能,进行一个个的测试,最后发现原来是代码的超链功能导致。



 

 

进入方法:Window -> Preferences -> General -> Editors -> Text Editors
-> Hyperlinking

把Enable on  demand  hyperlink  style  navigation关闭

说明:在Eclipse中,经常可以使用Ctrl+鼠标单击,可以直接将编辑界面引导到相关的方法,属性,或者类。

这个功能确实非常好用,但是由于复制粘贴的功能快捷键也是Ctrl,以致我在快速进行操作的时候,Eclipse反应不过来,无法分析我的操作,而且不知道为什么,这个功能尽然令双击单词自动选中的功能也会卡,很奇怪,知道我把这个功能完全关闭后,这个问题终于彻底解决,只是丢失了一个快接的代码超链功能。

 

posted @ 2013-03-28 09:17 一堣而安 阅读(462) | 评论 (0)编辑 收藏

amchart 的setting.xml 详解 (转载自:http://slikel.iteye.com/blog/1601661)

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xml version="1.0" encoding="UTF-8"?><!-- []内的值是默认值,意思是指如果你觉得这样设置还不错你可以删除该行,这...  阅读全文

posted @ 2013-03-25 15:42 一堣而安 阅读(571) | 评论 (0)编辑 收藏

Oracle DECODE函数

转载:http://database.51cto.com/art/201011/232740.htm

DECODE是Oracle公司独家提供的功,该函数功能强大,下文对DECODE函数的语法作了详尽的阐述,供您参考学习。

 

Oracle DECODE函数功能很强,下面就为您详细介绍Oracle
DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解。

Oracle DECODE函数


Oracle
DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的函数。它虽然不是SQL的标准,但对于性能非常有用。到目前,其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准。实际上,这种批评有些片面或不够水平。就象有些马车制造商抱怨亨利。福特的“马车”不标准一样。


1 DECODE 中的if-then-else逻辑
在逻辑编程中,经常用到If – Then –Else
进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。它的语法如下:
DECODE(value, if1, then1,
if2,then2, if3,then3, . . . else )
Value
代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode
函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then
配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。
需要注意的是,这里的if、then及else
都可以是函数或计算表达式。
含义解释:
DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)


该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2
THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)


ELSE
RETURN(缺省值)
END IF


2 DECODE 的简单例子
Oracle系统中就有许多数据字典是使用decode
思想设计的,比如记录会话信息的V$SESSION数据字典视图就是这样。我们从《Oracle8i/9i
Reference》资料中了解到,当用户登录成功后在V$SESSION中就有该用户的相应记录,但用户所进行的命令操作在该视图中只记录命令的代码
(0—没有任何操作,2—Insert…),而不是具体的命令关键字。因此,我们需要了解当前各个用户的名字及他们所进行的操作时,要用下面命令才能得到
详细的结果:
select
sid,serial#,username,
DECODE(command,
0,’None’,
2,’Insert’,
3,’Select’,
6,’Update’,
7,’Delete’,
8,’Drop’,
‘Other’)
cmmand
from v$session where username is not null;
3
DECODE实现表的转置
数据库中的表是由列和行构成的一个二维表。一般列在任何数据库中都是有限的数量,而行的变化较大,如果表很大,行的数量可能大上千万行。同一列的不同行可能有不同的值,而且不是预先定义的。
例:住房公积金报表置换实例:
1.各个单位在本地经办行进行开户,开户就是将单位的基本信息和职工信息的进行登记;
2.每月各个单位的会计到经办行交缴本单位的所有职工的住房公积金,系统记录有每个职工的交缴明细并在每条记录上记录有经办行的代码;
3.每月、季、半年及年终都要求将经办行
变为“列”给出个月的明细报表:
经办行:城西区 城东区
月份:
2001.01 xxxx1.xx xxxxx2.xx
2001.02
xxxx3.xx xxxxx4.xx
。 。 。 。 。 。
原来的数据顺序是:
城西区2001.01
xxxxx1.xx
城东区2001.01 xxxxx2.xx
城西区2001.02 xxxxx3.xx
城东区2001.02
xxxxx4.xx
住房公积金系统记录职工的每月交缴名细的pay_lst表结构是:
bank_code varchar2(6)NOT NULL,
-- 经办行代码
acc_no varchar2(15) not null, -- 单位代码(单位帐号)
emp_acc_no
varchar2(20) not null, -- 职工帐号
tran_date date not null, -- 交缴日期
tran_val
Number(7,2) not null, -- 交缴额
sys_date date default sysdate,
--系统日期
oper_id varchar2(10)
--操作员代码
这样的表结构,一般按照将经办行作为行(row)进行统计是很容易的,但是如果希望将经办行变为列(column)这样的格式来输出就有困难。如果用DECODE函数来处理则变得很简单:
我们创建一个视图来对目前的pay_lst表进行查询。将经办行代码变为一些具体的经办行名称即可:
CREATE
OR REPLACE VIEW bank_date_lst AS
Select to_char(tran_date,’yyyy.mm’),
SUM(
DECODE ( bank_code,’001’, tran_val,0 )) 城西区,
SUM( DECODE ( bank_code,’002’,
tran_val,0 )) 城南区,
SUM( DECODE ( bank_code,’003’, tran_val,0 )) 城东区
FROM
pay_lst
GROUP BY
to_char(tran_date,’yyyy.mm’);
建立视图后,可直接对该视图进行查询就可按照列显示出结果。

posted @ 2013-03-22 15:35 一堣而安 阅读(232) | 评论 (0)编辑 收藏

oracle 1月-12月数据查询

StringBuilder sql = new StringBuilder();
        sql.append(
"select ");
        sql.append(
"(");
        sql.append(
" select count(*) from fds_case t where ");
        sql.append(
" t.belongsystemunid = '28B78C2F0E9ECBA275775794C1058F2A' ");
        sql.append(
" and (t.occur_time between '2013-01-01' and  to_char(last_day(date'2013-01-01'),'YYYY-MM-DD')) ");
        sql.append(
") as 一月份,");
        sql.append(
"(");
        sql.append(
" select count(*) from fds_case t where ");
        sql.append(
" t.belongsystemunid = '28B78C2F0E9ECBA275775794C1058F2A'");
        sql.append(
" and (t.occur_time between '2013-02-01' and  to_char(last_day(date'2013-02-01'),'YYYY-MM-DD'))  ");
        sql.append(
") as 二月份,");
        sql.append(
" from dual;");
select substr(t.create_time, 04) years,
       
sum(decode(substr(t.create_time, 62), '01'10)) 月01,
       
sum(decode(substr(t.create_time, 62), '02'10)) 月02,
       
sum(decode(substr(t.create_time, 62), '03'10)) 月03,
       
sum(decode(substr(t.create_time, 62), '04'10)) 月04,
       
sum(decode(substr(t.create_time, 62), '05'10)) 月05,
       
sum(decode(substr(t.create_time, 62), '06'10)) 月06,
       
sum(decode(substr(t.create_time, 62), '07'10)) 月07,
       
sum(decode(substr(t.create_time, 62), '08'10)) 月08,
       
sum(decode(substr(t.create_time, 62), '09'10)) 月09,
       
sum(decode(substr(t.create_time, 62), '10'10)) 月10,
       
sum(decode(substr(t.create_time, 62), '11'10)) 月11,
       
sum(decode(substr(t.create_time, 62), '12'10)) 月12,
       
count(1) alls
  
from FDS_CASE t
 
where t.del = 'N'
   
and t.belongsystemunid = '28B78C2F0E9ECBA275775794C1058F2A'




posted @ 2013-03-19 17:35 一堣而安 阅读(1601) | 评论 (0)编辑 收藏

jQuery对select操作小结

转载:

http://www.cnblogs.com/as285996985/articles/1535014.html

//遍历option和添加、移除option
function changeShipMethod(shipping){
var len = $("select[@name=ISHIPTYPE] option").length
if(shipping.value != "CA"){
  $("select[@name=ISHIPTYPE] option").each(function(){
   if($(this).val() == 111){
    $(this).remove();
   }
  });
}else{
  $("<option value='111'>UPS Ground</option>").appendTo($("select[@name=ISHIPTYPE]"));
}
}


//取得下拉选单的选取值

$('#testSelect option:selected').text();
或$("#testSelect").find('option:selected').text();
或$("#testSelect").val();
//////////////////////////////////////////////////////////////////
记性不好的可以收藏下:
1,下拉框:

var cc1   = $(".formc select[@name='country'] option[@selected]").text(); //得到下拉菜单的选中项的文本(注意中间有空格)
var cc2 = $('.formc select[@name="country"]').val();   //得到下拉菜单的选中项的值
var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜单的选中项的ID属性值
$("#select").empty();//清空下拉框//$("#select").html('');
$("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option

稍微解释一下:
1.select[@name='country'] option[@selected] 表示具有name 属性,
并且该属性值为'country' 的select元素 里面的具有selected 属性的option 元素;
可以看出有@开头的就表示后面跟的是属性。

2,单选框:
$("input[@type=radio][@checked]").val();   //得到单选框的选中项的值(注意中间没有空格)
$("input[@type=radio][@value=2]").attr("checked",'checked'); //设置单选框value=2的为选中状态.(注意中间没有空格)

3,复选框:
$("input[@type=checkbox][@checked]").val(); //得到复选框的选中的第一项的值
$("input[@type=checkbox][@checked]").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出
   alert($(this).val());
   });

$("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined){} //判断是否已经打勾


当然jquery的选择器是强大的. 还有很多方法.

<script src="jquery-1.2.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#selectTest").change(function()
{
       //alert("Hello");
       //alert($("#selectTest").attr("name"));
       //$("a").attr("href","xx.html");
       //window.location.href="xx.html";
       //alert($("#selectTest").val());
       alert($("#selectTest option[@selected]").text());
       $("#selectTest").attr("value", "2");

});
});
</script>


<a href="#">aaass</a>

<!--下拉框-->
<select id="selectTest" name="selectTest">
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
<option value="5">55</option>
<option value="6">66</option>
</select>
jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关获取一组radio被选中项的值
var item = $('input[@name=items][@checked]').val();
获取select被选中项的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[@name=items]').get(1).checked = true;
获取值:
文本框,文本区域:$("#txt").attr("value");
多选框checkbox:$("#checkbox_id").attr("value");
单选组radio: $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();
控制表单元素:
文本框,文本区域:$("#txt").attr("value",'');//清空内容
                $("#txt").attr("value",'11');//填充内容
多选框checkbox: $("#chk1").attr("checked",'');//不打勾
                $("#chk2").attr("checked",true);//打勾
                if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
单选组radio: $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
下拉框select: $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项
            $("<optionvalue='1'>1111</option><optionvalue='2'> 2222</option>").appendTo("#sel")//添加下拉框的option
            $("#sel").empty();//清空下拉框

获取一组radio被选中项的值
var item = $('input[@name=items][@checked]').val();
获取select被选中项的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[@name=items]').get(1).checked = true;
获取值:
文本框,文本区域:$("#txt").attr("value");
多选框checkbox:$("#checkbox_id").attr("value");
单选组radio: $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();
控制表单元素:
文本框,文本区域:$("#txt").attr("value",'');//清空内容
$("#txt").attr("value",'11');//填充内容
多选框checkbox: $("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
单选组radio: $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
下拉框select: $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
$("#sel").empty();//清空下拉框


=======================================================
参考:http://blog.csdn.net/nairuohe/article/details/6307367

每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了。

比如<select class="selector"></select>

1、设置value为pxx的项选中

     $(".selector").val("pxx");

2、设置text为pxx的项选中

    $(".selector").find("option[text='pxx']").attr("selected",true);

    这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。

3、获取当前选中项的value

    $(".selector").val();

4、获取当前选中项的text

    $(".selector").find("option:selected").text();

    这里用到了冒号,掌握它的用法并举一反三也会让代码变得简洁。

 

很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jquery中是非常简单的。

如:$(".selector1").change(function(){

     // 先清空第二个

      $(".selector2").empty();

     // 实际的应用中,这里的option一般都是用循环生成多个了

      var option = $("<option>").val(1).text("pxx");

      $(".selector2").append(option);

});

 

posted @ 2013-03-19 16:52 一堣而安 阅读(198) | 评论 (0)编辑 收藏

js 操作selecct 总结

转载:http://www.cnblogs.com/Herist/archive/2007/09/24/903890.html

判断select选项中 是否存在Value
="paraValue"的Item
向select选项中 加入一个Item
从select选项中 删除一个Item
删除select中选中的项
修改select选项中 value
="paraValue"的text为"paraText"
设置select中text
="paraText"的第一个Item为选中
设置select中value
="paraValue"的Item为选中
得到select的当前选中项的value
得到select的当前选中项的text
得到select的当前选中项的Index
清空select的项
js 代码
// 1.判断select选项中 是否存在Value="paraValue"的Item       
function jsSelectIsExitItem(objSelect, objItemValue) {       
   
var isExit = false;       
   
for (var i = 0; i < objSelect.options.length; i++) {       
       
if (objSelect.options[i].value == objItemValue) {       
            isExit
= true;       
           
break;       
        }
       
    }
       
   
return isExit;       
}
        
  
// 2.向select选项中 加入一个Item       
function jsAddItemToSelect(objSelect, objItemText, objItemValue) {       
   
//判断是否存在       
    if (jsSelectIsExitItem(objSelect, objItemValue)) {       
        alert(
"该Item的Value值已经存在");       
    }
else {       
       
var varItem = new Option(objItemText, objItemValue);     
        objSelect.options.add(varItem);    
        alert(
"成功加入");    
    }
       
}
       
  
// 3.从select选项中 删除一个Item       
function jsRemoveItemFromSelect(objSelect, objItemValue) {       
   
//判断是否存在       
    if (jsSelectIsExitItem(objSelect, objItemValue)) {       
       
for (var i = 0; i < objSelect.options.length; i++) {       
           
if (objSelect.options[i].value == objItemValue) {       
                objSelect.options.remove(i);       
               
break;       
            }
       
        }
       
        alert(
"成功删除");       
    }
else {       
        alert(
"该select中 不存在该项");       
    }
       
}
   
  
  
// 4.删除select中选中的项   
function jsRemoveSelectedItemFromSelect(objSelect) {       
   
var length = objSelect.options.length - 1;   
   
for(var i = length; i >= 0; i--){   
       
if(objSelect[i].selected == true){   
            objSelect.options[i]
= null;   
        }
   
    }
   
}
     
  
// 5.修改select选项中 value="paraValue"的text为"paraText"       
function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {       
   
//判断是否存在       
    if (jsSelectIsExitItem(objSelect, objItemValue)) {       
       
for (var i = 0; i < objSelect.options.length; i++) {       
           
if (objSelect.options[i].value == objItemValue) {       
                objSelect.options[i].text
= objItemText;       
               
break;       
            }
       
        }
       
        alert(
"成功修改");       
    }
else {       
        alert(
"该select中 不存在该项");       
    }
       
}
       
  
// 6.设置select中text="paraText"的第一个Item为选中       
function jsSelectItemByValue(objSelect, objItemText) {           
   
//判断是否存在       
    var isExit = false;       
   
for (var i = 0; i < objSelect.options.length; i++) {       
       
if (objSelect.options[i].text == objItemText) {       
            objSelect.options[i].selected
= true;       
            isExit
= true;       
           
break;       
        }
       
    }
             
   
//Show出结果       
    if (isExit) {       
        alert(
"成功选中");       
    }
else {       
        alert(
"该select中 不存在该项");       
    }
       
}
       
  
// 7.设置select中value="paraValue"的Item为选中   
document.all.objSelect.value = objItemValue;   
      
// 8.得到select的当前选中项的value   
var currSelectValue = document.all.objSelect.value;   
      
// 9.得到select的当前选中项的text   
var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;   
      
// 10.得到select的当前选中项的Index   
var currSelectIndex = document.all.objSelect.selectedIndex;   



      
// 11.清空select的项   
document.all.objSelect.options.length = 0

posted @ 2013-03-19 16:51 一堣而安 阅读(271) | 评论 (0)编辑 收藏

jsp 页面 把一个json格式的字符串 转化成对象的二种方法

jsp 页面  把一个字符串  转化成对象的二种方法
    var arr = $.parseJSON(jsonStr);    //需要引入 jQuery 包
    var arr = eval('(' + jsonStr + ')');

posted @ 2013-03-19 16:01 一堣而安 阅读(701) | 评论 (0)编辑 收藏

取得指定月份的最后一天、在当前日期的基础上加/减月份

转载:
http://blog.csdn.net/szwangdf/article/details/2290533

last_day:返回包含了日期参数的月份的最后一天的日期。

select last_day(sysdate) from dual;

     LAST_DAY(SYSDATE)
    
-------------------
     2008/02/29 11:24:04
     SQL
> select last_day(date'1892-02-15') from dual;

     LAST_DAY(DATE
'1892-
     -------------------
     1892/02/29 00:00:00

add_months:在当前日期的基础上加/减月份,返回加/减后的日期。
SQL> select add_months(sysdate, -3) three_months_ago from dual;

     THREE_MONTHS_AGO
    
-------------------
     2007/11/16 11:23:16

posted @ 2013-03-18 16:28 一堣而安 阅读(273) | 评论 (0)编辑 收藏

Invalid byte 2 of 2-byte UTF-8 sequence解决方案

转载:http://www.cnblogs.com/balaamwe/archive/2012/03/07/2383413.html

Invalid byte 2 of 2-byte UTF-8 sequence解决方案

异常信息如下:

2009-9-14 3:56:54 org.apache.catalina.startup.Catalina stopServer  
严重: Catalina.stop:   
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.  
    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)  
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644)  
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:410)  
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
    at java.lang.reflect.Method.invoke(Unknown Source)  
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:337)  
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)

解决方案如下:

方案1

检查tomcat里面的配置文件中有没有使用汉字(包括注释),有汉字则把汉字改成英文

方案2

在有汉字的配置文件中,加入如下代码

<?xml version="1.0" encoding="gbk"?>

posted @ 2013-03-17 21:37 一堣而安 阅读(484) | 评论 (0)编辑 收藏

仅列出标题
共17页: First 上一页 8 9 10 11 12 13 14 15 16 下一页 Last 

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜