简易代码之家

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  157 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks

#

        今天安装Oracle10gClient选择"管理员"项时出现“无法确定主机的IP地址时产生该异常错误”。Oracle在用Net Configuraton配置网络服务名时需要取系统的IP地址,而如果解析IP地址错误就会出现上述异常。经修改c:\windows\system32\drivers\etc\hosts文件来手动解析后安装成功,文件内容如下:
127.0.0.1 localhost
192.168.0.194 zzk
posted @ 2008-03-25 14:29 Jakin.zhou 阅读(3535) | 评论 (0)编辑 收藏

import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;

public class SortPinyin {

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {
        
// TODO Auto-generated method stub
        Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
        String[] arr 
= "张三","张A""李四""王五""赵六""F-16""12345""^%$%"};
        Arrays.sort(arr, cmp);
        
for (int i = 0; i < arr.length; i++)
            System.out.println(arr[i]);
        System.out.println();
    }


}
posted @ 2008-03-21 16:45 Jakin.zhou 阅读(1410) | 评论 (0)编辑 收藏

    笔者在最近的项目中采用的是Jsf(myfaces+richfaces+Ajax4Jsf)+Spring+Hibernate技术,由于数据量大,系统反应时间为1.5~2秒,此时需要有提示的标记比如"正在理..."等。Ajax4Jsf中的"onsubmit"为提交表单时发生的动作,"oncomplete"为提交到服务器端处理完返回到客户端时执行的动作,这两者的时间差就是我们等待的时间。我们也就是要在这个时间段内显示标记。对于<t:commandButton/>或<t:commandLink /> 等可以用"onclick""ondblclick"等与"oncomplete"组合灵活应用。以下是简例片段:

 1<!-- 执行的js方法 -->
 2<script type="text/javascript">
 3    function beforeChange(){
 4        var obj = document.getElementById('myForm:waitingGif');
 5        obj.style.display='block';
 6    }

 7    function afterChange(){
 8        var obj = document.getElementById('myForm:waitingGif');
 9        obj.style.display='none';
10    }

11
</script>
12<!-- 应用 -->
13<t:panelGrid columns="3" id="listGrid" forceId="true">
14    <t:selectOneRadio value="#{myBean.selectItem}">
15        <a4j:support event="onclick"
16            actionListener="#{myBean.selectItemChange}"
17            reRender="listGrid" onsubmit="beforeChange()"
18            oncomplete="afterChange()" />
19        <f:selectItem itemLabel="上月" itemValue="4" />
20        <f:selectItem itemLabel="本月" itemValue="3" />
21        <f:selectItem itemLabel="上周" itemValue="2" />
22        <f:selectItem itemLabel="本周" itemValue="1" />
23    </t:selectOneRadio>
24    <h:graphicImage id="waitingGif" value="/images/waiting.gif" style="display:none" />
25</t:panelGrid>

运行时的显示效果:


其实Ajax4Jsf也有对此效果的支持:
1<a4j:status  startText="正在处理"  startStyle="font-size: 10pt;color:red;"/>
页面上运用<a4j:status />后所有提交到后台的动作都可以被跟踪标记,但要保证<a4j:status />在此动作的刷新区域。
posted @ 2008-01-15 18:34 Jakin.zhou 阅读(7134) | 评论 (2)编辑 收藏

     摘要:     下面的DateUtil类为笔者在以前项目中用到的对日期处理的公用方法,请看到这个类的有兴趣的读者测试,如有BUG请留言,笔者也会在以后的项目中积累完善并更新到此类中去。   1import java.text.SimpleDateFormat;   2import java.util.Cale...  阅读全文
posted @ 2008-01-08 18:49 Jakin.zhou 阅读(2902) | 评论 (6)编辑 收藏

1.Spring配制文件(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 http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 5
 6    <bean id="mailSender"
 7        class="org.springframework.mail.javamail.JavaMailSenderImpl">
 8        <property name="host">
 9            <!-- 公司的郵件服務器 -->
10            <value>mail.xxx.com</value>
11        </property>
12    </bean>
13    
14</beans>

2.测试类(SendMail.java):

 1import org.springframework.context.ConfigurableApplicationContext;
 2import org.springframework.context.support.ClassPathXmlApplicationContext;
 3import org.springframework.mail.MailSender;
 4import org.springframework.mail.SimpleMailMessage;
 5
 6public class SendMail {
 7
 8    public static void main(String[] args) {
 9        SimpleMailMessage message = new SimpleMailMessage();
10
11        message.setFrom("zzk@gmail.com");  //髮送者郵件地阯
12        message.setTo("jakin@xxx.com");            //接收者郵件地阯
13        message.setSubject("Test SendMail");    //郵件主題
14        message.setText("Success");                //郵件內容
15
16        ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean.xml");
17        ((MailSender) applicationContext.getBean("mailSender")).send(message);
18    }

19}
posted @ 2008-01-08 17:53 Jakin.zhou 阅读(1007) | 评论 (3)编辑 收藏

    当我们需要使用一个或多个属性变量(表中的一列或多列)联合起来作为主键,我们需要使用复合主键。在EJB3.0中复合主键要求我们编写一个复合主键类( Composite Primary Key Class )。下面是个小例子,在Student中要用sid和name做复合主键。
Student实体类:
 1 import javax.persistence.Column;
 2 import javax.persistence.Entity;
 3 import javax.persistence.Id;
 4 import javax.persistence.IdClass;
 5 
 6 @Entity
 7 @IdClass(StudentPK.class)
 8 public class Student {
 9     
10     private String sid;
11     private String name;
12     private String age;
13 
14     @Id
15     public String getSid() {
16         return sid;
17     }
18     public void setSid(String sid) {
19         this.sid = sid;
20     }
21     
22     @Id
23     public String getName() {
24         return name;
25     }
26     public void setName(String name) {
27         this.name = name;
28     }
29     
30     @Column
31     public String getAge() {
32         return age;
33     }
34     public void setAge(String age) {
35         this.age = age;
36     }
37 
38 }
主键StudentPK类:
 1 import java.io.Serializable;
 2 
 3 public class StudentPK implements Serializable{
 4     
 5     private static final long serialVersionUID = 1L;
 6     
 7     private String sid;
 8     private String name;
 9     
10     public StudentPK(){}
11     public StudentPK(String sid,String name){
12         this.sid = sid;
13         this.name = name;
14     }
15     
16     public String getSid() {
17         return sid;
18     }
19     public void setSid(String sid) {
20         this.sid = sid;
21     }
22     public String getName() {
23         return name;
24     }
25     public void setName(String name) {
26         this.name = name;
27     }
28     
29     @Override
30     public int hashCode() {
31         final int prime = 31;
32         int result = 1;
33         result = prime * result + ((name == null? 0 : name.hashCode());
34         result = prime * result + ((sid == null? 0 : sid.hashCode());
35         return result;
36     }
37     
38     @Override
39     public boolean equals(Object obj) {
40         if (this == obj)
41             return true;
42         if (obj == null)
43             return false;
44         if (getClass() != obj.getClass())
45             return false;
46         final StudentPK other = (StudentPK) obj;
47         if (name == null) {
48             if (other.name != null)
49                 return false;
50         } else if (!name.equals(other.name))
51             return false;
52         if (sid == null) {
53             if (other.sid != null)
54                 return false;
55         } else if (!sid.equals(other.sid))
56             return false;
57         return true;
58     }
59     
60 }
主键类必需满足下列条件:
(1)必需被序列化
(2)必需有一个公共的无参构造方法
(3)必需实现equals()和hashCode()方法

当你查询Student实体时必须使用主键类才能识别实体如:
    StudentPK pk = new StudentPK("bj1001","jakin");
    Student student 
= entityManager.find(Student.class, pk);
在测试本例时笔者犯了两个低级的错误,一是测试环境的数据库不是项目运行的数据库,二是实体类中的属性命名用了关键字,请引以为戒。
posted @ 2007-12-04 09:29 Jakin.zhou 阅读(1910) | 评论 (0)编辑 收藏

     摘要:     笔者在最近的项目中遇到动态表格中下载文件的问题,以下是测试的小例子,支持下载中文名的文件. 一 页面test.jsp  1<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>  2<%@ taglib u...  阅读全文
posted @ 2007-11-28 18:37 Jakin.zhou 阅读(1111) | 评论 (1)编辑 收藏

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