13

有本本的童鞋一定要收藏,希望以后能给大家带来帮助

前阵子笔记本的显示屏莫名的出现大片白色斜条纹,拿去售后检测说屏坏了,但坑爹的售后要价1.2k,于是我选择了自己换。网上买个液晶屏300多,昨天快递到货。屏幕上有两根线,粗一点的时屏幕数据线,俗称屏线,展示画面用,还有一根就是连接高压条的电线。然后我就这么捣腾了一上午,将线连好,实验成功。以下是成功后的截图:

由于仅仅是为了测试屏幕到底行不行,所以我为将屏幕加上卡槽(用于固定在电脑上的东东),所以我将屏幕卸下来加卡槽,此过程虽然关机了,可是电源线未拔下,然后悲剧就发生了,第二次装上去实验的时候屏幕背光不亮了,也就是黑屏了。

这里给大家补习一下发生黑屏的几种可能原因:

1、高压条坏了,电源供不上点,背光子让就亮不起来了(楼主就是这种情况,我是在为断电的情况下操作导致高压条烧坏的,所以切记换屏的童鞋所有操作都必须在断电的情况下进行),遇到这种情况莫急,可以去电脑城维修,换一根高压条就是了,一般维修人员会比较黑,要价在150左右,但其实网上20-30就能买到,如果不放心,你买好了拿去修,给他50块钱人工费,人家也是愿意的。

2、灯管损坏。一样的可以换灯管。

3、显卡坏了,这个有好有坏,价格不一,具体可以参考网上。

还有就是,风扇脏了,千万别卸下来,没有风扇会烧掉主板,我有个童鞋真这么干过。脏了就去电脑城洗一下,也就几十块钱,别得不偿失。

最后还是提醒一下要自己换屏幕的童鞋,切记所有操作都要在切断电源的情况下进行,包括换内存条,否则可能烧坏主板或者其它部件。

以上是我这次换屏幕的一点心得,现在总算是好了,也希望对大家有所帮助。欢迎分享和转载,能帮助到更多的朋友。

 

12

flexigrid自定义查询

相信用过flexigrid的朋友都知道,它有自带的查询功能,但是我想自定义自己的查询,界面如下:

以下是实现自定义查询的关键代码,希望对大家有所帮助:

html:

<div class="queryForm">
        <div style="margin-top:10px;">
            <div class="prompt"><span>id:</span></div>
            <input id="query_id" type="text"/>
            <div class="prompt"><span>名称:</span></div>
            <input id="query_name" type="text"/>
        </div>
        <div style="margin-top:10px;">
            <div class="prompt"><span>描述:</span></div>
            <input id="query_description" type="text"/>
            <div class="prompt"><span>父目录:</span></div>
            <s:select id="query_parent_id" list="#dropMenu.dropMenuList" cssStyle="width:125px;height:20px;" name="query_parent_id" cssClass="default" headerKey="-1" headerValue="请选择" listKey="id" listValue="description"></s:select>
        </div>
    </div>

js:

function query(){
    var params = [{"name" : "id", "value" : $("#query_id").val()},
                  {"name" : "name", "value" : $("#query_name").val()},
                  {"name" : "description", "value" : $("#query_description").val()},
                  {"name" : "parent_id", "value" : $("#query_parent_id").val()}];
    $('#menu_grid').flexOptions({params : params, newp : 1}).flexReload();
}

正如以上代码所示,query方法去调用flexigrid的felxReload方法去刷新,但在刷新之前传入参数,传入参数的格式必须是上面代码中的格式,否则flexigrid将无法解析传入后台,flexReload执行的时候会自动向后台post请求,并且将带上你传入的参数,但这里并没有传入post的url,是因为在初始化flexigrid的时候已经定义好了,flexigrid会自动去找到这个url,并且post向它。还有要注意的是,往往查询的时候是到第一页,所以大家看到flexOptions方法还传入newp,其实newp就是flexigrid向后台传入的最终page参数,所以这里只需指定为1就可以了。希望对大家有所帮助。

个人google code:http://code.google.com/p/andy-dreamer/,大家可以通过svn下载我最新的代码

03

也谈SpringIOC

SpringIOC到底是啥玩意儿,我在这里就不再赘述,网上可以找到好多版本来描述它。它到底有啥好,简单来说就是增强了程序的健壮性和可维护性,再简单点说就是不改变原有代码,实现新的逻辑(太夸张了吧,这也可以?是的,SpringIOC真就这么做到了,这也是为什么今年来Spring得到推崇的原因之一,当然还有SpringAOP、SpringMVC等等)。下面我将用最简单的例子阐述SpringIOC到底是如何做到这一点的。

首先我有这样一个需求就是,我有一个Chinese类,Chinese类有一个方法叫color(),他将显示中国人的肤色。具体代码如下:

1 public class Chinese{
2     public void color() {
3         System.out.println("肤色是黄色的");
4     }
5 }

然后我有一个Test类,具体代码如下:

1 public class Test {
2     public static void main(String[] args) {
3         Chinese chinese = new Chinese();
4         chinese.color();
5     }
6 }

很显然,最后控制台输出的是“肤色是黄色的”。

现在我想让中国人的肤色变成白色,即控制台最后输出“肤色是白色的”。很简单呀,改一下Chinese类的color方法就可以了。没错,这样是可以做的,但这样就破坏了程序的健壮性和可维护性,我们要不改动原来的代码就实现新的需求,这才叫牛逼!那怎么做呢,按照这样的类设计是无法办到的,这时我们想到面向接口的编程思想,我们定义一个Human接口,它有一个color方法显示肤色,但具体是什么肤色我们不知道,具体代码如下:

1 public interface Human {
2     public void color();
3 }

然后我们修改一下Chinese类,让它去实现Human接口:

1 public class Chinese  implements Human{
2     @Override
3     public void color() {
4         System.out.println("肤色是黄色的");
5     }
6 }

当然我们的Test类也要修改:

1 public class Test {
2     public final static String CHINESE = "Chinese";
3     public static void main(String[] args) {
4         ApplicationContext ctx = new FileSystemXmlApplicationContext("src/bean.xml");
5         Human human = (Human) ctx.getBean(CHINESE);
6         human.color();
7     }
8 }

我们看到Chinese类的具体实例是从bean.xml中得到的:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4     xsi:schemaLocation="http://www.springframework.org/schema/beans
5     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
6     <bean id="Chinese" class="com.andy.test.Chinese"/>
7 </beans>

这样Test类的测试结果也是在控制台打印“肤色是黄色的”。

好的,现在我们重新定义一个类Chinese2,同样去实现Human:

1 public class Chinese2  implements Human{
2     @Override
3     public void color() {
4         System.out.println("肤色是白色的");
5     }
6 }

不同的是我们现在的肤色是白色的。到此为止我们并没有改动任何原来的代码,只是新增了一个类Chinese2。

好,现在就是见证奇迹的时刻,我们将刚才bean.xml中的bean的class指向Chinese2,即:

<bean id="Chinese" class="com.andy.test.Chinese2"/>

我们并没有改动原来的代码哦,亲(^_^)。重新执行Test.java,你会神奇的发现控制台打印的是“肤色是白色的”。至此,你已经发现SpringIOC的无穷魅力,当然它也并非完美无缺,这种方式虽增强了代码的健壮性和可维护性,可因为它是利用java反射动态获取类实例,这样效率上会打点折扣,当然这点牺牲还是值得的,具体看你如何权衡。

完整源码可从我的googlecode svn下载:http://andy-dreamer.googlecode.com/svn/trunk/SpringIOC

个人网站:http://yeshanghai.ueuo.com/