工业社区终于露面了
工业社区全称是“工业仿真和优化设计网格社区”,是十一五国家863项目。针对高性能计算和网格计算在工业领域中的应用特点以及企业集团用户的实际需求,建立起面向集团和中小型企业用户以及其他工程计算领域人员的工业仿真和设计优化专业社区。
也是我在上海100天努力的东西。现在工业社区的最终样子出来了,感觉还不错,呵呵。目前还在内测,过几天会放出网址大家可以试着玩玩。

工业社区全称是“工业仿真和优化设计网格社区”,是十一五国家863项目。针对高性能计算和网格计算在工业领域中的应用特点以及企业集团用户的实际需求,建立起面向集团和中小型企业用户以及其他工程计算领域人员的工业仿真和设计优化专业社区。
也是我在上海100天努力的东西。现在工业社区的最终样子出来了,感觉还不错,呵呵。目前还在内测,过几天会放出网址大家可以试着玩玩。

1、action和jsp的传值
若定义action如下:
<action name="aaa">
<result>/a/b/c.jsp</result>
</action>
那么执行aaa.do?b=3时,c.jsp已经获得了b=3的参数。
2、js和jsp的传值
假如某个页面(无论是上面的情况,还是某个jsp给次jsp传的值,或者值某个action跳转到此jsp)给jsp传值b=3。
在本jsp内的js代码都可以以
var c=’<%=request.getParameter("b")%>’;来获得参数b的值。
这一段时间都在做jsp开发,用的Tomcat容器。开发后台java代码的时候,Tomcat需要重启,我也就忍了。在做前台jsp和js的时候,发现基本上都会缓存,每次都得删掉缓存,然后重启一下(因为删掉缓存后有些页面会出错,尤其是有输入框的页面)。这样每次都重启效率多低啊。
后来在网上搜索了一些方法,加上自己的实践,现针对Tomcat对jsp和js的缓存,提出以下解决办法:
Tomcat对jsp和js的缓存放在
jakarta-tomcat-5.0.28/work/Catalina目录下,所以将Catalina目录删掉即可。
忘jsp或者引用js的jsp里加上如下代码:
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
此方法可以保证大部分的jsp都不缓存。
在jsp后面加随机数
xxx.com/aaa/bbb.jsp?temp=123456
一直以来做项目都是在firefox下调试的,现在为了做发布版本,在ie下测试竟然发现主页无法显示,这一个郁闷啊。经分析应该是js在ie下不兼容。可是firefox还有个firebug可以用,ie下怎么调试js啊。
上网搜了搜,还国人有ie下的轻量级的js调试器,Companion.JS。
个人用了用,感觉还不错,它有以下几个功能:
它不是单独使用的,它是作为ie的插件来安装使用的,而且需要结合Microsoft Script Debugger使用。也即IE Developer Toolbar + Fiddler2 + Companion.JS组合。这也算是还不错的ie下的js调试环境了。
废话不多说,介绍安装使用方法:
1、先下载Companion.JS安装文件,然后安装。
官网地址:http://www.my-debugbar.com/wiki/CompanionJS/HomePage
下载地址:http://www.my-debugbar.com/wiki/uploads/CompanionJS/install-companionjs-v0.5.3.exe
2、下载安装Microsoft Script Debugger,如果您的机器已经安装过了就可以免过这一步。
下载地址:http://download.microsoft.com/download/7/7/d/77d8df05-6fbc-4718-a319-be14317a6811/scd10en.exe
3、打开IE菜单“工具”–“Internet选项”–“高级”,找到“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(在Internet Explorer之外)”,将两个选项前面的对钩都去掉,然后重启IE。
4、在Ie中输入:http://www.my-debugbar.com/wiki/uploads/CompanionJS/dummy.htm,然后点击click me链接,如果左上角弹出一个小错误提示或下面控制台出现了错误信息提示,就说明您已经安装成功了。如下图。

spring在启动的时候,会默认加载会默认加载整个对象实例图,从初始化ACTION配置、到 service配置到dao配置、乃至到数据库连接、事务等等。这样可以减少web服务器在运行时的负担,但是对于开发者来说无疑是效率极低的一个设置了。
还好,spring提供了default-lazy-init属性,其配置形式如下,applicationContext.xml中:
< beans default-lazy-init ="true" >
< bean class ="org.xxxx.bean" >。。。。。。
</beans>
spring配置默认default-lazy-init为false,当配置为true时sping不会再去加载整个对象实例图,大大减少了初始化的时间,减少了spring的启动速度。
这样做只是为了在开发过程中节约启动时间,在部署到实际环境中,倒是没必要设置default-lazy-init为true。毕竟部署到实际环境中不是经常的事,每次启动1分钟倒不是大问题,而且可以提高服务器效率。
当然,也不是所有的beans都能设置default-lazy-init成为true.对于scheduler的bean不能用lazy-init
< beans default-lazy-init ="true" >
< bean class ="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
< property name ="triggers" >
< list >
< ref bean ="buildHtmlTrigger" />
< ref bean ="askTrigger" />
< ref bean ="mailSenderTrigger" />
< ref bean ="topicDetailBuildTrigger" />
< ref bean ="forumBuildTrigger" />
< ref bean ="topicBuildTrigger" />
</ list >
</ property >
</ bean >
</ beans >
这样的话。所有的scheduler就都不管用了。所以请大家要注意。
参考文献:http://hi.baidu.com/mefeng47/blog/item/03f2baeec41c623aacafd5e6.html
前几天在配置spring的listener的时候碰见了spring的listener这个参数,其形式如下
<servlet>
<servlet-name>SpringContextServlet</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
load-on-startup这个属性的意义是在启动的时候,有load-on-startup属性的servlet会被自动加载。load-on-startup从1开始到10,数字越小则代表优先级越高,数字相同的顺序则是随机先后的。
有两个方法:
注: 字串转成 Double, Float, Long 的方法大同小异.
有三种方法:
注: Double, Float, Long 转成字串的方法大同小异.
常见的方法一共有两种:
<package name=…>
<action name…>
<result name="success" type="redirectAction">
<param name="actionName">action11 </param>
<param name="namespace">/namespace11 </param>
<param name="param1">aa1 </param>
<param name="param2">aa2 </param>
<param name="param3">aa3 </param>
</result>
</action>
</package>
<action name="updateAction" class="userAction" method="saveOrUpdate">
<result name="success" type="redirect">userAction.do?id=${id} </result>
</action>
以上方法还可以用作在跳转的时候向jsp页面传值
1、jsp中如下编写
<input type="hidden" id="fid" name="fid" value="${firstId}">
2、js中这样引用
js中直接可以引用 fid 变量使用。如
window.location ="endcontrade.do?fid="+document.getElementById("fid").value;
如果传递的是一个数组的话,可以按如下方式引用变量
window.location ="endcontrade.do?fid="+document.getElementById("fid")[0].value;
1、jsp中如下编写
<input type="hidden" id="tradeid" name="tradeid" value="${id}">
注意:这个和jsp向js传值不同的是,这样写必须放在一个action form中
2、action中直接使用get方法就可以得到tradeid的值。
因为在定义表格时,使用了autoExpandColumn : ‘Colum’,使用自动延伸。而自动延伸的那一列’Colum’使用的是该列的id。之所以出现这个错误是因为,名为’Colum’的列没有定义。
在原来定义Colum列加上id
header : ‘Colum’,
dataIndex : ‘xxxxx’,
witdth : 500
即
id:’Colum’,
header : ‘Colum’,
dataIndex : ‘xxxxx’,
witdth : 500