Ruby 语言 思想驱动生活

August 31, 2010

几个开源的在线考试系统

Filed under: 技术 — liubin @ 16:30

都是在sf上找到的。

1.TCExam agpl的许可证,麻烦。PHP/mysql的
功能一般,只是个考试系统,多语言支持。


地址:http://sourceforge.net/projects/tcexam/

2. eFront – Refreshing eLearning

看截图还不错,主页:http://sourceforge.net/projects/efrontlearning/

另一个主页:http://www.efrontlearning.net/



3. WEB-SET CAMPUS
http://sourceforge.net/projects/web-set-campus/



4. GARC – An eLearning System

http://sourceforge.net/projects/garc/



5. Testa OTMS

http://sourceforge.net/projects/testa-otms/

August 4, 2010

回龙观地区通讯地址

Filed under: 技术 — liubin @ 17:57

中文:北京市昌平区回龙观(文化居住区)AA苑(园)B区CC号楼DD单元EEE 邮政编码:102208
英文:Room DD-EEE,Bldg No.CC,Block B,AA, Huilongguan residential area,Changping District,Beijing 102208,PRC

July 8, 2010

spring里的ModelAttribute

Filed under: 技术 — liubin @ 15:42

在spring里,model和form的对应不需要写xml文件,只需要在页面里用form这个taglib就可以了:

email

这里的commandName就是和Controller里相互映射的model的名字(实例名)
path=email指定了对应对象的属性。

Controller里可以这样写:
protected ModelAndView sendInvite(@ModelAttribute(“invite”) Invite invite,
BindingResult result, SessionStatus status, ModelMap model) {}

其中,参数的第一个invite会自动从form里生成一个Invite的实例并设置值,Controller里直接使用这个对象就可以。

而加上@SessionAttributes的话,可以在form里一直显示上次输入的form内容,直到自己调用status.setComplete()为止,这个操作的意思就是一个form相关联的操作已经结束,从session里清空就可以了

July 1, 2010

svn不能提交的错误

Filed under: 技术 — Tags: , , — liubin @ 16:25

Eclipse里提交代码的时候,提示:
org.tigris.subversion.javahl.ClientException: APR does not understand this error code
svn: Commit failed (details follow):
svn: Cannot accept non-LF line endings in ‘svn:log’ property

comment写了2行而已,查了下,网上有人说每行最后以空格结尾就行了,我试了下还是不行。

不要comment,提交成功。。。奇怪。

在spring中设置request的charset为utf-8

Filed under: 技术 — Tags: , , , , — liubin @ 14:48

在java里可以用:request.setCharacterEncoding(“UTF-8″);

在Spring的Controller类里个别设置太麻烦,可以用filter

  1. <filter-name>Spring character encoding filter</filter-name>
  2.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  3.         <init-param>
  4.             <param-name>encoding</param-name>
  5.             <param-value>utf-8</param-value>
  6.         </init-param>
  7.     </filter>
  8.     <filter-mapping>
  9.         <filter-name>Spring character encoding filter</filter-name>
  10.         <url-pattern>/*</url-pattern>
  11.     </filter-mapping>

June 25, 2010

Android中一些关于sqlite的总结-1

Filed under: Android,技术 — liubin @ 17:57

1.数据库文件
位于:/data/data/{package} /databases文件夹中

2.SQLiteOpenHelper 的onCreate,onUpgrade
 你可以扩展SQLiteOpenHelper类,它是一个Android辅助类,主要用于数据库创建和版本管理。实际上,你可以覆盖onCreate()和onUpgrade()方法
onCreate在数据库第一次被创建的时候才会调用,不用担心每次都掉用。
因为很多例子都是create table的语句,重复调用显然原来的数据会没的。
而onUpgrade则是升级的时候才会调用,看如下代码:

  1. @Override
  2.         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  3.             Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
  4.                     + newVersion + ", which will destroy all old data");
  5.             db.execSQL("DROP TABLE IF EXISTS test");
  6.             onCreate(db);
  7.         }

June 24, 2010

hibernate3.2里的Transformers

Filed under: 技术 — Tags: — liubin @ 16:34

hibernate 里想将sql的结果转为对象,但是对象不想再.hb.xml里定义,可以考虑用 ResultTransformer

使用SQL Transformers

  1. List resultWithAliasedBean = s.createSQLQuery(
  2.   "SELECT st.name as studentName, co.description as courseDescription " +
  3.   "FROM Enrolment e " +
  4.   "INNER JOIN Student st on e.studentId=st.studentId " +
  5.   "INNER JOIN Course co on e.courseCode=co.courseCode")
  6.   .addScalar("studentName")
  7.   .addScalar("courseDescription")
  8.   .setResultTransformer( Transformers.aliasToBean(StudentDTO.class))
  9.   .list();
  10.  
  11. StudentDTO dto =(StudentDTO) resultWithAliasedBean.get(0);

注意,如果不加上addScalar()调用的话,可能有些属性不会被设置值,因为他们可能是用大写字母返回的。

用Map

指定Transformers.ALIAS_TO_MAP就可以了,如下所示,你不必为了在需要记忆字段对应的位置,因为他们是map

  1. List iter = s.createQuery(
  2.   "select e.student.name as studentName," +
  3.   "       e.course.description as courseDescription" +
  4.   "from   Enrolment as e")
  5.   .setResultTransformer( Transformers.ALIAS_TO_MAP )
  6.   .iterate();
  7.  
  8. String name = (Map)(iter.next()).get("studentName");

原文:http://swik.net/Hibernate/Hibernate+GroupBlog/Hibernate+3.2:+Transformers+for+HQL+and+SQL/cmxs

June 21, 2010

找不到org.slf4j.impl.StaticLoggerBinder

Filed under: 技术 — liubin @ 15:57

启动tomcat出错:

  1. 严重: Servlet /AppStoreServer threw load() exception
  2. java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
  3.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
  4.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
  5.     at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223)
  6.     at org.slf4j.LoggerFactory.bind(LoggerFactory.java:120)
  7.     at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
  8.     at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
  9.     at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
  10.     at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)

原来hibernate自带了个slf4j的东西,但是不带这个,还要另外下载。

hibernate的mappingResources和mappingDirectoryLocations

Filed under: 技术 — Tags: , , , , , — liubin @ 15:23

如果嫌mappingResources的麻烦,可以用mappingDirectoryLocations

  1. <property name="mappingDirectoryLocations"> 
  2.        <list> 
  3.     <value>WEB-INF/rescources/com/abc</value> 
  4.        </list> 
  5. </property>

hibernate-extensions和hiberanate版本的问题

想用hbm2java生成java代码,却出现错误:
Exception in thread “main” java.lang.NoClassDefFoundError: net/sf/hibernate/MappingException
Caused by: java.lang.ClassNotFoundException: net.sf.hibernate.MappingException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: net.sf.hibernate.tool.hbm2java.CodeGenerator. Program will exit.

查了一下,原来这个MappingException在最新的hibernate里面没有了(3.5.3Final),还要在老的版本里去找。
下了一个2.1.7c的就可以了

记得要在setenv.bat里加入一行:
set HIBERNATE_HOME=c:\hibernate-2.1

Older Posts »

Powered by WordPress